Skip to content

SelormDev/computer-science

Repository files navigation

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 Attempting Quiz 1

πŸ“ 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

Security policy

Stars

Watchers

Forks

Sponsor this project