Skip to content
A repository with a selection of hand picked free courses from high quality universities that amount to a full Computer Science undergrad curriculum, based on 2019's MIT undergrad curriculum.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Be a self-taught computer scientist

This is a repository with the study planning that my wife Andressa and I have made. Our goal was to plan the equivalent of an entire Computer Science undergraduate program, based on the 6-3: Computer Science and Engineering 2019 MIT Curriculum, with only freely available courses. Pretty much every lecture is from top notch Universities such as MIT, Stanford and UC Berkeley. We also added some extra lectures that we will be watching as a complement to our studies.

The courses were divided in:

  • Introductory
  • Intermediate
  • Advanced
  • Extras *

* Extras not being included in the base MIT CS curriculum.



  • TU Delft: Pre-University Calculus - edX
  • MIT: Calculus 1A: Differentiation - edX
  • MIT: Calculus 1B: Integration - edX
  • MIT: Calculus 1C: Coordinate Systems & Infinite Series - edX
  • MIT: Mathematics for Computer Science (2010) - MIT OpenCourseWare **
  • MIT: Mathematics for Computer Science (2015) - MIT OpenCourseWare **
  • 3Blue1Brown: Essence of Linear Algebra - YouTube ***
  • MIT: Linear Algebra MIT OpenCourseWare

** These video lectures are from the same MIT course, one recorded in 2010, the other in 2015. Don't watch both, choose the one you like better.
*** 3BlueBrown is an YouTube channel.

Introduction to Computer Science and Programming


  • Cornell: The Computing Technology Inside Your Smartphone - edX
  • MIT: Computation Structures - Part 1: Digital Circuits - edX
  • Stanford: Algorithms: Design and Analysis - Lagunita


  • MIT: Computation Structures 2: Computer Architecture - edX
  • MIT: Computation Structures 3: Computer Organization - edX
  • Stanford: Algorithms: Design and Analysis, Part 2 - Lagunita
  • UC Berkeley: Operating Systems and Systems Programming - YouTube
  • Stanford: Introduction to Computer Networking - Lagunita
  • UC Berkeley: Introduction to Database Systems - Internet Archive
  • Stanford: Compilers - Lagunita
  • MIT: Distributed Systems - YouTube


Data Science and Machine Learning



  • MIT: Introduction to Probability: Part II – Inference & Processes - edX


  • MIT: Machine Learning with Python: from Linear Models to Deep Learning - edX

Artificial Intelligence

  • UC Berkeley: Intro to Artificial Intelligence - YouTube


  • UC Berkeley: Bitcoin and Cryptocurrencies - edX
  • UC Berkeley: Blockchain Technology - edX
You can’t perform that action at this time.