What Are the Course Categories in the OSSU Curriculum? A Complete Guide

The OSSU Computer Science curriculum organizes learning into five sequential categories—Prerequisites, Intro CS, Core CS, Advanced CS, and Final Project—structured to mirror a traditional undergraduate CS degree.

The Open Source Society University (OSSU) provides a free, self-paced computer science curriculum equivalent to a four-year degree. Understanding the course categories helps learners navigate the repository and plan their educational journey effectively.

Overview of the Curriculum Architecture

The canonical curriculum structure lives in the repository's root README.md file, specifically between lines 48 and 106. This document defines the high-level progression from foundational knowledge through advanced specialization, culminating in a capstone project.

The OSSU maintains a strict hierarchical organization where Core CS represents roughly the first three years of undergraduate study, while Advanced CS corresponds to the final year of specialization.

The Five Main Course Categories

Each category serves a distinct purpose in the learner's progression, with specific sub-categories grouping related technical topics.

Prerequisites

The Prerequisites section (lines 110-116 of README.md) establishes baseline knowledge expectations before beginning formal computer science coursework. This category covers high-school level mathematics and physics concepts necessary for algorithmic thinking.

Learners should verify competency in these areas before proceeding to Intro CS, as later courses assume this foundational preparation.

Intro CS

Intro CS provides a single entry-point course designed for absolute beginners. According to lines 117-124 of the main README, this section introduces basic computation, imperative programming fundamentals, and elementary data structures.

This starter module ensures all learners possess essential programming literacy before tackling the intensive Core CS sequence.

Core CS

The Core CS category (lines 131-196) constitutes the curriculum's backbone, containing eight distinct sub-categories that cover traditional undergraduate computer science topics:

  • Core programming – Programming paradigms and software construction
  • Core math – Discrete mathematics and linear algebra
  • CS Tools – Version control, shell scripting, and development environments
  • Core systems – Computer architecture, operating systems, and networks
  • Core theory – Algorithms, data structures, and computational complexity
  • Core security – Information security fundamentals
  • Core applications – Software engineering and database systems
  • Core ethics – Professional responsibility and computing ethics

These sub-categories collectively deliver comprehensive coverage equivalent to years 1-3 of a university CS program.

Advanced CS

Advanced CS (lines 301-389) enables specialization during the final stages of study. This category contains five advanced sub-categories allowing learners to pursue niche interests:

  • Advanced programming – Compilers, functional programming, and software verification
  • Advanced systems – Distributed systems and computer architecture
  • Advanced theory – Complex algorithms and cryptography
  • Advanced information security – Network security and cryptographic protocols
  • Advanced math – Probability, statistics, and numerical methods

Learners select courses from these sub-categories based on career objectives and personal interests rather than completing every offering.

Final Project

The Final Project (lines 398-405) serves as the curriculum capstone. This category requires learners to synthesize knowledge from all previous sections by completing a substantial real-world project or solving a complex technical problem.

The final project demonstrates practical competency and portfolio-ready work samples for potential employers.

Repository Structure and Implementation

The curriculum leverages a data-driven approach where category definitions in README.md reference detailed course specifications stored throughout the repository.

Individual course entries reside in the coursepages/ directory. For example, the Systematic Program Design course referenced in the Intro CS section maintains its full description in coursepages/spd/README.md.

A typical course entry appears in the main curriculum table using this markdown format:

| [Systematic Program Design](coursepages/spd/README.md) | 13 weeks | 8-10 h/week | none | chat: [part 1](https://discord.gg/RfqAmGJ) / [part 2](https://discord.gg/kczJzpm)

Supplemental resources for each category appear in the extras/ directory, while _config.yml handles Jekyll site generation for the curriculum's web presentation.

Summary

  • The OSSU curriculum defines five main categories: Prerequisites, Intro CS, Core CS, Advanced CS, and Final Project.
  • Core CS contains eight sub-categories covering foundational computer science topics from programming to ethics.
  • Advanced CS offers five specialization tracks for final-year study.
  • Category definitions reside in README.md (lines 48-406), while individual courses populate the coursepages/ directory.
  • The structure mirrors a traditional four-year CS degree, enabling self-paced but comprehensive education.

Frequently Asked Questions

What are the sub-categories within Core CS?

Core CS contains eight sub-categories: Core programming, Core math, CS Tools, Core systems, Core theory, Core security, Core applications, and Core ethics. These divisions group related coursework covering everything from discrete mathematics to software engineering principles and professional ethics.

How is the OSSU curriculum structured in the GitHub repository?

The primary structure appears in the root README.md file, which defines all categories and sub-categories. Individual course details live in separate markdown files within the coursepages/ directory hierarchy, while supplementary materials reside in extras/. This separation keeps the main curriculum readable while allowing detailed course specifications.

Can I skip Prerequisites and start with Core CS?

The Prerequisites section (lines 110-116 of README.md) lists expected high-school mathematics and physics knowledge. While learners with existing STEM backgrounds may bypass explicit review, the curriculum assumes competency in these areas before Intro CS. Skipping prerequisites risks difficulty with the mathematical rigor present in Core CS theory and algorithms courses.

Where are individual course details stored in the OSSU repository?

Specific course information resides in the coursepages/ directory, with each major course maintaining its own subdirectory containing a README.md file. For instance, coursepages/spd/README.md contains the full syllabus, prerequisites, and study resources for the Systematic Program Design course referenced in the Intro CS category.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →