Home

Awesome

The Python Open Source Computer Science Degree

This is a curated list of free courses from reputable universities like MIT, Stanford, and Princeton that satisfy the same requirements as an undergraduate Computer Science degree, minus general education.

Computer Science Basics

CoursesSchoolDurationEffortFrequencyPrerequisites
Intro to Computer ScienceHarvard10 weeks10-20 hours/weekself-pacednone

Programming

CoursesSchoolDurationEffortFrequencyPrerequisites
Programming for Everybody (Getting Started with Python)University of Michigan4 weeks4-6 hours/weekself-pacednone
Python Data StructuresUniversity of Michigan4 weeks4-6 hours/weekself-pacedProgramming for Everybody (Getting Started with Python)
Using Python to Access Web DataUniversity of Michigan4 weeks4-6 hours/weekself-pacedPython Data Structures
Using Databases with PythonUniversity of Michigan3 weeks4-8 hours/weekself-pacedUsing Python to Access Web Data
Capstone: Retrieving, Processing, and Visualizing Data with PythonUniversity of Michigan2 weeks4-6 hours/weekself-pacedUsing Databases with Python
Alternative
CoursesSchoolDurationEffortFrequencyPrerequisites
Python 3 Programming SpecializationUniversity of Michigan5 months7 hours/weekself-pacednone

Math

CoursesSchoolDurationEffortFrequencyPrerequisites
Calculus 1A: DifferentiationMIT12 weeks6-10 hours/weekself-pacedpre-calculus
Calculus 1B: IntegrationMIT15 weeks6-10 hours/weekself-pacedCalculus 1A: Differentiation
Calculus 1C: Coordinate Systems & Infinite SeriesMIT8 weeks6-10 hours/weekself-pacedCalculus 1B: Integration
Linear Algebra - Foundations to FrontiersUT Austin15 weeks6-10 hours/weekself-pacedpre-calculus
Introduction to Probability and DataDuke5 weeks5-7 hours/weektwice a monthnone
Intro to Statistics Udacity8 weeks5-7 hours/weekself-pacednone

Data Science

CoursesSchoolDurationEffortFrequencyPrerequisites
Introduction to Data Science in PythonUniversity of Michigan3 weeks4-6 hours/weekself-pacedbasic programming knowledge
Applied Plotting, Charting & Data Representation in PythonUniversity of Michigan4 weeks5-7 hours/weekself-pacedIntroduction to Data Science in Python
Applied Machine Learning in PythonUniversity of Michigan6 weeks5-7 hours/weekself-pacedApplied Plotting, Charting & Data Representation in Python
Applied Text Mining in PythonUniversity of Michigan5 weeks5-7 hours/weekself-pacedApplied Machine Learning in Python
Applied Social Network Analysis in PythonUniversity of Michigan5 weeks5-7 hours/weekself-pacedApplied Text Mining in Python

Systems

CoursesSchoolDurationEffortFrequencyPrerequisites
Build a Modern Computer from First Principles: From Nand to TetrisHebrew University of Jerusalem6 weeks5 hours/weektwice a monthbasic programming knowledge
Build a Modern Computer from First Principles: From Nand to Tetris IIHebrew University of Jerusalem6 weeks10-15 hours/weekonce a monthBuild a Modern Computer from First Principles: From Nand to Tetris
Introduction to Operating SystemsGeorgia Tech8 weeks5-8 hours/weekself-pacedBuild a Modern Computer from First Principles: From Nand to Tetris II

Theory

CoursesSchoolDurationEffortFrequencyPrerequisites
Computer Science: Algorithms, Theory, and MachinesPrinceton10 weeks2-5 hours/weekonce a monthCalculus 1A (all), basic programming
Algorithms, Part IPrinceton6 weeks6-12 hours/weekonce a monthComputer Science: Algorithms, Theory, and Machines
Algorithms, Part IIPrinceton6 weeks6-12 hours/weekonce a monthAlgorithms, Part I

Applications

CoursesSchoolDurationEffortFrequencyPrerequisites
Database Management EssentialsCU7 weeks4-6 hours/weektwice a monthbasic programming & CS knowledge
Cryptography IStanford7 weeks5 hours/weekonce a monthLinear Algebra - Foundations to Frontiers & Introduction to Probability and Data

Unix

CoursesSchoolDurationEffortFrequencyPrerequisites
Linux Command Line BasicsUdacity1 week5 hours/weekself-pacednone
The Unix WorkbenchJHU4 weeks4 hours/weekonce a monthnone