back to home

ForrestKnight / open-source-cs

Video discussing this curriculum:

21,166 stars
3,136 forks
40 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing ForrestKnight/open-source-cs in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/ForrestKnight/open-source-cs)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

The Open Source Computer Science Degree

This is a curated list of free courses from reputable universities like MIT, Stanford, and Princeton that satisfy the same requirements as an undergraduate Computer Science degree, minus general education.

Computer Science Basics

CoursesSchoolDurationEffortFrequencyPrerequisites
Intro to Computer ScienceHarvard10 weeks10-20 hours/weekself-pacednone

Programming

CoursesSchoolDurationEffortFrequencyPrerequisites
Java Programming: Solving Problems with SoftwareDuke4 weeks4-8 hours/weektwice a monthnone
Java Programming: Arrays, Lists, and Structured DataDuke4 weeks4-8 hours/weektwice a monthJava Programming: Solving Problems with Software
Object Oriented Programming in JavaDuke6 weeks4-6 hours/weekevery weekJava Programming: Arrays, Lists, and Structured Data
Data Structures and PerformanceDuke6 weeks6-10 hours/weekevery weekObject Oriented Programming in Java
Java Programming: Principles of Software DesignDuke4 weeks4-8 hours/weektwice a monthJava Programming: Arrays, Lists, and Structured Data
Java Programming: Build a Recommendation SystemDuke4 weeks3-6 hours/weekonce a monthJava Programming: Principles of Software Design
Programming Languages, Part AUW5 weeks8-16 hours/weekonce a monthObject Oriented Programming in Java
Programming Languages, Part BUW3 weeks8-16 hours/weekonce a monthProgramming Languages, Part A
Programming Languages, Part CUW3 weeks8-16 hours/weekonce a monthProgramming Languages, Part B

Math

CoursesSchoolDurationEffortFrequencyPrerequisites
Calculus 1A: DifferentiationMIT12 weeks6-10 hours/weekself-pacedpre-calculus
Calculus 1B: IntegrationMIT15 weeks6-10 hours/weekself-pacedCalculus 1A: Differentiation
Calculus 1C: Coordinate Systems & Infinite SeriesMIT8 weeks6-10 hours/weekself-pacedCalculus 1B: Integration
Linear Algebra - Foundations to FrontiersUT Austin15 weeks6-10 hours/weekself-pacedpre-calculus
Introduction to Probability and DataDuke5 weeks5-7 hours/weektwice a monthnone
Intro to Statistics Udacity8 weeks5-7 hours/weekself-pacednone

Systems

CoursesSchoolDurationEffortFrequencyPrerequisites
Build a Modern Computer from First Principles: From Nand to TetrisHebrew University of Jerusalem6 weeks5 hours/weektwice a monthbasic programming knowledge
Build a Modern Computer from First Principles: From Nand to Tetris IIHebrew University of Jerusalem6 weeks10-15 hours/weekonce a monthBuild a Modern Computer from First Principles: From Nand to Tetris
<!-- [Introduction to Operating Systems](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk&mid=53187&murl=https%3A%2F%2Fwww.udacity.com%2Fcourse%2Foperating-systems--ud923)| Udacity | 8 weeks | 5-8 hours/week | self-paced | Build a Modern Computer from First Principles: From Nand to Tetris II -->

Theory

CoursesSchoolDurationEffortFrequencyPrerequisites
Computer Science: Algorithms, Theory, and MachinesPrinceton10 weeks2-5 hours/weekonce a monthCalculus 1A (all), basic programming
Algorithms, Part IPrinceton6 weeks6-12 hours/weekonce a monthComputer Science: Algorithms, Theory, and Machines
Algorithms, Part IIPrinceton6 weeks6-12 hours/weekonce a monthAlgorithms, Part I

Applications

CoursesSchoolDurationEffortFrequencyPrerequisites
Software Engineering: IntroductionUBCx6 weeks8-10 hours/weekself-pacedJava Programming: Build a Recommendation System
Machine LearningStanford11 weeks5-7 hours/weektwice a monthLinear Algebra - Foundations to Frontiers
Database Management EssentialsCU7 weeks4-6 hours/weektwice a monthbasic programming & CS knowledge
Cryptography IStanford7 weeks5 hours/weekonce a monthLinear Algebra - Foundations to Frontiers & Introduction to Probability and Data

Unix

CoursesSchoolDurationEffortFrequencyPrerequisites
Linux Command Line BasicsIBM1 week12 hours/weekself-pacednone
The Unix WorkbenchJHU4 weeks4 hours/weekonce a monthnone