Hi everyone, this is Aman Dalmia, a pre-final year student studying at IIT Guwahati. This blog post is a re-post from December ’16. As am shifting to medium, I wanted to transfer my previous posts here too. It illustrates the plans I had for the winter break, the various courses I planned to complete, the skills I intended to develop and a concise plan as to how should one go about learning the same.
I have my placements the end of this year and these posts were a start to my preparation for the same. But at the same time, it’s not only that. For starters, I had been contributing to scikit-learn, the famous machine learning library and had discovered my newly found love for Open Source since then. Also, for all those who love solving problems, solving algorithmic questions and improving your coding skills would seem more fun, than work. My plan covers the following topics — Open Source Contribution, Machine Learning, Preparation for ACM ICPC and some notes about my research project this winter on Deep learning.
The things that I am going to mention later in The Checklist may seem too far fetched, it seemed at first to me too. But after careful realization, I have observed that most of us don’t really make our 24 hours count. With better time management and sincerity at work, I believe ANYTHING can be achieved. This video describes how we can plan our entire day with better time management :
But before starting, the most important thing that one needs to do is — Set Your Goals. Without any concrete goals, you won’t be able to carry this on for much longer. I plan to do this for the long term, and that’s what you need to do too. To know how investing your time today is going to take you one step closer to your ideal self, there’s no bigger motivation. Last but not the least, it’s a good way to stay motivated by watching one such video first thing in the morning :
- Open Source Contribution — scikit-learn and Classical Language Toolkit — I have chosen these two organizations as firstly, I have already started with scikit-learn and loving it there and secondly, I am really interested in NLP (I prefer Python over C++ currently). You can choose any of the thousands of organizations by going through Github Explore.
- Scikit-learn User Guide and Examples — The user-guide and examples will help in getting acquainted with the commonly used algorithms as well as important parts of machine learning like data cleaning, feature selection, model evaluation and much more.
- Getting started with Kaggle — Kaggle hosts the biggest Data Science Competitions. I have found various helpful links that can help us get started. Let’s hope for the best there. You can find the links in the Relevant Links section below.
- Preparation for ACM ICPC — Although I could not make it to the regionals this time around, I am determined to prepare for the next year. I’ll be using Codeforces for practice and TopCoder, AtCoder, HackerRank, CodeChef for contests.
- Online Courses — Following the Google Student Guide , I have many courses to complete since I don’t have a Computer Science Major. I’ll soon add a link of all the courses I have compiled that I plan to complete by the next year.
Getting started with Kaggle
- How can a beginner train for machine learning contests
- Becoming a data scientist
- How A beginner used small projects to get started in machine learning
- Process for working through machine learning problems
- How to kick ass in competitive machine learning
- Discover feature engineering how to engineer features and how to get good at it
- Machine learning in a year
- Machine learning in a week
Preparation for ACM ICPC
- Introduction to Programming Contests
- Data Structures and Algorithms
- List of Topics for Programming Competitions
- The Hitchhiker’s Guide to Programming Contests
In closing, I hope this helps the person reading the post. I can’t guarantee that anyone will get placed in some XYZ company, because more than placements, this is for my personal development and I’ll be starting to work on the plan from today itself. I can promise this, that, on completion of the above tasks, one would become a much better programmer with a vast range of knowledge in Computer Science.
Cheers! To a better tomorrow :)
Originally published at amandalmia.weebly.com.