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!

Why Coding should be taken as a skill rather than a subject?

skill_blog

A night before the data structures exam, I’m biting my nails and cursing why did I have to choose engineering, planning a strategy on what topics to leave and what to study, just enough so that I pass this semester without a back. I’m sure I’m not the only one who does this. All-nighters are the only way we know how to study in college, cramming the subject just the night before the exam.

Most people literally cram entire codes to topics a night before the exam. Guys, you are legends! But the fact is in the long run, this won’t help you. The more you cram, the less you’ll remember what it was about. Also, in the next semester, when a bigger version of the subject appears, you’ll start again with the same old cycle of cursing the subject, your decision of taking the course, the education system and so on.

Programming, instead of rote learning it as a theoretical subject, should instead be approached more practically. It should be understood and the codes should be practised instead of cramming. The concept of syntax, dealing with a problem through a particular method, and the “logic” should be understood. If you’ve done this bit, I bet you don’t even need to open the book before the exam(but please do).

Before I enrolled in the course at Ninjas, I didn’t even know that there was an actual code for Hashing ( I possibly must have left the entire chapter then :p) possibly because I thought it did not carry enough weightage for the exam. But I was so wrong.

Coding Ninjas not only teaches you a language, they teach you how to study. They start with absolute basics so that even newbies who don’t  know “hello world” can relate to the subject. The classes are loaded with brain teasers to kick start your brains, short teaching sessions and more questions to practice so that you focus on problem-solving instead of cramming. They don’t focus on the language or syntax but most importantly on how to approach the problem so that you can do the same for any other language. All of this, not only fascinates you but makes you fall in love with the world of programming.

Subjects which used to be complicated and scared you till death will now look like a piece of cake. Not only this, imagine actually creating something from scratch. Now imagine, a lot of people actually using “that” something which you made. Sounds like magic? Well, it is! This is what programming does for you. Your favourite app or the website that you love to browse are all things essentially based on programming.

To quote Ankush sir, the most empowering moment of his career was when he and his team launched the Facebook timeline and more than a 100 million people used it on the very day it was launched!

Get inspired. Start programming today to build something amazing for tomorrow!

PS: The weightage of hashing? Well, it’s supposedly one of the most frequent questions asked by Amazon. Don’t make the same mistake. :3

How to master a language inside out?

If you’re a newbie coder and slightly struggling with programming, don’t fret too much! Coding can be slightly taxing at first, especially when you are new to it. But once you make sure that you give it enough time and work, you’ll love it!

So, let’s face it, you want to learn a language, and there are so many ways you can do that, but the question is how can you really master a language? “Master” is a heavy word, but today all those bigwigs are actually looking for expertise coders. Besides, programming can be really stressful if you don’t approach it with a right mindset and attitude.

So, here are 7 ways to master a language inside out:-

1. DON’T DO IT IN ONE NIGHT

The idea of learning a skill overnight is exhilarating, yes! and being so used to those “all nighters” for college examinations can make us think that that’s the only way to study, but NO, trying to cram programming overnight can be a big mistake.

One needs to take it one session at a time, giving every session ample amount of time and using it more practically than mugging up the theory.

2. ENROLL IN A COURSE

Of course! What’s better than enrolling yourself in a course where you have amazing mentors to guide you, newbies like yourself to get along with, and TA’s to assist you through every step. An environment of healthy competition and learning in a group will not only keep you highly motivated, but you’ll also learn at your own pace.

Register for our courses  here!

For all those who are too lazy to get out from their houses(it’s the heat, we don’t blame you!) or people who live too far from our center, we have this awesome option for you, ONLINE COURSES! with amazing features like adaptive learning, individual TA support, and lots more! (A little bit of promotion never killed anyone!)

3. PRACTICE! PRACTICE! PRACTICE!

Well, who doesn’t get a hard time from the semicolon and the brackets?! If you don’t have any prior coding experience, the number of syntax rules in any coding language can make your head go for a spin. The best approach to this is practice, one needs to practice a lot of questions and over a period of time, those silly syntax rules will come naturally to you.

One needs to take practice seriously, solving a lot of questions will definitely build your expertise in the field and your approach to solving questions will develop, turning you into a Code Genin.

4. IF YOU CAN’T EXPLAIN IT, YOU SIMPLY DON’T UNDERSTAND WELL ENOUGH

A very interesting approach to learning anything is the Feynman approach, based on the great physicist Richard Feynman who believed that the best way to grasp something is by breaking it into simpler concepts and teaching it to someone.

Explaining things to someone else will help you analyse your weak areas and will definitely solidify the concepts in your mind. It will help diagnose the weaker niches and compel you to learn things better from a newer angle.

5. JOIN COMPETITIVE PROGRAMMING

One sure wants that edge when they’re learning the language, don’t they?  To get that extra panache in your coding realms, one must start with competitive programming. Competitive programming is a mind sport taking place in particular forum involving participants to program according to provided specifications.

Competitive programming will allow you to code under tight specifications. This will strain you brain to think under constraints, increasing your skills exponentially! Also, coding in an environment of healthy competition will keep you glued to it.

Join the world of competitive programming at CodeZen, Stand out in the leaderboard and win amazing cash prizes!

6. PLAY WITH PROJECTS

Once you’re comfortable with the language, syntax and the concept, it’s time to put those skills in to use! For absolute newbies, think of  a simple game like Tic-Tac-Toe, Othello, to head start with your skills. Building even a small project will not only build your confidence but you’ll know exactly how to apply your newly acquired knowledge actively.

Be creative! Code something that interests you or what you’d actually want to use. Projects will help you retain a lot better and will interest you at a very personal level.

7. DON’T PANIC!

Relax! It’s not you, it’s programming.

Programming can be a little intimidating and it’s okay to struggle with it. The important thing is to keep yourself on track and keep trying. Ask help when you need it, try different resources and keep recalling previous concepts. Give it a little time, and it will surely come your way.

Embrace your bugs and errors. Learn how to debug and avoid them in future. Practicing can help you build confidence, and that will keep you away from stress.

Your ultimate cheat sheet to do’s and dont’s at an interview

Is there a magical formula which cuts into the interview and gets you hitched with your dream job? Nope, none as yet but what you do have is a set of do’s and don’ts which should which helps you to ace the interview. So let’s take a quick look at them:
do

Dress well: An interview is a formal meeting, you will get judged by your clothes. You cannot just expect the interviewer to applaud you if you walk in with your checkered boxers and crappy hair. Dress well, be poised not too gaudy neither too shady just a mix of decent colors and what suits you well. You may cross my statement by saying startups these days do not care what you wear. Of course, there is casual clothing allowed at startups and big firms too but you are going for a job interview, not a pool party!


Image result for suit up gifs

  • Plan to arrive early: Getting to the venue at least half an hour early is always a plus. First, you do not have to panic about getting late and second getting used to the surroundings and people calms your nervousness down.

Image result for late gif

Have a firm handshake: Your first impression is the last impression. Walk into the room with grace and your head held high. There is nothing to be ashamed of, walk in your stride and have a firm handshake with the interviewers.


Image result for firm handshake gif

Tailor your resume and conversations well: Your resume should be ready to suit the job description. Same goes for your conversations do not talk or mention irrelevant stuff. Have contextual conversations around the skills and job. The interview is about you and your skills and you should leave no stone unturned to tell how you’re a perfect fit. Talk about your experiences and recent internships, get them interested into what else you do outside the box.


Image result for smart talk gif

Ask questions: Do not hold yourself back. Your inquisitiveness may be the road to your success. When the interviewer asks you whether you have any questions or not, do not shy away. Ask about the company, ask about your job make them feel you’re actually interested in the job. If you get a chance to take their mail id or so, write back to them about the great experience you had.


Image result for asking questions gif

dont
  • Do not overdress or underdress.
  • Never-ever-ever be LATE for an interview, puts your punctuality and sincerity at stake.
  • Being confident is good but over confident is not.
  • Retrain from blabbering, listen carefully and answer. It’s okay if you do not know an answer, beating around the bush and wasting both your and interviewer’s time is not a good move.
  • Do not be afraid, the interviewers will not beat you up. I know this is easier said than done. I’ll give you a quick tip- look at the interviewers while talking but defocus them or look at the gap between two eyes. This ensures eye interaction and also does not make you nervous.
  • Do not have a lanky posture and do stuff like moving your legs and rubbing your hair. Walk on your heels, do not drag. Sit upright, no crossed legs or folded arms.
  • Do not be casual and use the jargons we millennials use every day in our lives. No ‘I wanna’, ‘I Gotcha’, ‘Sumfin’ or facebook and Whatsapp language are permitted. Be careful of what you speak.
  • Do not let your talks go haywire. eg. You are applying for a data analyst position and talking about your in-plant industrial skills will not be making sense. Have contextual talks, add your own elements and make it interesting.
  • Don’t inquire about salary, vacations, bonuses, retirement, or other benefits until you’ve received an offer.
Atta boy, soldier! Confident much eh? Wait until you nail your next interview!
Image result for suit up gifs