Some beautiful paths can't be discovered
without getting lost.Erol Ozan
What I always say is that “Programming is neither so difficult nor too easy”. So, for learning programming, you don’t need to have much merit but you need to have a good amount of potential and passion towards programming like, “Yes, I have an interest in programming and I will learn that.”
I guess I had the same feeling at the beginning. I was so influenced to see a quote in my textbook saying, ”Most of the students waste their time by playing video games or doing social networking in their past-time, but some special students among them learn about programming in their school life and add a new skill to their skillset.” I just wanted to be the special one. From then, I determined to be a self-taught programmer.
I always make my decisions very carefully. So before learning to code, I browsed online and discovered that Python is not only the best language to learn but also it is easy and beginner-friendly. So, I started learning about programming with Python.
Since there are no shortcuts for success I searched for the longest youtube course on Python. After successfully completing Microsoft Virtual Academy’s (MVA) “Python Zero to Hero” course in 3 months, I learned the basics of Python programming. This course is very helpful for beginners.
After that, I thought that I learned everything about programming, and for that, I keep a distance from it for almost 2 months. But then, I realized that we should never stop learning. So, I subscribed to some popular youtube channels that make good python videos. Some of them are:
- Corey Schafer
- CS Dojo
- Sentdex
- Tech with Tim
- Clever Programmer
- Data School
- Edureka
- Hackerrank
Their videos are so resourceful and they are very helpful for beginner programmers. I used to see their videos regularly and acquire new knowledge daily as well as sharpened my previous Python knowledge. At the same time, I read a book on Python which is written in my native language. My suggestion is that everyone must read a programming book in their native language first as it will help them to understand the basic concepts of programming clearly. Then, I read an English book on Python programming “Python Notes for Professionals” which covers almost every topic of Python. I also cultivated a good habit of reading documentations. Believe me, It helps a lot.
After reading those books, I started to solve problems using programming. I created accounts in different competitive programming website and solved problems every day. Some of the websites are:
- CodeChef
- Code Forces
- Toph
- CodingBat
I also participated in different coding contests and hackathons. While I was seeing daily youtube videos and solving coding problems regularly, I read a book named “Data Structures and Algorithms in Python” written by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser.
This book covers Data Structures and Algorithms in Python very deeply with sufficient implementations. It took 2 months to complete this book. I also learned Object-Oriented Programming in Python, several standard libraries of Python, web development, a little bit of command line, and SQL database.
I also read a book on coding interviews called “Cracking the Coding Interview” written by Gayle Laakmann McDowell. This book is extremely useful and has smart solutions to multiple programming problems. This book is an essential tool in the coding interview process for even an absolute beginner in Computer Science.
I was so amazed by Artificial Intelligence and Data Science that I started learning that. I learned Numpy, Pandas, Matplotlib, Scipy, and some other python libraries for Data Science and currently doing a course on Deep Learning. Don’t forget to see my other blog on “Data Science Guidelines”.
In this blog, I have described my timelines for learning Python programming. I hope you will be benefitted too if you follow my route.
If you have enjoyed my writing and want to keep me motivated, consider leaving starts on GitHub, endorse me for relevant skills on LinkedIn, and follow me on Twitter. You can always hit me with direct messages.
In the end, please consider sharing this article with your friends/teammates who will find this helpful as well. Stay safe and keep learning :)