Skip to content

My free open source curriculum to learn computer science 📚:octocat:

License

Notifications You must be signed in to change notification settings

maxdemaio/my_open_source_cs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

my_open_source_cs

📚:octocat:

My free open source curriculum to learn computer science. Although it's not the path of least resistance, learning by doing is super effective: write code, make mistakes, learn from them, and most importantly enjoy the process.

This is a curated list of free courses from reputable universities that satisfy the same requirements as an undergraduate computer science degree, minus general education. Helpful resources have also been added for supplementary learning. Please feel free to star/fork this repository and personalize it to your own learning path.


Computer Science Basics / Programming

Courses School Duration Effort Frequency Prerequisites Status
Intro to Computer Science Harvard 10 weeks 10-20 hours/week self-paced none ✔️
Web Programming with Python and JavaScript Harvard 12 weeks 10-20 hours/week self-paced Intro to Computer Science ✔️

Math

Courses School Duration Effort Frequency Prerequisites Status
Calculus 1 URI 12 weeks 6-10 hours/week / Pre-calculus ✔️
Linear Algebra UT Austin 15 weeks 6-10 hours/week self-paced Pre-calculus
Pre-calculus URI 12 weeks 6-10 hours/week / Algebra ✔️
Introduction to Probability and Statistics URI 12 weeks 6-10 hours/week / Algebra ✔️
Algebra URI 12 weeks 6-10 hours/week / none ✔️

Systems

Courses School Duration Effort Frequency Prerequisites Status
Build a Modern Computer from First Principles: From Nand to Tetris Hebrew University of Jerusalem 6 weeks 5 hours/week twice a month basic programming knowledge ✔️
Build a Modern Computer from First Principles: From Nand to Tetris II Hebrew University of Jerusalem 6 weeks 10-15 hours/week once a month Build a Modern Computer from First Principles: From Nand to Tetris
Introduction to Operating Systems Georgia Tech 8 weeks 5-8 hours/week self-paced Build a Modern Computer from First Principles: From Nand to Tetris II

Theory

Courses School Duration Effort Frequency Prerequisites Status
Computer Science: Algorithms, Theory, and Machines Princeton 10 weeks 2-5 hours/week once a month Calculus 1A (all), basic programming
Algorithms, Part I Princeton 6 weeks 6-12 hours/week once a month Computer Science: Algorithms, Theory, and Machines
Algorithms, Part II Princeton 6 weeks 6-12 hours/week once a month Algorithms, Part I

Applications

Courses School Duration Effort Frequency Prerequisites Status
Machine Learning Stanford 11 weeks 5-7 hours/week twice a month Linear Algebra - Foundations to Frontiers
Database Management Essentials University of Colorado 7 weeks 4-6 hours/week twice a month basic programming & CS knowledge ✔️
Cryptography I Stanford 7 weeks 5 hours/week once a month Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data

Unix

Courses School Duration Effort Frequency Prerequisites Status
Linux Command Line Basics Udacity 1 week 5 hours/week self-paced none ✔️
The Unix Workbench Johns Hopkins University 4 weeks 4 hours/week once a month none ✔️

Supplementary Materials

Before approaching any open source curriculum, please give these a watch/read: Self Taught Programmers: Advice, Challenges, and Why We Need Them (mayuko), How I would learn to code (If I could start over) (Jason Goodison), and How to Break into Tech.

About

My free open source curriculum to learn computer science 📚:octocat:

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published