Prerequisites
• Core CS assumes knowledge of high school math (algebra, geometry, pre-calculus)
• Advanced CS assumes completion of Core CS
• Advanced Systems requires basic physics
Intro CS
computation
imperative programming
data structures
algorithms
Introduction to Computer Science and Programming using Python
14 weeks
6-10 hrs/week
Start Course
Core CS
Core Programming
functional programming
testing
design patterns
OOP
Systematic Program Design
13 weeks
8-10 hrs/week
Start Course
Class-based Program Design
13 weeks
5-10 hrs/week
Start Course
Core Math
discrete math
calculus
probability
statistics
Calculus 1A: Differentiation
13 weeks
6-10 hrs/week
Start Course
Calculus 1B: Integration
13 weeks
5-10 hrs/week
Start Course
Calculus 1C: Coordinate Systems & Infinite Series
6 weeks
5-10 hrs/week
Start Course
Mathematics for Computer Science
13 weeks
5 hrs/week
Start Course
CS Tools
shell scripting
vim
version control
The Missing Semester of Your CS Education
2 weeks
12 hrs/week
Start Course
Core Systems
computer architecture
operating systems
networking
Build a Modern Computer from First Principles: Nand to Tetris
6 weeks
7-13 hrs/week
Start Course
Operating Systems: Three Easy Pieces
10-12 weeks
6-10 hrs/week
Start Course
Computer Networking: a Top-Down Approach
8 weeks
4-12 hrs/week
Start Course
Core Theory
algorithms
data structures
complexity theory
Algorithms: Design and Analysis, Part 1
8 weeks
4-8 hrs/week
Start Course
Algorithms: Design and Analysis, Part 2
8 weeks
4-8 hrs/week
Start Course
Core Security
cybersecurity
secure coding
cryptography
Cybersecurity Fundamentals
8 weeks
10-12 hrs/week
Start Course
Identifying Security Vulnerabilities
4 weeks
4 hrs/week
Start Course
Security Vulnerabilities in C/C++
4 weeks
5 hrs/week
Start Course
Core Applications
databases
machine learning
graphics
software engineering
Databases: Modeling and Theory
2 weeks
10 hrs/week
Start Course
Databases: Relational Databases and SQL
2 weeks
10 hrs/week
Start Course
Databases: Semistructured Data
2 weeks
10 hrs/week
Start Course
Software Engineering: Introduction
6 weeks
8-10 hrs/week
Start Course
Core Ethics
tech ethics
privacy
IP rights
Ethics, Technology and Engineering
9 weeks
2 hrs/week
Start Course
Introduction to Intellectual Property
4 weeks
2 hrs/week
Start Course
Advanced CS
Advanced Programming
Advanced Systems
Computation Structures 1: Digital Circuits
10 weeks
6 hrs/week
Start Course
Computation Structures 2: Computer Architecture
10 weeks
6 hrs/week
Start Course
Computation Structures 3: Computer Organization
10 weeks
6 hrs/week
Start Course
Advanced Information Security
Security Governance & Compliance
3 weeks
3 hrs/week
Start Course
Digital Forensics Concepts
3 weeks
2-3 hrs/week
Start Course
Advanced Math
Introduction to Numerical Methods
14 weeks
12 hrs/week
Start Course
Final Project Options
Data Mining Specialization
30 weeks
2-5 hrs/week
Start Course
Cloud Computing Specialization
30 weeks
2-6 hrs/week
Start Course