The 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.
Courses School Duration Effort Frequency Prerequisites Java Programming: Solving Problems with Software Duke 4 weeks 4-8 hours/week twice a month none Java Programming: Arrays, Lists, and Structured Data Duke 4 weeks 4-8 hours/week twice a month Java Programming: Solving Problems with Software Object Oriented Programming in Java Duke 6 weeks 4-6 hours/week every week Java Programming: Arrays, Lists, and Structured Data Data Structures and Performance Duke 6 weeks 6-10 hours/week every week Object Oriented Programming in Java Java Programming: Principles of Software Design Duke 4 weeks 4-8 hours/week twice a month Java Programming: Arrays, Lists, and Structured Data Java Programming: Build a Recommendation System Duke 4 weeks 3-6 hours/week once a month Java Programming: Principles of Software Design Programming Languages, Part A UW 5 weeks 8-16 hours/week once a month Object Oriented Programming in Java Programming Languages, Part B UW 3 weeks 8-16 hours/week once a month Programming Languages, Part A Programming Languages, Part C UW 3 weeks 8-16 hours/week once a month Programming Languages, Part B
Courses School Duration Effort Frequency Prerequisites Software Engineering: Introduction UBCx 6 weeks 8-10 hours/week self-paced Java Programming: Build a Recommendation System Machine Learning Stanford 11 weeks 5-7 hours/week twice a month Linear Algebra - Foundations to Frontiers Database Management Essentials CU 7 weeks 4-6 hours/week twice a month basic programming & CS knowledge Cryptography I Stanford 7 weeks 5 hours/week once a month Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data