Skip to main content

Extra Courses

This is a list of high-quality courses that, for one reason or another, didn't make it into the curriculum. The most common reasons are that the course isn't available often enough, or that there was an alternative that fit better into the curriculum.

Programming

CoursesDurationEffort
Introduction to Computational Thinking and Data Science(alt)10 weeks15 hours/week
Introduction to Computer Science - CS50 (alt)12 weeks10-20 hours/week
Introduction to Computer Science (Udacity)7 weeks10-20 hours/week
An Introduction to Interactive Programming in Python (Part 1)5 weeks-
An Introduction to Interactive Programming in Python (Part 2)--
Computing In Python, Part I: Fundamentals and Procedural Programming5 weeks10 hours/week
Computing In Python, Part II: Control Structures5 weeks10 hours/week
Computing In Python, Part III: Data Structures5 weeks10 hours/week
Computing In Python, Part IV: Objects & Algorithms5 weeks10 hours/week
Programming Basics9 weeks8 hours/week
Object-Oriented Programming with Java14 weeks10 hours/week
Introduction to Programming with MATLAB--
Introduction to Functional Programming7 weeks4-6 hours/week
The Structure and Interpretation of Computer Programs (2022, Python)--
The Structure and Interpretation of Computer Programs (2011, Scheme)--
Introduction to Haskell14 weeks4 hours/week

Math

CoursesDurationEffort
Effective Thinking Through Mathematics4 weeks2 hours/week
Introduction to Mathematical Thinking10 weeks10 hours/week
High School Math--
Precalculus5 weeks6 hours/week
Advanced Precalculus4 weeks5 hours/week
Calculus Applied!10 Weeks6hours/week
Introduction to Probability and Data--
Linear Algebra (Strang)--
Introduction to Computational Thinking--
Multivariable Calculus13 weeks12 hours/week
Introduction to Probability - The Science of Uncertainty18 weeks12 hours/week
Matrix Methods In Data Analysis, Signal Processing, And Machine Learning--

Systems

CoursesDurationEffort
Cloud Computing / Distributed Programming5 weeks5-10 hours/week
Introduction to Parallel Programming (alt) (HW)12 weeks8-10 hours/week
Intro to Computer Systems (Labs)15 weeks12 hours/week
Great Ideas in Computer Architecture (Machine Structures) (Lectures)15 weeks12 hours/week
Computer Architecture-5-8 hours/week
Operating System Engineering--
Introduction to Operating Systems8 weeks5-8 hours/week
Advanced Operating Systems5 weeks5-8 hours/week
Networking for Web Developers12 weeks5-8 hours/week
Distributed Systems - Playlist, Course site, Self-studying 6.824 6.824 Discord group for further help--

Theory

CoursesDurationEffort
Algorithms, Part I6 weeks6-12 hours/week
Algorithms, Part II6 weeks6-12 hours/week
Analysis of Algorithms (Sedgewick)6 weeks6-8 hours/week
Analysis of Algorithms (Skiena)15 weeks6-8 hours/week
Programming Challenges (Skiena)14 weeks6-8 hours/week
Data Structures and Algorithms (Specialization)25 weeks3-10 hours/week
Algorithmic Thinking (Part 1)--
Algorithmic Thinking (Part 2)--
Statistical Mechanics: Algorithms and Computations--
Approximation Algorithms Part I--
Approximation Algorithms Part II--
Design And Analysis Of Algorithms--

Applications

CoursesDurationEffort
Using Databases with Python5 weeks2-3 hours/week
Database Systems15 weeks12 hours/week
Database Management Essentials7 weeks4-6 hours/week
Intro to Artificial Intelligence16 weeks6-10 hours/week
Intro to Machine Learning10 weeks6-10 hours/week
Big Data Science with the BD2K-LINCS Data Coordination and Integration Center7 weeks4-5 hours/week

Tools

CoursesDurationEffort
How to Use Git and GitHub3 weeks2-3 hours/week
Kubernetes Certified Application Developer5 weeks2 hours/week

Online Learning - Great Courses

CoursesDurationEffort
Learning How to Learn4 weeks2 hours/week
Mindshift4 weeks2 hours/week