If you are just starting out, we recommend you build your knowledge from the basics up, working on your foundations before trying to learn more complex topics.
There are plenty of high-quality courses out there, but we recommend Harvard’s CS50 (12 weeks), consistently mentioned as one of the best resources available to start your journey.
CS50: Introduction to Computer Science
If you want to start learning about Data Structures and Algorithms (4 weeks), we recommend the Udacity course, which was built by Google. The second, more advanced resource we recommend is the UC San Diego specialization available on Coursera (8 months).
Intro to Data Structures and Algorithms | Udacity Free Courses
Data Structures and Algorithms
If you prefer learning resources that are not based on videos, we recommend:
We recommend you solidify your knowledge by reading more about specific topics you learn using one-off articles or videos you find on the Internet. Repetition is key to understanding, and finding an article or video that resonates with you is very important.
As always, if you have any feedback, we would be more than welcome to hear it - email [email protected].
Regardless of which resource you chose to follow, in the “Computer Science Basics” database below, you will find topics we recommend you learn if you would like to apply for junior roles at big tech companies. We added a tag for knowing which are crucial and which topics are less important.