Wednesday, 27 May 2020

How do I manage Competitive Programming(CP) and GATE together?


This is a question that has been asked a lot to me by many GATE aspirants. For reference, I do CP quite on a regular basis. I am rated as Candidate Master(2026 Rating) on Codeforces and 5🌟(2060 Rating) on Codechef. I am AIR 3 in GATE CSE 2019.

So, let me start with the timeline of my four years in BTech. In the first year, I only focused on my college subjects and did very little programming on the platforms. I started my Competitive Programming Journey from the third semester. I consistently did practice questions on various platforms like Codeforces, Codechef, Hackerrank, and HackerEarth. There are times when you might spend multiple days on a single question but that's ok because it's important to improve your CP skills. I took part in many Intra and inter-college competitions. One must understand that you should do CP only if it's your passion otherwise you can easily get fed up by the dedication it requires. After my fifth semester, I got qualified for ACM-ICPC Kolkata-Kanpur Regionals and went there which was an amazing experience. However, during all this I never compromised my studies of my BTech subjects. I regularly attend all the classes and maintains a good CGPA(9.6/10). This is the only reason why I am able to prepare easily for the GATE.

I started my GATE preparation in the sixth semester. Though my concepts were clear, I needed proper guidance and a timeline for the preparation. Therefore, I took an online course in BrainStorm Achiever, New Delhi. My reasons for the online course were flexibility in watching videos, the option to skip the videos, or fast forward them according to my comfort level and avoiding the commutation time for the coaching. During the preparation period, I went for an internship at HackerRank, Bangalore.

Finally, for those who want to manage both CP and GATE together I would suggest learning your BTech subjects well because your GATE syllabus comprises of these subjects only and keep practicing CP questions as consistently as possible.

P.S: I intend to keep this post short for an easy read. Comment your queries(if any) in the comment box below.

Thursday, 7 May 2020

Programming Guide to Absolute newbies


I have got messages from many students in different years of their undergraduate asking for a direction to start in the world of competitive programming and subsequently achieve their career goals. Though I am not the best person to guide someone regarding this, I'll do my bit to share my experience with the aspirants out there.

For freshman (1st year students)


First of all, focus on your college curriculum. If you don't get satisfied with the teachings of your professor, try to find similar courses on MOOC platforms like Coursera, edX, udacity, etc. Learn a programming language like C++ or Java especially for competitive programming. You can also learn C, Python, or other development languages.
Some reference material for C++


For Sophomores  (2nd year students)


Some online materials for competitive programming are listed below:

Some online platforms for practice are:
CodeChef    |    Hackerrank    |    HackerEarth    |    Codeforces

Beyond competitive programming, one can also learn some development frameworks according to his/her interest including but not limited to:
  • Web development (Javascript, AngularJS, etc for FrontEnd and Django, NodeJS, etc for Backend)
  • Machine Learning
  • Network Security


For Penultimates (3rd year students)


This will be the internship and placement preparation year for undergraduate students. Here are some websites for preparation material for placements.
LeetCode    |    InterviewBit    |    GeeksForGeeks

Besides coding and development, one should also dive into some System Design concepts to land a job at good companies. Here are some links to learn System Design concepts:

Some students also want to prepare for higher study exams like GATE, GRE, CAT, GMAT, etc. Since I have cracked GATE CSE 2019 with AIR 03, I can suggest some tips for its preparation. To know more about GATE visit this link.