Improve your programming skills in 2021

Dmitry
2 min readDec 29, 2020

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 — We are studying 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.

4–8 months — “Math and 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.

8–12 months — “Java programming” 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 https://www.cs.princeton.edu/courses/archive/fall20/cos126/assignments.html. 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.

12–18 months — “Algorithms and data structures”. Our main book for the next six months is https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X

Again, an excellent author, a lot of exercises, we take projects from here https://www.cs.princeton.edu/courses/archive/fall20/cos226/assignments.php

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.

--

--