Skip to content

byt3exec/learning-source

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

The Open Source Learning Computer Science

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

Courses School Duration Effort Frequency Prerequisites
Intro to Computer Science Harvard 10 weeks 10-20 hours/week self-paced none

Programming

Courses School Duration Effort Frequency Prerequisites
Java Programming: Solving Problems with Software Duke 4 weeks 4-8 hours/week twice a month none
Java Programming: Arrays, Lists, and Structured Data Duke 4 weeks 4-8 hours/week twice a month Java Programming: Solving Problems with Software
Object Oriented Programming in Java Duke 6 weeks 4-6 hours/week every week Java Programming: Arrays, Lists, and Structured Data
Data Structures and Performance Duke 6 weeks 6-10 hours/week every week Object Oriented Programming in Java
Java Programming: Principles of Software Design Duke 4 weeks 4-8 hours/week twice a month Java Programming: Arrays, Lists, and Structured Data
Java Programming: Build a Recommendation System Duke 4 weeks 3-6 hours/week once a month Java Programming: Principles of Software Design
Programming Languages, Part A UW 5 weeks 8-16 hours/week once a month Object Oriented Programming in Java
Programming Languages, Part B UW 3 weeks 8-16 hours/week once a month Programming Languages, Part A
Programming Languages, Part C UW 3 weeks 8-16 hours/week once a month Programming Languages, Part B

Math

Courses School Duration Effort Frequency Prerequisites
Calculus 1A: Differentiation MIT 12 weeks 6-10 hours/week self-paced pre-calculus
Calculus 1B: Integration MIT 15 weeks 6-10 hours/week self-paced Calculus 1A: Differentiation
Calculus 1C: Coordinate Systems & Infinite Series MIT 8 weeks 6-10 hours/week self-paced Calculus 1B: Integration
Linear Algebra - Foundations to Frontiers UT Austin 15 weeks 6-10 hours/week self-paced pre-calculus
Introduction to Probability and Data Duke 5 weeks 5-7 hours/week twice a month none
Intro to Statistics Udacity 8 weeks 5-7 hours/week self-paced none

Systems

Courses School Duration Effort Frequency Prerequisites
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
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
Software Engineering: Introduction UBCx 6 weeks 8-10 hours/week self-paced Java Programming: Build a Recommendation System
Machine Learning Stanford 11 weeks 5-7 hours/week twice a month Linear Algebra - Foundations to Frontiers
Database Management Essentials CU 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
Linux Command Line Basics Udacity 1 week 5 hours/week self-paced none
The Unix Workbench JHU 4 weeks 4 hours/week once a month none

Core ethics

Topics covered: Social Context Analytical Tools Professional Ethics Intellectual Property Privacy and Civil Liberties and more

Courses Duration Effort Prerequisites Discussion
Ethics, Technology and Engineering 9 weeks 2 hours/week none chat
Introduction to Intellectual Property 4 weeks 2 hours/week none chat
Data Privacy Fundamentals 3 weeks 3 hours/week none chat

Advanced systems

Topics covered: digital signaling combinational logic CMOS technologies sequential logic finite state machines processor instruction sets caches pipelining virtualization parallel processing virtual memory synchronization primitives system call interface and more

Courses Duration Effort Prerequisites Notes
Computation Structures 1: Digital Circuits alternative 1 alternative 2 10 weeks 6 hours/week Nand2Tetris II Alternate links contain all 3 courses.
Computation Structures 2: Computer Architecture 10 weeks 6 hours/week Computation Structures 1
Computation Structures 3: Computer Organization 10 weeks 6 hours/week Computation Structures 2

Advanced theory

Topics covered: formal languages Turing machines computability event-driven concurrency automata distributed shared memory consensus algorithms state machine replication computational geometry theory propositional logic relational logic Herbrand logic game trees and more

Courses Duration Effort Prerequisites
Theory of Computation (alternative) 13 weeks 10 hours/week Mathematics for Computer Science, logic, algorithms
Computational Geometry 16 weeks 8 hours/week algorithms, C++
Game Theory 8 weeks 3 hours/week mathematical thinking, probability, calculus

Advanced Information Security

Courses Duration Effort Prerequisites
Web Security Fundamentals 5 weeks 4-6 hours/week understanding basic web technologies
Security Governance & Compliance 3 weeks 3 hours/week -
Digital Forensics Concepts 3 weeks 2-3 hours/week Core Security
Secure Software Development: Requirements, Design, and Reuse 7 weeks 1-2 hours/week Core Programming and Core Security
Secure Software Development: Implementation 7 weeks 1-2 hours/week Secure Software Development: Requirements, Design, and Reuse
Secure Software Development: Verification and More Specialized Topics 7 weeks 1-2 hours/week Secure Software Development: Implementation

Advanced math

Courses Duration Effort Prerequisites Discussion
Essence of Linear Algebra - - high school math chat
Linear Algebra 14 weeks 12 hours/week corequisite: Essence of Linear Algebra chat
Introduction to Numerical Methods 14 weeks 12 hours/week Linear Algebra chat
Introduction to Formal Logic 10 weeks 4-8 hours/week Set Theory chat
Probability 15 weeks 5-10 hours/week Differentiation and Integration chat

About

The Open Source Computer Science Degree sc: Ossu

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published