Hello, in this guide, I would like to share my plan for learning the basics of Computer Science, this plan will take about 2 years to master, since I chose the most basic topics, and did not touch on the rest, for example, computer networks, databases, computer architecture, etc., I tried to find a middle ground between the time spent and the benefit. And so, let’s go!
​
I already have several years of development experience, so I mean you know how to program as well before diving further. If not, then the first item is just for you, for the rest it is optional.
0–3 months (optional) — CS50, I myself once started with it, and I can advise it to everyone, it is really good, but personally, it took me about 4 months to complete it since I had to practice a lot with the C language, but the result worth it, plus you will get a lot of fun, very good videos, and interesting homework.
3–6 months — “Math, Functional programming” move on to discrete mathematics and take another programming course with an emphasis on functional programming. I personally studied discrete mathematics at Discrete Math for Computing. It has a good presentation of the material and a lot of exercises with answers at the end of the book, and there are also practical examples of what was learned.
For programming, I have not found anything better like CS61A from Berkeley https://cs61a.org/ I have not watched the video as it is faster to read the book https://composingprograms.com. I advise you to do all the exercises and projects from this course, for me personally it has improved a lot.
6–12 months — “OOP, Algorithms & Data Structures” we will master the OOP, and prepare for the algorithms. The best I found for this is this book: Computer Science, there are many exercises in the book, for additional practice, we take projects from here Projects. This course is based on this tutorial, but only students can access the course. A lot of practice and interesting tasks that you will not be ashamed to put on Github.
For algorithms take this Algorithms
Again, an excellent author, a lot of exercises, we take projects from here Projects
This is all, many topics have not yet been covered, but this is something that will always be useful to you, regardless of your specialization, I hope it will be useful to you like me, all the best, may all your goals and dreams come true in 2021.