- Introduction to Computer Science
- Program Design
- Math (Discrete Math)
- Algorithms
- Programming Paradigms
- Software Testing
- Math (Calculus)
- Software Architecture
- Theory
- Software Engineering
- Math (Probability)
- Computer Architecture
- Operating Systems
- Computer Networks
- Databases
- Math (Linear Algebra)
- Cryptography
- Security
- Compilers
- Parallel Computing
- Computer Graphics
- Artificial Intelligence
- Machine Learning
- Natural Language Processing
- Big Data
- Data Mining
- Internet of Things
| Courses | Duration | Effort |
|---|---|---|
| Introduction to Computer Science | 12 weeks | 10-20 hours/week |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| C Book By K&R | |||
| NPTEL Course |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Thinking in Java by Bruce Ekkel | |||
| HackerRank Java Domain |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Core Python Programming | |||
| HackerRank Python Domain |
| Courses | Duration | Effort | Days |
|---|
Design of Computer Programs| | | 3 Days
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Mathematics for Computer Science | 12 weeks | 5 hours/week | 4 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Algorithms, Part I | 6 weeks | 6-12 hours/week | 3 Days |
| Algorithms, Part II | 6 weeks | 6-12 hours/week | 3 Days |
| Analysis of Algorithms | 6 weeks | 6-8 hours/week | 3 Days |
| 6.006 - Introduction to Algorithms | 4 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Functional Programming Principles in Scala | 7 weeks | 5-7 hours/week | 3 Days |
| Principles of Reactive Programming | 7 weeks | 5-7 hours/week | 3 Days |
| Object Oriented Programming in Java | 6 weeks | 4-6 hours/week | 3 Days |
| 6.092 - Introduction to Programming in Java | 3 Days | ||
| 6.170 - Lab in software engineering + Software studio | 3 Days | ||
| 6.005 - Elements of software construction | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Software Testing | 4 weeks | 6 hours/week | 2 Days |
| Software Debugging | 8 weeks | 6 hours/week | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Calculus One | 16 weeks | 8-10 hours/week | 8 Days |
| Calculus Two: Sequences and Series | 7 weeks | 9-10 hours/week | 4 Days |
| Multivariable Calculus | 6 weeks | 5-7 hours/week | 2 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Web Application Architectures | 6 weeks | 6-9 hours/week | 3 Days |
| Software Architecture & Design | 8 weeks | 6 hours/week | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Automata | 6 weeks | 8-10 hours/week | 3 Days |
| System Analysis & Design | 10 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Engineering Software as a Service (SaaS), Part 1 | 9 weeks | 12 hours/week | 7 Days |
| Engineering Software as a Service (Saas), Part 2 | 8 weeks | 12 hours/week | 6 Days |
| Software Processes and Agile Practices | 4 weeks | 6-8 hours/week | 2 Days |
| Startup Engineering | 12 weeks | 2-20 hours/week | 2 Days |
| 6.171 - Software engineering for web application | 3 Days | ||
| 6.172 - Performance engineering of software systems | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Introduction to Probability - The Science of Uncertainty | 16 weeks | 12 hours/week | 9 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| The Hardware/Software Interface | 8 weeks | 10-15 hours/week | 5 Days |
| Computer Architecture | - | 5-8 hours/week | 3 Days |
| 6.033 - Computer system engineering |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Introduction to Operating Systems | 8 weeks | 6 hours/week | 3 Days |
| Advanced Operating Systems | 5 weeks | 6 hours/week | 2 Days |
| 6.828 - Operating system engineering |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Introduction to Computer Networking | - | 5-10 hours/week | 4 Days |
| Computer Networks | - | 4–12 hours/week | 2 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Databases | 12 weeks | 8-12 hours/week | 6 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Coding the Matrix: Linear Algebra through Computer Science Applications | 10 weeks | 7-10 hours/week | 5 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Cryptography I | 6 weeks | 5-7 hours/week | 2 Days |
| Cryptography II | 6 weeks | 6-8 hours/week | 3 Days |
| Applied Cryptography | 8 weeks | 6 hours/week | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Intro to Information Security | 8 weeks | 3 hours/week | 2 Days |
| 6.858 - Computer system security | 3 Days | ||
| 6.857 - Network and computer security | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Compilers | 9 weeks | 6-8 hours/week | 4 Days |
| 6.035 - Computer Language Engineering | 3 Days | ||
| Programming Languages | 3 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Heterogeneous Parallel Programming | 11 weeks | 8-10 hours/week | 6 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Computer Graphics | 6 weeks | 12 hours/week | 9 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Artificial Intelligence | 12 weeks | 15 hours/week | 11 Days |
| 6.034 - Artificial Intelligence | 4 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Machine Learning | 11 weeks | 4-6 hours/week | 3 Days |
| 6.867 - Machine learning | 4 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Natural Language Processing | 10 weeks | 8-10 hours/week | 5 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Introduction to Big Data | 3 weeks | 5-6 hours/week | 1 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| Pattern Discovery in Data Mining | 4 weeks | 4-6 hours/week | 1 Days |
| Courses | Duration | Effort | Days |
|---|---|---|---|
| The Internet of Things | 4 weeks | 2 hours/week | 1 Days |
