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.

🏁 Where to Start Learning

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].

🖥️ Computer Science Basics

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.

Computer Science Basics