This curriculum mainly follows
Topics covered:
simple programs
simple data structures
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Computing in Python I: Fundamentals and Procedural Programming | 5 weeks | 10 hours/week | ✅ | Certificate | Georgia Tech |
Computing in Python II: Control Structures | 5 weeks | 10 hours/week | ✅ | Certificate | Georgia Tech |
Computing in Python III: Data Structures | 5 weeks | 10 hours/week | ✅ | Certificate | Georgia Tech |
Computing in Python IV: Objects & Algorithms | 5 weeks | 10 hours/week | ✅ | Certificate | Georgia Tech |
Topics covered:
functional programming
design for testing
program requirements
common design patterns
unit testing
object-oriented design
static typing
dynamic typing
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics | 6 weeks | 6 hours/week | ✅ | Certificate | Georgia Tech |
Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms | 6 weeks | 6 hours/week | ✅ | Certificate | Georgia Tech |
Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs | 6 weeks | 6 hours/week | ✅ | Certificate | Georgia Tech |
Object-Oriented Design | 4 weeks | 4 hours/week | ✅ | Certificate | University of Alberta |
Design Patterns | 4 weeks | 4 hours/week | ✅ | Certificate | University of Alberta |
Software Architecture | 4 weeks | 5 hours/week | ✅ | Certificate | University of Alberta |
Service-Oriented Architecture | 4 weeks | 5 hours/week | ✅ | Certificate | University of Alberta |
Topics covered:
terminals and shell scripting
vim
command line environments
version control
and more
Courses | Duration | Effort | Status | School |
---|---|---|---|---|
The Missing Semester of Your CS Education | 2 weeks | 12 hours/week | MIT |
Topics covered:
procedural programming
manual memory management
boolean algebra
gate logic
memory
computer architecture
assembly
machine language
virtual machines
high-level languages
compilers
operating systems
network protocols
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Build a Modern Computer from First Principles: From Nand to Tetris | 6 weeks | 7-13 hours/week | ✅ | Certificate | Hebrew University of Jerusalem |
Build a Modern Computer from First Principles: Nand to Tetris Part II | 6 weeks | 12-18 hours/week | ✅ | Certificate | Hebrew University of Jerusalem |
Operating Systems: Three Easy Pieces | 10-12 weeks | 6-10 hours/week | Self-learn | University of Wisconsin-Madison | |
Computer Networking: a Top-Down Approach (Labs) | 8 weeks | 4-12 hours/week | ⬜️ | Self-learn | University of Massachusetts Amherst |
Topics covered:
divide and conquer
sorting and searching
randomized algorithms
graph search
shortest paths
data structures
greedy algorithms
minimum spanning trees
dynamic programming
NP-completeness
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Algorithmic Toolbox | 5 weeks | 4-8 hours/week | ✅ | Certificate | UCSD |
Data Structures | 4 weeks | 5-10 hours/week | ✅ | Certificate | UCSD |
Algorithms on Graphs | 5 weeks | 3-4 hours/week | ✅ | Certificate | UCSD |
Algorithms on Strings | 5 weeks | 3-4 hours/week | ✅ | Certificate | UCSD |
Advanced Algorithms and Complexity | 5 weeks | 3-4 hours/week | ✅ | Certificate | UCSD |
Genome Assembly Programming Challenge | 5 weeks | 3-4 hours/week | ✅ | Certificate | UCSD |
Topics covered
Confidentiality, Integrity, Availability
Secure Design
Defensive Programming
Threats and Attacks
Network Security
Cryptography
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Information Security: Context and Introduction | 5 weeks | 3 hours/week | Certificate | University of London | |
Principles of Secure Coding | 4 weeks | 4 hours/week | ⬜️ | Certificate | University of London |
Identifying Security Vulnerabilities | 4 weeks | 4 hours/week | ⬜️ | Certificate | University of London |
Identifying Security Vulnerabilities in C/C++Programming | 4 weeks | 5 hours/week | ⬜️ | Certificate | University of London |
Exploiting and Securing Vulnerabilities in Java Applications | 4 weeks | 5 hours/week | ⬜️ | Certificate | University of London |
Topics covered:
Agile methodology
REST
software specifications
refactoring
relational databases
transaction processing
data modeling
neural networks
supervised learning
unsupervised learning
OpenGL
raytracing
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Databases: Modeling and Theory | 2 weeks | 10 hours/week | ⬜️ | Certificate | Stanford |
Databases: Relational Databases and SQL | 2 weeks | 10 hours/week | ⬜️ | Certificate | Stanford |
Databases: Semistructured Data | 2 weeks | 10 hours/week | ⬜️ | Certificate | Stanford |
Machine Learning | 11 weeks | 4-6 hours/week | ✅ | Certificate | Stanford |
Computer Graphics | 6 weeks | 12 hours/week | ⬜️ | Certificate | UCSD |
Software Engineering: Introduction | 6 weeks | 8-10 hours/week | ⬜️ | Certificate | University of British Colombia |
Topics covered:
Social Context
Analytical Tools
Professional Ethics
Intellectual Property
Privacy and Civil Liberties
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Ethics, Technology and Engineering | 9 weeks | 2 hours/week | ⬜️ | Certificate | Eindhoven University of Technology |
Intellectual Property Law in Digital Age | 4 weeks | 2 hours/week | ⬜️ | Certificate | Saint Petersburg State University |
Data Privacy Fundamentals | 3 weeks | 3 hours/week | ⬜️ | Certificate | Northeastern University |
Topics covered:
debugging theory and practice
goal-oriented programming
parallel computing
object-oriented analysis and design
UML
large-scale software architecture and design
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Parallel Programming | 4 weeks | 6-8 hours/week | ⬜️ | Certificate | EPFL |
Compilers | 9 weeks | 6-8 hours/week | ⬜️ | Certificate | Stanford |
Introduction to Haskell | 14 weeks | - | ⬜️ | Self-learn | University of Pennsylvania |
Learn Prolog Now! | 12 weeks | - | ⬜️ | Self-learn | - |
Software Debugging | 8 weeks | 6 hours/week | ⬜️ | Certificate | Udacity |
Software Testing | 4 weeks | 6 hours/week | ⬜️ | Certificate | Udacity |
Topics covered:
digital signaling
combinational logic
CMOS technologies
sequential logic
finite state machines
processor instruction sets
caches
pipelining
virtualization
parallel processing
virtual memory
synchronization primitives
system call interface
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Computation Structures 1: Digital Circuits | 10 weeks | 6 hours/week | ⬜️ | Self-learn | MIT |
Computation Structures 2: Computer Architecture | 10 weeks | 6 hours/week | ⬜️ | Self-learn | MIT |
Computation Structures 3: Computer Organization | 10 weeks | 6 hours/week | ⬜️ | Self-learn | MIT |
Topics covered:
formal languages
Turing machines
computability
event-driven concurrency
automata
distributed shared memory
consensus algorithms
state machine replication
computational geometry theory
propositional logic
relational logic
Herbrand logic
game trees
and more
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Theory of Computation (Lectures) | 8 weeks | 10 hours/week | ⬜️ | Self-learn | - |
Computational Geometry | 16 weeks | 8 hours/week | ⬜️ | Certificate | Tsinghua Univeristy |
Game Theory | 8 weeks | 3 hours/week | ⬜️ | Certificate | Stanford |
Courses | Duration | Effort | Status | Certificate | School |
---|---|---|---|---|---|
Fullstack Open | 12 weeks | 6 hours/week | ⬜️ | Certificate | University of Helsinki |
Modern Robotics (Specialization) | 26 weeks | 2-5 hours/week | ⬜️ | Certificate | Northwestern |
Data Mining (Specialization) | 30 weeks | 2-5 hours/week | ⬜️ | Certificate | University of Illinois |
Big Data (Specialization) | 30 weeks | 3-5 hours/week | ⬜️ | Certificate | UCSD |
Internet of Things (Specialization) | 30 weeks | 1-5 hours/week | ⬜️ | Certificate | UCSD |
Cloud Computing (Specialization) | 30 weeks | 2-6 hours/week | ⬜️ | Certificate | University of Illinois |
Data Science: Foundations using R (Specialization) | 20 weeks | 1-6 hours/week | ✅ | Certificate | Johns Hopkins University |
Functional Programming in Scala (Specialization) | 29 weeks | 4-5 hours/week | ⬜️ | Certificate | EPFL |
Game Design and Development with Unity 2020 (Specialization) | 6 months | 5 hours/week | ⬜️ | Certificate | Michigan State |
Algorithms for Battery Management Systems Specialization (Specialization) | 6 months | 5 hours/week | ✅ | Certificate | University of Colorado |
Note:
- ✅ Done
🅿️ In progress- ⬜️ Not started