CS & Coding

CS & Coding Courses

Prerequisites: None.
Recommended path
    Go with Harvard CS50 if you are looking for the most challenging and broad course.
    Go with MIT 6.0001 if you want to focus on learning Python in depth.
    Go with Berkeley 61A if you want to focus on Python but also want to explore schemes and SQL.
Course
Year
Description
Difficulty Level
Resources
Continuously updated
Harvard CS50 is likely the most well-produced MOOC of all time due to its amazing lectures, fun coding assignments, website, supplementary videos, discussion group and course material. In terms of content, it offers a comprehensive overview of CS (algorithms, data structures, web development etc) and programming languages (C, Python, JavaScript etc).
Easy-Medium
2016
Since CS50 is the most comprehensive intro course, it is also the most time-consuming. 6.0001 is a great course to learn about similar topics but more focused on practical coding in Python.
Easy
2020
6.0001 and 61A have a lot of overlapping content. The main differences are 61A also covers schemes and SQL, and 6.0001 further covers program efficiency, searching and sorting.
Easy
​

Supplementary Resources

Resource
Year
Description
Use
Harvard - CS50 YouTube Channel​
Continuously updated
One of the best places to find videos for intro CS topics. Whether web programming, android development or sorting algorithms, CS50 has tons of high quality playlists.
πŸŽ₯
2020
A complementary course that will help you understand and use various tools that are usually not discussed in CS courses: shell scripting, data wrangling, version control etc.
πŸŽ₯
2016
6.0002 is a continuation of 6.0001 and is a great introduction to topics in data science and ML with lectures on Monte Carlo simulations, clustering and classification. Compared to other intro ML courses, this course stays at a very high level and is better suited to make someone without prior CS experience comfortable with these concepts.
πŸŽ₯
FreeCodeCamp - Website​
Continuously updated
One of the best places to learning coding. FreeCodeCamp offers various self-paced programs for learning web dev, Python, AWS and more. Its YouTube channel and blog also house an enormous collection of resources on any topic that is CS related.
🌐 πŸŽ₯
Make School - Algorithms & Data Structures​
2015
Hands-down the best introduction to algorithms and data structures for anyone who has never learned about Linked Lists, Hash Tables, Stacks/Queues and Trees.
πŸŽ₯
sentdex - YouTube channel​
Continuously updated
One of the best programming YouTube channels, sentdex has a range of content on learning Python (and Machine Learning) videos that will answer all your questions regarding.
πŸŽ₯
Corey Schafer - YouTube channel​
Continuously updated
Another top YouTube channel for programming content. If you want to learn more about setting up your coding environment, Django and Flask, take a look at his channel.
πŸŽ₯
Brad Miller, David Ranum - Algorithms & Data Structures in Python​
?
This interactive book is a great resource for anyone who wants to learn more about data structures and algorithms in Python.
πŸ“šπŸ€–
Brad Miller, David Ranum - How to think like a Computer Scientist​
?
Another interactive book that lets you learn the basics of Python and gives you clear explanations of the technical concepts behind the programming language.
πŸ“šπŸ€–
​
Last modified 1yr ago