Computer Science Degree Links

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

Courses

School

Duration

Effort

Frequency

Prerequisites

UVA

12 week

5 hours/week

self-paced

none

UC San Diego

6 weeks

2-5 hours/week

once a month

none

Programming

Courses

School

Duration

Effort

Frequency

Prerequisites

Duke

4 weeks

4-8 hours/week

twice a month

none

Duke

4 weeks

4-8 hours/week

twice a month

Java Programming: Solving Problems with Software

Duke

6 weeks

4-6 hours/week

every week

Java Programming: Arrays, Lists, and Structured Data

Duke

6 weeks

6-10 hours/week

every week

Object Oriented Programming in Java

Duke

4 weeks

4-8 hours/week

twice a month

Java Programming: Arrays, Lists, and Structured Data

Duke

4 weeks

3-6 hours/week

once a month

Java Programming: Principles of Software Design

UW

5 weeks

8-16 hours/week

once a month

Object Oriented Programming in Java

UW

3 weeks

8-16 hours/week

once a month

Programming Languages, Part A

UW

3 weeks

8-16 hours/week

once a month

Programming Languages, Part B

Math

Courses

School

Duration

Effort

Frequency

Prerequisites

MIT

12 weeks

6-10 hours/week

self-paced

pre-calculus

MIT

15 weeks

6-10 hours/week

self-paced

Calculus 1A: Differentiation

MIT

8 weeks

6-10 hours/week

self-paced

Calculus 1B: Integration

UT Austin

15 weeks

6-10 hours/week

self-paced

pre-calculus

Duke

5 weeks

5-7 hours/week

twice a month

none

Stanford

8 weeks

5-7 hours/week

self-paced

none

Systems

Courses

School

Duration

Effort

Frequency

Prerequisites

Hebrew University of Jerusalem

6 weeks

5 hours/week

twice a month

basic programming knowledge

Hebrew University of Jerusalem

6 weeks

10-15 hours/week

once a month

Build a Modern Computer from First Principles: From Nand to Tetris

Georgia Tech

8 weeks

5-8 hours/week

self-paced

Build a Modern Computer from First Principles: From Nand to Tetris II

Theory

Courses

School

Duration

Effort

Frequency

Prerequisites

Princeton

10 weeks

2-5 hours/week

once a month

Calculus 1A (all), basic programming

Princeton

6 weeks

6-12 hours/week

once a month

Computer Science: Algorithms, Theory, and Machines

Princeton

6 weeks

6-12 hours/week

once a month

Algorithms, Part I

Applications

Courses

School

Duration

Effort

Frequency

Prerequisites

UBCx

6 weeks

8-10 hours/week

self-paced

Java Programming: Build a Recommendation System

Stanford

11 weeks

5-7 hours/week

twice a month

Linear Algebra - Foundations to Frontiers

CU

7 weeks

4-6 hours/week

twice a month

basic programming & CS knowledge

Stanford

7 weeks

5 hours/week

once a month

Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data

Unix

Courses

School

Duration

Effort

Frequency

Prerequisites

Udacity

1 week

5 hours/week

self-paced

none

JHU

4 weeks

4 hours/week

once a month

none

Last updated