Tips to beat procrastination woes

You have an assignment deadline right on top your head, you should complete it ASAP. But still, what do you prefer to do? You switch to Facebook, surfing the web, videos on YouTube and then are caught in the spiral of Youtube videos and end up watching a video where a python swallows a goat, say whaaaaat? Procrastination is something which affects us all somewhere in our lives.

I think somewhere all of us are at a crossroad where we can either complete the task or say, “Chhodo, kal karengey”(Leave it, we’ll look at it tomorrow). Especially in college, I realized that if I could complete an assignment in two hours, I would rather complete it at night, which got postponed to the morning and in the end I completed it in the class itself.

Does that make you any efficient? A BIG NO. It doesn’t. Last minute panic might lead you to a state of nervous breakdown and you just might ruin your assignment/projects, etc. You never achieve your full potential and end up regretting and self loathing.Also, the procrastination playground is a place where leisure activities happen at times when leisure activities are not supposed to be happening so it basically makes you a potato.

Here are some tips which might help you deal with procrastination so you don’t have to face the panic monster again:-

1. Planning:

Procrastinators love planning because it provides them with a feeling that they’re doing something, when they’re actually not. So I would suggest effective planning. Jot down a list of easy tasks which are easy to complete before jotting down more. A big list of daunting tasks would rather encourage you to not to start at all. Check each task once you’ve completed it. Remind yourself with the help of reminders, post its and To-do lists.For example, if you need to complete various assignments, jot down a particular number of questions to be completed in one day and work upon that.

2. Actually Doing

Well, this is the hard part. Take a deep breath and start with your job. If you think rewarding helps then reward yourself once you’ve completed certain tasks. Treat yourself to an ice cream or an episode(ONE EPISODE) of your favourite TV show after completing a couple of questions of your assignment. You try doing the entire assignment in one go and you get stuck at one test case which just doesn’t seem to budge? A wiser thing would be NOT completing the entire job in one go, and that too at the last moment. Take short breaks between tasks, this will not only refresh your mind but also give a newer perspective at tackling the problem.

3. Break down your tasks

So you think that programming is the skill of the century and teaching yourself to code is the ultimate priority, right? You have “Learn how to code” as your top priority, but every time you look at it, you coincidentally decide to clean your cupboard or your email.It’ll never end up this way. Go for slow steady progress. Novels are written one page at a time.

Break down this big daunting task into simple tasks: Research on how to work upon it:

Daunting task
Easy steps to success

4. Turn off those notifications

Every time you sit down to write codes for your assignments and those sneaky little Facebook Notifications pop up ?Someone sent you a candy crush request and you think the world would collapse if you don’t check your FB page to check it? Anything which distracts you when you’re working is like opening a door to procrastination. To stay focused on your tasks, block anything which even mildly divides your attention. Meanwhile to block notifications on chrome, follow this link –> Block notifications.

I hope these tips help you beat your procrastination woes. To be honest, this post took me more than a while because I was caught in a spiral of Tastemade videos when the truth is I don’t even live in the vicinity of a kitchen. Teehee.

Coding Ninja launches Competitive Programming Online Course

Coding Ninja has raised its bars to yet another course, we’ll be launching Eminence the online competitive programming course from 1st October. Registrations are open, the early bird discount lasts till 20th September. Grab it now!

Why is Competitive programming important? Competitive programming is one of the hottest topics right now. It not just helps build your skill set for your future internships/jobs but it will also help you in creating efficient programs, appreciate algorithms and build proficiency in a language.

If you are thinking that spending hours on algorithms and techniques which you might never use in real life programming is worth it, then think again. Competitive programming will enhance your skills to an adept level. If you need self-assessment and motivation, this is the best platforms to start with. It will provide a competitive environment for your neat codes, and who doesn’t like competition?

Once you start spending time on algorithms, programming and advanced concepts will come easily to you. When you’ll code intensively, you won’t take a lot of time grasping new concepts in future. Competitive programming will bring a solid base of computer science knowledge which will reap you great benefits in future and learning a new concept will come to you relatively easier.

By continually moving to cover what companies require in an engineering talent, Coding Ninjas intends to create an environment where students feel confident what they learn. It is very excited to announce the newest online course, Eminence which will help hone programming skills. A number of algorithms including complete search, divide/reduce/transform and conquer, greedy, dynamic programming will be covered in detail. Programming language libraries will also be covered. Besides this, domain specific techniques like graph, mathematics related and computational geometry will be taught. Other topics include number theory, advanced data structures and bitmasking. For complete topic wise class breakup, refer to lecture breakdown here.

The course instructors will be Ankush Singla, a code enthusiast from IIT Delhi and Stanford, and Parikh Jain the “ninja” of competitive coding from DTU.

 Eminence

Code your way through Competitive programming!

If you’re wondering how to be an ace programmer, then one of the best ways to do so is through competitive programming. Topcoder, Hackerearth, SPOJ, etc all must ring a bell, these are sites that provide high-quality problems to you that are a little difficult to crack. Competitive programming needs a slightly different approach than regular programming.

How is competitive programming different from normal programming?

I got this excerpt from a popular Quora answer which could answer it best:

Answer for: How is competitive programming different from normal programming?

This basically tells us that in developmental programming, we need to write an efficient code. However, competitive programming requires a code which “just works” with the given conditions.

So, what exactly do you need to “kill the lion” in 2 minutes?

  • You need to know the basics of a language, pick any, C++ or Java, whichever you’re comfortable with.
  • Pick an online judge. Some popular ones are: topcoderSPOJcodechef and hackerearth.
  • Start with simple problems such as Div 2, 250
  • Practice these problems thoroughly such that you earn around 240 points a day.

Sounds easy? Well, for those of you who have tried a hand at it must know that TERMS like TLE(Time limit exceed), MLE(memory level exceed) and WA(Wrong answer)  are so good at giving NIGHTMARES!

How to be a Ninja Competitive programmer?

To gain crazy ninja skills at competitive programming, one needs to have a grasp of a few specific topics.

Topics mostly covered in contests are:

  1. Graph algorithms: Breadth first search (BFS), Depth first search(DFS), Strongly connected components (SCC), Dijkstra, Floyd-Warshall, Minimum spanning tree(MST), and Topological sort.
  2. Dynamic programming: Standard dynamic programming problems such as Rod Cutting, Knapsack, Matrix chain multiplication, etc
  3. Number theory: Modular arithmetic, Fermat’s theorem, Chinese remainder theorem(CRT), Euclidean method for GCD, Logarithmic Exponentiation, Sieve of Eratosthenes, and Euler’s totient function
  4. Greedy: Standard problems such as Activity selection
  5. Search techniques: Binary search, Ternary search, and Meet in the middle
  6. Data structures (Advanced): Trie, Segment trees, Fenwick tree or Binary indexed tree(BIT)
  7. Bitmasking
  8. Game theory: Basic principles of Nim game, Grundy numbers, and Sprague-Grundy theorem

Our newest online course Eminence indulges in all of these so-called tricky topics just so that can ace that programming contest in just three months.  Eminence will be taken up by Ankush Singla who has a Bachelor’s degree in CS from IIT Delhi and Masters in Computer Science from Stanford University; and Parikh Jain, the “ninja” of competitive coding who holds a degree in CS from Delhi Technological University (DTU). Register now to book yourself a seat in a course that will brush up your competitive skills to a whole new level. 

 Eminence

Adventures with Android

Ever look at all those fascinating apps on the play store and wonder if you could ever have your name beside one? The key to all those apps is Android development. Let’s get a better idea about Android app development and how it is perfect for you and your skill sets.

Android is basically an open source platform which connects over millions of devices around the world.  For a developer, this basically means that you have access to the source code of the platform. With the source code, you can understand how the interface works for the app. Also, if you’re lucky enough you can find a bug and report it.

The industry wide support is humongous and the Android community is super friendly and helpful. Using Android, you have the power to build wonderful games, books, movies, music, and apps of course and share it openly. 

Why Android?

The growing trends of 2017 suggest that Android has definitely overpowered iOS, reasons it being economical and open source.

If you are looking for something where you won’t have to spend a lot of money in the development, then brace yourselves. Android has almost zero developmental costs. The development tools are free and easily available, and Google only charges a minimal fee to launch applications on the Android market.

You have the freedom to innovate. Besides developing an application, you have the full fledged freedom to extend or contribute it further.

Android developers have the freedom to collaborate. The developers are encouraged to share their source code between each other. They do not sign an NDA(Non-disclosure Agreement).

Android has an open distribution model, which simply means that not only developers are encouraged to share their source code with each other but you can do so via other distribution channels also. The development can be done in any hardware devices be it Mac, Linux or the good old Windows.

Pre-requisites:

To develop in Android, you just need to know the basic data structures, OOPs concepts  and programming.(Join our Foundation courses to do so by registering here).  

Image result for Android studio

Why our courses?

Our Android Development courses are amongst the best. This course will gradually guide you through the process of turning your breakthrough app idea into reality.Say goodbye to old school learning because we are here to provide hands on learning to you, develop apps in every class. Our courses are extremely interactive, you will start working on your app from the very initial classes. Exciting Hackathons will take place from time to time to keep your skills up to the mark. Not only this, everyone will get to work on super exciting projects!

 By the end of this course, you’ll be able to:
  • Make apps not only in Java but also Kotlin
  • Learn to build a brilliant UI
  • Use animations and sensors to make your apps top notch
  • Use backend services like Firebase Cloud Messaging
  • Link third party sites such as Facebook, Gmail to your apps
  • Last but not the least, launch your app on Play Store and make it available to millions of users worldwide

Build your expertise by making apps, games and so many cool projects. Enter the world of play store with us, new batches of Envision(Android App development) are commencing soon. Register here!!

 

Tips and tricks to gear up for this placement season

It’s interview season and it’s crunch time! With the placement season a month away, the panic mode is on and a lot of you will be sitting for your placement and for internships this time.

Most companies look for students having past experience in various internships and building projects. The kind of exposure that gives is difficult to attain inside a classroom. If you don’t have that, don’t fret too much! Campus interviews can be intimidating and you’d be sitting for the first time so don’t let the anxiety get the better out of you. Here are some tips and tricks to stay ahead of the pack and crack your tech interviews!

1.Ace that written exam:

Most companies start with a minor written exam or programming test before moving on to the interview part. Though this part is underestimated but needs a whole lot of attention from you. Start getting a headstart at this by practising a whole lot of questions. Take mocks for the aptitude and logical section, speed is a hurdle which can only be overcome by practice.

2. Build your communication skills

Even if you’re going for the role of a software developer, you can’t slack on roles of being personable and responsible. You should be able to express what you think to the recruiter. Show your enthusiasm and passion about the company. Practice with your peers for common interview questions to get an edge at group discussion. All in all, get comfortable with public speaking, this will help you deal with slippery situations. Try building your vocabulary and yes, please do read the newspaper.

 The tech interview

You will be required to solve a couple of questions. Try practising on a whiteboard, you can be so used to the compiler that you might just forget the syntax of initializing a variable when writing a code outside. Study your data structures and algorithms, read books, solve questions and use other resources.

Know your project

Your project is something that you must have put your heart and soul into. So, naturally, the recruiter expects you to know the nitty-gritty of it. Explain your project nicely, the hurdles you got caught into and how you overcame them while making it.

Think of the bigger picture

When solving a coding problem, even if you make a minor mistake, don’t panic, keep your calm and stay focused on the problem. Take a deep breath, you still have the rest of the interview to go through. The recruiter will most probably ignore the minor error, he’s there to check your problem-solving skills.

Be Honest

The recruiters must have a long experience of interviewing a lot of candidates so they are surely masters in this. Try to make your resume glitch free. Be honest with your answers, if you don’t know the answers, just say it, it’s not a college viva that you’ll get away with saying any bullshit. The interviewers already know the answer before they ask the question.

Ask Questions

Be vocal with your doubts. If you have any doubts, regarding the questions such as edge cases, etc, ask them and how they need to be treated. Avoid making any assumptions. Even if you think it’s pretty safe to assume something, try asking the interviewer first.

Give mocks and learn something new

Trap someone you know into taking your mocks. JK, take their mocks too. Get feedback regularly, and try overcoming minor glitches during the mocks.

Interviews are also a learning experience, and with every interview, you would definitely learn something. Instead of getting anxious over it, try treating it as a goal to learn something, have fun, treat your interviewer as a colleague you’d like to build an amazing app with, this would exude your passion about coding that got you in it at the first place!

Also, I may sound like your mother, but please get a good night’s rest before the D-day. It would double your efficiency!

To prep up with our help, sign up for our Interview Preparation courses here and avail your free trial for our online course NOW!!

Kotlin: A beginner’s guide

If you’ve not heard about it before then hear it now! 

From Google I/O 17, Kotlin has been added as the official programming language for Android development!

Hearing the word “Kotlin” for the first time?

Kotlin is a super new and a super cool programming language. Developed by JetBrains which also developed the JetBrains IDE that Android Studio- Google’s official developer tool is based on. (Woah??!1!)

If you’re too scared thinking that it would replace Java for Android? Fret not! Java is not going anywhere and it will stay here.

Also, if the thought of learning a new language scares you, then there’s good news because Kotlin is very similar to your best friend Java; object-orientedstatically typed and designed for similar problems.

So, Why Kotlin?

Some features include:-

1.Kotlin tools will be included with Android Studio 3.0, so you don’t need to worry about downloading anything.

2.Google and Jetbrains, both pledge to support the language wholeheartedly

3.It is very compatible with Java. This means you can mix and match both Kotlin and Java into your project.

4. It is a concise language so IT drastically reduces the size of your code

5. Hate when you see Null Pointer Exception as an error? Well, Kotlin is here to solve it for you.

On top of all this, Kotlin has already been accepted by major developers like Pinterest, Expedia, Square and others for their production apps. It’s a clean, concise language.

Start making your first app in Kotlin by joining our Android Courses!

Happy Developing 🙂

BE THE NINJA AMBASSADOR IN YOUR CAMPUS!

Do you have the panache in you that sets yourself different from your peers?

Are you good at organising events in college(mass bunk also counts)?

Are you well connected and spend most of your times juggling societies and clubs in college?

Does your social game make your friends insecure?

Do you wish to get those extra points on your resume and that too in a fun-filled way?

If you answered most of these questions with a straight YES then what we have for you is exactly what you need. 😀 Coding Ninjas has launched their Campus Ambassador program for students ready to hone their Marketing and Leadership skills. Let’s add more Ninjas to your community!No automatic alt text available.

Eligibilty Criteria?

You need to be in a college, duh!

What we need?

  • All we need is for you to organise hackathons and talks(pre-placement) which are to be conducted on your campus.
  • Promote us on the college campus through posters(Offline), and Social media marketing(Online).
  • Maintain a database of your peers of all batches
  • Promote and associate us in cultural and departmental fests
  • Encourage your peers to use our very own CodeZen as a programming platform in your college

What you get?

  • Free merch!!
  • Extra points on your resume because we’ll provide you with a certificate on completion of your term
  • Linkedin recommendation to all eligible candidates!
  • special bonus to the Campus Ambassador of the month
  • An exposure of working with a start-up
  • A wonderful opportunity to become a part of Ninjas(Internship/TAship)
  • Interaction with experts professionals and get guided personally
  • Meet targets, and get our online courses absolutely FREE

Not only this, but also

If you write blogs for us, we’ll feature you on our website.

An out of the box idea will get a big SURPRISE from us.

Apart from this, you’ll get an amazing opportunity to expose yourself in the startup world, interact with expert professionals and communicate with other College Ambassadors to experience the life and culture of other campuses.

Come make the best of this opportunity and the join the wonderful Campus Ambassador Community to polish your marketing and Leadership skills!

Register here!

Debunking The Myths About Coding!

“Coding is difficult, programming is not everyone’s cup of tea, you can’t…”, blaah.. blaah.. blaah! Things keep coming, don’t they? Wherever there’s a fact there’s always a myth surrounding it too. In fact, Science has always begun with myths and with the criticism of myths. The thing about myths is that they are dangerous. Why? Because they stop progression and pull you back. So we’ll debunk such myths that are holding you back from becoming a successful programmer.
Related image
Programming is for geniuses. I am an average student, not my cup of tea.
No! Not at all! Learning to code is not like jumping into the sea without knowing how to swim. Being a coder is more about your logical thinking and problem-solving abilities than your domain knowledge and smartness. For sure there’ll be problems in the world that only a handful of developers may be able to solve, but in general, all it requires is your dedication, sincerity, creativity and common sense.
Image result for difficult gif
Oh and yes, you’re smarter than you think, so stop underestimating yourself and get out there and code.
 
Okay, I’ve convinced myself to code, but I’m sure I’ll never be able to catch up.
This is a common mindset that prevails in every new developer’s heart. Programming is an ocean of concepts, I’ve taken a plunge but how will I cross it? How will I catch up with the people who have been working on these challenges for years and years now? etc. To be frank, that’s the beauty of programming, you’re never really stuck up. It’s a constant learning process with tools, technology, and new languages coming up every day. So, what is the way out? Get the fundamentals right, throw in your own style and thought process, stay at par with the latest coding standards and tools and TADAA!!! You are killing it!
Related image
Coding is only for computer science graduates.
One of the biggest myths ever! A big NO to that. Coding is for everyone. A degree or a certificate is not required to become a developer. In fact, the stats prove that 70% of the developers are self-taught! For instance, a stupid Electronics and Instrumentation engineer like me today writes code to fetch and analyze the data of Fortune 500 companies by creating models to give them insights and business strategies! Never did I learn to code, it became a necessity and it just happened! Hence, I say learning to code is not really a big deal but your patience and perseverance are what need to be big here.
Image result for coder gif
I must only learn the best programming language
There is no ‘best programming language’ as such. The best language is the one which suits your purpose. You cannot build an Android App by learning SQL fundamentals, can you? Obviously not. Choose your language with a purpose in mind. However, there are good languages to start off with learning how to code. Python is one such language, which is highly appreciated by the masses for their ease of readability, complexity and flexibility.
Image result for best gif
Coding is not for the fairer sex!
Let me be upfront here, I’ve met several women coder in my life and let me tell you al of them are kickass! The rise of women coders throughout the world is an evidence enough to prove how they are racing all the way into the tech domain. Ada Lovelace, Grace Hooper, Marissa Mayer… you name it. Be it any field women are making their mark equally. You go, girl!
Image result for girl coder
The road won’t be easy, your path will be strewn with difficulties and challenges but winning over them is what makes a Coding Ninja doesn’t it? Get-set-code!

Stories Behind Famous Programmers

blog_famous_prog
‘Hello world!’, remember this output from the first program you ever wrote? I do, I’m sure you do too! Making the computer work on your instructions is a feeling that is inexplicable! So much control, power and exhilaration, ain’t it mate? Computer programming has come a long way over decades and changed the face of technology.This is a known and a well-accepted fact. But behind every successful phenomenon ( as I would like to call it) are a group of crafty hands who moulded it to perfection. These programmers were the biggest contributors to the path-breaking computer revolution and we’re here to give you a sneak peek into their lives.
 
“UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.”
Image result for story of dennis ritchie
The golden words by none other than the Father of Modern programming language, Dennis Ritchie. His contributions as the creator of C programming language and co-creator of Unix were monumental. I can’t even begin to admit how indebted we are to him. For us, our entire universe revolved around C when we heard the word programming. Widely used in application developments, embedded systems and operating systems, C has a major influence over all the modern programming languages. Such a humble beginning and such a great impact I must say!
 
Ada Lovelace
This beauty with brains wrote the first algorithm ever. She gave us hope, she showed us the way to this glorious future! An English mathematician by profession, Lady Lovelace wrote the first algorithm for Charles Babbage’s first general purpose machine called the Analytical Engine. She has always been an inspiration for the female coders and we salute her.
Bill Gates Photo
A billionaire, a business magnet, a philanthropist, a magician of the codes, PC Pioneer and the co-founder of the world’s largest personal computer software company. There aren’t enough words to describe this man who opened the ‘windows’ of the next level of software technology for the world. Believe it or not, for the first five years, he literally oversaw each code that went into the production! Such commitment, much wow!

Image result for bjarne stroustrup biography

We owe C++ to this man! A Danish scientist who brought this wonderful language into our lives. Not only did he invent it but also helped it to evolve through stages. Turn to your basics of the C++ textbook and you’ll remember it all!
 
He created one of the most sophisticated and user-friendly languages which are widely used everywhere today. Still trying to remember? Okay, it’s like a new student’s buddy for life and a data monger’s half girlfriend (:P). Still confused? Okay a final one, the language shares it’s named with a ferocious reptile. There you got it, Python! He developed Python while working at Google and later joined Dropbox.

Image result for niklaus Wirth
What is common between languages like Euler, Pascal, Modula, Modula-2, Algol W,  Oberon, Oberon-2, and Oberon-07? They were all created by this pioneer of computer languages. Right from designing PL/0 which created the foundation of compiler design classes in universities to creating operating systems like Lilith and Oberon, this man did it all! Due to his innumerable contributions to the field, Wirth was awarded the prestigious Turing Award.
The name spells it all! Someone who created the biggest internet sensation of all times sitting in his dorm room. Nothing more, nothing less, this person is a sheer genius and today as we know it, Facebook is one of the world’s largest firms with multi-billion $ profits. We practically get up and sleep to Facebook notifications. This Harvard dropout is an employer everybody wishes to work for! Remember how he built a real Jarvis for himself with some complex and stupendous machine learning, IOT and AI efforts? What a time to be alive!

It’s not the language but the logic that matters

You cannot just start speaking Chinese if you don’t learn Chinese, can you? The thought of even picking up a ‘Dummy’s Guide to Chinese’ haunts you for life. But you’d love listening to a Chinese folklore in your language for that matter. So what is more important? The language or the rich cultural heritage and the beautiful stories that can be conveyed to you in any communication form (verbal, written, visual etc.)?
Image result for confused gif
Such is the age-old debate on the importance of programming languages in programming. Some say that the syntax is the soul of a language, while some argue that the logic and concepts are what really matter. Me? Well, I rest my faith on both of them partly and my version of the answer to the question is that the concepts have a higher hand than the language itself in programming. Why? Let us see:
Image result for well yeah gif
 
The commonality between languages:
All programming languages have one thing in common, the logic for solving a problem remains the same in every language. For instance, if you’re designing a calculator, the addition logic will not become a division with the change in language. A regression model built in R will not differ in logic when built in Python. This commonality brings all the languages together with a common aim of solving problems.
Image result for logic gif
 
Framework
For any computer language, you learn it’s framework, not just the language. The inbuilt functions, tools and overall form fitting of logic are what is more important in a language than the look and feel of the syntax. You can learn the formatting easily, but the framework is what will ultimately get your shit done!
Image result for logic gif
‘Coz logic is the key to everything
Once you ace the logic, you gain the super-powers to do anything. All that a programming language needs is love, your unconditional love for logic. Once you understand and know how to implement a logic to get the desired output, you’ve done it. You can then open up any language and all you need to do is change the syntax and not the logic. Long story cut short if you’ve enhanced your logical abilities you can learn any language. All that is needed is your sincerity and dedication.
So folks, what did we learn today? That programming languages don’t matter? – Nope, It’s not the language but what you aim to achieve through it is what matters. So get going and code, no stopping! Cheers!