About

This is a solid path for those of you who want to complete a Computer Science course on your own time, for free, with courses from the best universities in the World.

In our curriculum, we give preference to MOOC (Massive Open Online Course) style courses because these courses were created with our style of learning in mind.

Motivation & Preparation

Here are two interesting links that can make all the difference in your journey.

The first one is a motivational video that shows a guy that went through the “MIT Challenge”, which consists of learning the entire 4-year MIT curriculum for Computer Science in 1 year.

The second link is a MOOC that will teach you learning techniques used by experts in art, music, literature, math, science, sports, and many other disciplines. These are fundamental abilities to succeed in our journey.

 

Introduction to Computer Science

Courses Duration Effort
Introduction to Computer Science – CS50 12 weeks 10-20 hours/week

Math (Mathematical Thinking)

Courses Duration Effort
Effective Thinking Through Mathematics 4 weeks 2-5 hours/week

Program Design

Courses Duration Effort
How to Code: Systematic Program Design – Part 1 5 weeks 8-12 hours/week
How to Code: Systematic Program Design – Part 2 5 weeks 8-12 hours/week
How to Code: Systematic Program Design – Part 3 5 weeks 8-12 hours/week

Math (Calculus and Discrete Math)

Courses Duration Effort
Calculus One 16 weeks 8-10 hours/week
Mathematics for Computer Science 12 weeks 5 hours/week

Algorithms

Courses Duration Effort
Algorithms, Part I 6 weeks 6-12 hours/week
Algorithms, Part II 6 weeks 6-12 hours/week

Programming Paradigms

Courses Duration Effort
Functional Programming Principles in Scala 7 weeks 5-7 hours/week
Object Oriented Programming in Java 6 weeks 4-6 hours/week

Software Testing

Courses Duration Effort
Software Testing 4 weeks 6 hours/week
Software Debugging 8 weeks 6 hours/week

Math (Calculus)

Courses Duration Effort
Calculus Two: Sequences and Series 7 weeks 9-10 hours/week

Software Architecture

Courses Duration Effort
Software Architecture & Design 8 weeks 6 hours/week

Theory

Courses Duration Effort
Intro to Theoretical Computer Science 9 weeks 6 hours/week

Software Engineering

Courses Duration Effort
Software Processes and Agile Practices 4 weeks 6-8 hours/week

Math (Probability)

Courses Duration Effort
Introduction to Probability – The Science of Uncertainty 16 weeks 12 hours/week

Computer Architecture

Courses Duration Effort
Computer Architecture 5-8 hours/week

Operating Systems

Courses Duration Effort
Operating Systems and System Programming 10 weeks 2-3 hours/week

Computer Networks

Courses Duration Effort
Computer Networks 4–12 hours/week

Databases

Courses Duration Effort
Databases 12 weeks 8-12 hours/week

Cloud Computing

Courses Duration Effort
Introduction to Cloud Computing 4 weeks 1 hour/week

Math (Linear Algebra)

Courses Duration Effort
Linear Algebra – Foundations to Frontiers 15 weeks 8 hours/week

Cryptography

Courses Duration Effort
Cryptography I 6 weeks 5-7 hours/week
Cryptography II 6 weeks 6-8 hours/week

Security

Courses Duration Effort
Introduction to Cyber Security 8 weeks 3 hours/week

Compilers

Courses Duration Effort
Compilers 9 weeks 6-8 hours/week

Parallel Computing

Courses Duration Effort
Parallel Computer Architecture and Programming 20 weeks

UX Design

Courses Duration Effort
UX Design for Mobile Developers 6 weeks 6 hours/week

Computer Graphics

Courses Duration Effort
Computer Graphics 6 weeks 12 hours/week

Artificial Intelligence

Courses Duration Effort
Artificial Intelligence 12 weeks 15 hours/week

Machine Learning

Courses Duration Effort
Machine Learning 11 weeks 4-6 hours/week

Natural Language Processing

Courses Duration Effort
Introduction to Natural Language Processing 12 weeks

Big Data

Courses Duration Effort
Introduction to Big Data 3 weeks 5-6 hours/week

Data Mining

Courses Duration Effort
Pattern Discovery in Data Mining 4 weeks 4-6 hours/week

Internet of Things

Courses Duration Effort
The Internet of Things 4 weeks 2 hours/week

Specializations

After finishing the courses above, start your specializations on the topics that you have more interest.

The following platforms currently offer specializations:

edX: xSeries

Coursera: Specializations

Udacity: Nanodegree

FutureLearn: Collections

keep learning