Computer Science

Computer Science - Great 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

Courses Duration Effort
Introduction to Computational Thinking and Data Science(alt) 10 weeks 15 hours/week
Introduction to Computer Science - CS50 (alt) 12 weeks 10-20 hours/week
Introduction to Computer Science (Udacity) 7 weeks 10-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 Programming 5 weeks 10 hours/week
Computing In Python, Part II: Control Structures 5 weeks 10 hours/week
Computing In Python, Part III: Data Structures 5 weeks 10 hours/week
Computing In Python, Part IV: Objects & Algorithms 5 weeks 10 hours/week
Programming Basics 9 weeks 8 hours/week
Object-Oriented Programming with Java 14 weeks 10 hours/week
Introduction to Programming with MATLAB - -
Introduction to Functional Programming 7 weeks 4-6 hours/week
The Structure and Interpretation of Computer Programs (2022, Python) - -
The Structure and Interpretation of Computer Programs (2011, Scheme) - -
Introduction to Haskell 14 weeks 4 hours/week

Math

Courses Duration Effort  
Effective Thinking Through Mathematics 4 weeks 2 hours/week  
Introduction to Mathematical Thinking 10 weeks 10 hours/week  
High School Math - -  
Precalculus 5 weeks 6 hours/week  
Advanced Precalculus 4 weeks 5 hours/week  
Calculus Applied! 10 Weeks 6hours/week  
Introduction to Probability and Data - -  
Linear Algebra (Strang) - -  
Introduction to Computational Thinking - -  
Multivariable Calculus 13 weeks 12 hours/week  
Introduction to Probability - The Science of Uncertainty 18 weeks 12 hours/week Multivariable Calculus
Matrix Methods In Data Analysis, Signal Processing, And Machine Learning - -  

Systems

Courses Duration Effort
Cloud Computing / Distributed Programming 5 weeks 5-10 hours/week
Introduction to Parallel Programming (alt) (HW) 12 weeks 8-10 hours/week
Intro to Computer Systems (Labs) 15 weeks 12 hours/week
Great Ideas in Computer Architecture (Machine Structures) (Lectures) 15 weeks 12 hours/week
Computer Architecture - 5-8 hours/week
Operating System Engineering - -
Introduction to Operating Systems 8 weeks 5-8 hours/week
Advanced Operating Systems 5 weeks 5-8 hours/week
Computer Networking 12 weeks 5-8 hours/week
Distributed Systems - Playlist, Course site, Self-studying 6.824 6.824 Discord group for further help - -

Theory

Courses Duration Effort
Algorithms, Part I 6 weeks 6-12 hours/week
Algorithms, Part II 6 weeks 6-12 hours/week
Analysis of Algorithms (Sedgewick) 6 weeks 6-8 hours/week
Analysis of Algorithms (Skiena) 15 weeks 6-8 hours/week
Programming Challenges (Skiena) 14 weeks 6-8 hours/week
Data Structures and Algorithms (Specialization) 25 weeks 3-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

Courses Duration Effort
Using Databases with Python 5 weeks 2-3 hours/week
Database Systems - 27 hours
Database Management Essentials 7 weeks 4-6 hours/week
Intro to Artificial Intelligence 16 weeks 6-10 hours/week
Intro to Machine Learning 10 weeks 6-10 hours/week
Machine Learning for Data Science and Analytics 5 weeks 7-10 hours/week
Big Data Science with the BD2K-LINCS Data Coordination and Integration Center 7 weeks 4-5 hours/week

Tools

Courses Duration Effort
How to Use Git and GitHub 3 weeks 2-3 hours/week
Kubernetes Certified Application Developer 5 weeks 2 hours/week

Online Learning - Great Courses

Courses Duration Effort
Learning How to Learn 4 weeks 2 hours/week
Mindshift 4 weeks 2 hours/week