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:
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.
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.
