computer-science

Computer Science curriculum

A comprehensive education in computer science using online materials.

🎓 Path to a free self-taught education in Computer Science!

GitHub

173k stars
6k watching
22k forks
last commit: 25 days ago
Linked from 10 awesome lists

awesome-listcomputer-sciencecoursescurriculum

Summary

CS 2013 Match the curricular standards of the : Curriculum Guidelines for Undergraduate Degree Programs in Computer Science

Community

We have a Discord server! This should be your first stop to talk with other OSSU students. Why don't you introduce yourself right now?
here You can also interact through GitHub issues. If there is a problem with a course, or a change needs to be made to the curriculum, this is the place to start the conversation. Read more
Linkedin Add to your profile!
FAQ An unmaintained and deprecated firebase app. Read more in the

Curriculum / Intro CS / Introduction to Programming

Introduction to programming
chat

Curriculum / Intro CS / Introduction to Computer Science

Introduction to Computer Science and Programming using Python
high school algebra
chat

Curriculum / Core CS / Core programming

Systematic Program Design
part 1 chat: /
Class-based Program Design
chat
Programming Languages, Part A
Hear instructor Systematic Program Design ( )
chat
Programming Languages, Part B
chat
Programming Languages, Part C
chat
Object-Oriented Design
chat
Software Architecture
chat

Curriculum / Core CS / Core math

Calculus 1A: Differentiation ( )
high school math
chat
Calculus 1B: Integration
chat
Calculus 1C: Coordinate Systems & Infinite Series
chat
Mathematics for Computer Science ( )
2015/2019 solutions 138 3 months ago
chat

Curriculum / Core CS / CS Tools

The Missing Semester of Your CS Education
chat

Curriculum / Core CS / Core systems

Build a Modern Computer from First Principles: From Nand to Tetris ( )
chat
Build a Modern Computer from First Principles: Nand to Tetris Part II
these programming languages one of , From Nand to Tetris Part I
chat
Operating Systems: Three Easy Pieces
chat
Computer Networking: a Top-Down Approach
Wireshark Labs
chat

Curriculum / Core CS / Core theory

Divide and Conquer, Sorting and Searching, and Randomized Algorithms
chat
Graph Search, Shortest Paths, and Data Structures
chat
Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
chat
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
chat

Curriculum / Core CS / Core security

Cybersecurity Fundamentals
chat
Principles of Secure Coding
chat
Identifying Security Vulnerabilities
chat
Identifying Security Vulnerabilities in C/C++Programming
chat
Exploiting and Securing Vulnerabilities in Java Applications
chat

Curriculum / Core CS / Core applications

Databases: Modeling and Theory
chat
Databases: Relational Databases and SQL
chat
Databases: Semistructured Data
chat
Machine Learning
chat
Computer Graphics ( )
chat
Software Engineering: Introduction
sizable project Core Programming, and a
chat

Curriculum / Core CS / Core ethics

Ethics, Technology and Engineering
chat
Introduction to Intellectual Property
chat
Data Privacy Fundamentals
chat

Curriculum / Advanced CS / Advanced programming

Parallel Programming
Compilers
Introduction to Haskell
Learn Prolog Now! ( )*
Software Debugging
Software Testing

Curriculum / Advanced CS / Advanced systems

Computation Structures 1: Digital Circuits
Nand2Tetris II
Computation Structures 2: Computer Architecture
Computation Structures 3: Computer Organization

Curriculum / Advanced CS / Advanced theory

Theory of Computation ( )
Mathematics for Computer Science , logic, algorithms
Computational Geometry
Game Theory

Curriculum / Advanced CS / Advanced Information Security

Web Security Fundamentals
Security Governance & Compliance
Digital Forensics Concepts
Secure Software Development: Requirements, Design, and Reuse
Secure Software Development: Implementation
Secure Software Development: Verification and More Specialized Topics

Curriculum / Advanced CS / Advanced math

Essence of Linear Algebra
high school math
chat
Linear Algebra
chat
Introduction to Numerical Methods
Linear Algebra
chat
Introduction to Formal Logic
Set Theory
chat
Probability
Differentiation and Integration
chat

Curriculum / Final project

Fullstack Open
Modern Robotics (Specialization)
linear ordinary differential equations freshman-level physics, linear algebra, calculus,
Data Mining (Specialization)
Big Data (Specialization)
Internet of Things (Specialization)
Cloud Computing (Specialization)
Data Science (Specialization)
Functional Programming in Scala (Specialization)
Game Design and Development with Unity 2020 (Specialization)

Curriculum / Congratulations

readings Check out the for classic books you can read that will sharpen your skills and expand your knowledge
meetup.com Join a local developer meetup (e.g. via )

Curriculum / Congratulations / Pay attention to emerging technologies in the world of software development:

Elixir Explore the through , a new functional programming language for the web based on the battle-tested Erlang Virtual Machine!
Rust Explore through , a systems language which achieves memory- and thread-safety without a garbage collector!
Idris Explore through , a new Haskell-inspired language with unprecedented support for type-driven development

Backlinks from these awesome lists: