Skip to content

Tracking my progress through the OSSU Computer Science curriculum.

License

Notifications You must be signed in to change notification settings

SelormDev/computer-science

OSSU - Computer Science


🎯 What This Repository Is About

This repository is dedicated to tracking my journey through the OSSU Computer Science curriculum. This curriculum is a complete path to obtaining a strong foundation in computer science, covering a wide range of topics from programming to systems, theory, and applications.

πŸ“š What I’m Doing

I am dedicated to self-paced learning, focusing on mastering the fundamentals of computer science. I will document my progress here, including:

  • Notes and summaries of key concepts
  • Code implementations and projects
  • Solutions to problem sets
  • Reflections and takeaways from each course

πŸ“ˆ Current Progress

Systematic Program Design - Part 1

Module Status
0: Introduction Completed
1a: Beginning Student Language Completed
1b: How to Design Functions Completed
2: How to Design Data In Progress

πŸ“ Detailed Learning Path & Progress

The OSSU curriculum contains several topics, each with multiple courses. Below is a table listing all the main areas of study.

πŸ“š Intro CS

βœ… Introduction to Programming

Courses Topics covered Notes Certificate
Introduction to programming simple programs simple data structures -

βœ… Introduction to Computer Science

Courses Topics covered Notes Certificate
Introduction to Computer Science and Programming using Python computation imperative programming basic data structures and algorithms -

πŸ“š Core CS

Core Programming

Courses Topics covered Notes Certificate
Systematic Program Design BSL HtDF link -
Class-based Program Design - - -
Programming Languages, Part A - - -
Programming Languages, Part B - - -
Programming Languages, Part C - - -
Object-Oriented Design - - -
Software Architecture - - -

Core math

Courses Topics covered Notes Certificate
Calculus 1A: Differentiation - - -
Calculus 1B: Integration - - -
Calculus 1C: Coordinate Systems & Infinite Series - - -
Mathematics for Computer Science - - -

CS Tools

Courses Topics covered Notes Certificate
The Missing Semester of Your CS Education - - -

Core Systems

Courses Topics covered Notes Certificate
Build a Modern Computer from First Principles: From Nand to Tetris (alternative) - - -
Build a Modern Computer from First Principles: Nand to Tetris Part II - - -
Operating Systems: Three Easy Pieces - - -
Computer Networking: a Top-Down Approach - - -

Core Theory

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

Core Security

Courses Topics covered Notes Certificate
Cybersecurity Fundamentals - - -
Principles of Secure Coding - - -
Identifying Security Vulnerabilities - - -
Choose one of the following:
Identifying Security Vulnerabilities in C/C++Programming - - -
Exploiting and Securing Vulnerabilities in Java Applications - - -

Core Applications

Courses Topics covered Notes Certificate
Databases: Modeling and Theory - - -
Databases: Relational Databases and SQL - - -
Databases: Semistructured Data - - -
Machine Learning - - -
Computer Graphics (alternative) - - -
Software Engineering: Introduction - - -

Core Ethics

Courses Topics covered Notes Certificate
Ethics, Technology and Engineering - - -
Introduction to Intellectual Property - - -
Data Privacy Fundamentals - - -

πŸ“š Advanced CS

| Advanced Programming

Courses Topics covered Notes Certificate
Parallel Programming - - -
Compilers - - -
Introduction to Haskell - - -
Learn Prolog Now! (alternative)* - - -
Software Debugging - - -
Software Testing - - -

(*) book by Blackburn, Bos, Striegnitz (compiled from source, redistributed under CC license)

Advanced Systems

Courses Topics covered Notes Certificate
Computation Structures 1: Digital Circuits alternative 1 alternative 2 - - -
Computation Structures 2: Computer Architecture - - -
Computation Structures 3: Computer Organization - - -

Advanced Theory

Courses Topics covered Notes Certificate
Theory of Computation (alternative) - - -
Computational Geometry - - -
Game Theory - - -

Advanced Information Security

Courses Topics covered Notes Certificate
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 - - -

Advanced Math

Courses Topics covered Notes Certificate
Essence of Linear Algebra - - -
Linear Algebra - - -
Introduction to Numerical Methods - - -
Introduction to Formal Logic - - -
Probability - - -

πŸ“š Final Project

Courses Topics covered Notes Certificate
Fullstack Open - - -
Modern Robotics (Specialization) - - -
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) - - -

πŸš€ How This Repo Will Evolve

As I complete each course, I will:

  • Upload notes and projects for each topic.
  • Create a dedicated folder for each course, containing assignments, code files, and additional resources.
  • Share my learnings and key takeaways in the form of blog posts or video tutorials.

Stay tuned for more updates as I continue through the OSSU curriculum!

About

Tracking my progress through the OSSU Computer Science curriculum.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Contributors