ForrestKnight

    ForrestKnight/open-source-cs

    #402 this week

    Video discussing this curriculum:

    computer-science
    MIT
    22.4K stars
    3.2K forks
    22.4K watching
    Updated 5/1/2026
    View on GitHub

    Scale data-heavy AI workloads

    while keeping costs low with S3-compatible storage.

    BackblazeLearn more

    Loading star history...

    Health Score

    7

    Activity
    8
    Community
    25
    Maintenance
    0
    Last release999d ago

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    4

    Total contributors

    Open Issues

    41

    Use Cases & Benefits

    About open-source-cs

    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

    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

    Discover Repositories

    Search across tracked repositories by name or description