The Open-Source Computer Science Degree
Inspired by The Open-Source Data Science Masters, this project aims to do the same for an undergraduate Computer Science degree. The following document outlines free online courses from top schools like Harvard, Stanford and MIT. The groupings by Term are meant to pace and structure the course according to a typical Computer Science track at a college or university. The focus is on the core Computer Science courses; liberal arts or "GenEd" courses have been omitted.
Term 1
Intro to Computer Science
Stanford CS101 (Note: teaches in JavaScript)
or
Stanford CS106a (Note: teaches in Java)
or Stanford CS106a (Note: teaches in Python)
or
Harvard CS50x
or
UC Berkeley CS61A
Discrete Mathematics for Computer Science
Data Structures
Computer Architecture
Term 2
UX Design
Udacity UD849 (Note: Android platform)
Intro to Web Development
Intro to Databases
Operating Systems
UC Berkeley CS162 Youtube or UC Berkeley CS162 Course Pages or
MIT 6.828
Computer Graphics
Term 3
Programming Languages Theory
Algorithms
System Engineering
Introduction to Embedded Systems and Real-Time Systems
[UC Riverside CS120B] (http://cms.cs.ucr.edu/faculty/philip/open_source_courses/CS120B_labs.html)
and/or
[UC Riverside CS122A] (http://cms.cs.ucr.edu/faculty/philip/open_source_courses/CS122A_labs.html)
Software Engineering
Principles of Computing
Term 4
Computer Networking
Mobile Software Development
University of Maryland Coursera (Note: Android platform)
or
Udacity UD585 (Note: iOS platform)
Programming Languages & Compilers
Artificial Intelligence
Parallel Computing
Machine Learning