This glossary defines codebase-specific terms, jargon, and domain concepts used throughout the OSSU Computer Science curriculum and its technical infrastructure. It serves as a reference for students navigating the program and contributors managing the repository.
The foundational curricular standard used to design the OSSU program. It refers to the "Curriculum Guidelines for Undergraduate Degree Programs in Computer Science" published by the ACM and IEEE README.md42 These guidelines define the "Knowledge Areas" required for a comprehensive CS education CURRICULAR_GUIDELINES.md3-5
The first phase of the curriculum, intended for students to determine if Computer Science is the right field for them README.md49 It consists of introductory programming and computer science courses README.md90
The middle phase of the curriculum, corresponding to the first three years of a traditional CS degree README.md50 It covers eight fundamental areas: Programming, Math, Tools, Systems, Theory, Security, Applications, and Ethics README.md92-99
The final phase where students choose electives based on interest, corresponding to the final year of an undergraduate degree README.md51 Students typically select one specialization track (e.g., Advanced Systems) and complete all courses within it README.md67
A capstone project where students validate and consolidate their knowledge README.md52 It is evaluated by the global community of peers README.md106
Alternative course platforms (e.g., a course hosted on both Coursera and edX) provided in the curriculum to ensure accessibility if the primary link is unavailable FAQ.md19 FAQ.md82-85
A subset of the Lisp programming language used in the Systematic Program Design course coursepages/spd/README.md62-66 It is designed to minimize syntax overhead so students focus on program design patterns rather than language-specific quirks coursepages/spd/README.md70-73
The process used for making substantive changes to the curriculum. Contributors open an issue to discuss proposed updates before they are implemented CHANGELOG.md3 CONTRIBUTING.md5-12
The curriculum follows a versioning scheme where:
The following diagrams bridge the gap between natural language curriculum concepts and the specific file entities that implement them.
This diagram maps the educational phases to their primary entry points in the repository.
Sources: README.md48-53 README.md87-106 FAQ.md1-24
This diagram maps specific courses mentioned in the curriculum to their dedicated guidance files and projects.
Sources: coursepages/spd/README.md1-21 coursepages/ostep/README.md1-25 coursepages/ostep/Project-2A-processes-shell.md1-11
| Abbreviation | Full Name | Definition | Code Pointer |
|---|---|---|---|
| ACM | Association for Computing Machinery | Co-author of the curricular guidelines. | CURRICULAR_GUIDELINES.md11-13 |
| IEEE | Institute of Electrical and Electronics Engineers | Co-author of the curricular guidelines. | CURRICULAR_GUIDELINES.md15-18 |
| OSTEP | Operating Systems: Three Easy Pieces | The primary textbook/course for Core Systems. | coursepages/ostep/README.md1-6 |
| SPD | Systematic Program Design | The primary course for Core Programming. | coursepages/spd/README.md1-3 |
| xv6 | xv6 Operating System | A simplified Unix-like OS used in the OSTEP Extended Approach. | coursepages/ostep/README.md64 |
| WSL | Windows Subsystem for Linux | Recommended tool for Windows users to run OSTEP homework. | coursepages/ostep/README.md19 |
Sources: CURRICULAR_GUIDELINES.md11-18 coursepages/ostep/README.md1-64 coursepages/spd/README.md1-3
Refresh this wiki