computer-science
🎓 Path to a free self-taught education in Computer Science!
A free, self-paced curriculum that maps out a complete undergraduate computer science education using open online courses from Harvard, MIT, and Princeton, structured study path, no university enrollment needed.
This repository, called Open Source Society University, is a curated curriculum that lays out a path to a complete self-taught undergraduate-level education in computer science using free online materials. The README is clear this is not just career training but "for those who want a proper, well-rounded grounding in concepts fundamental to all computing disciplines." It is designed against the degree requirements of a computer science major, minus the general education courses, and the courses are pulled from sources like Harvard, Princeton, and MIT. The way it works is that the README is the curriculum itself. It is organized into Intro CS (a taster), Core CS (roughly the first three years of a CS major, with sub-areas for core programming, math, CS tools, systems, theory, security, applications, and ethics), Advanced CS (electives roughly equivalent to a final year, grouped into advanced programming, systems, theory, information security, and math), and a Final Project meant to consolidate everything and be peer-evaluated. Courses are chosen only if they are open for enrollment, run regularly, are high quality, and match the CS 2013 curricular guidelines; if no suitable course exists, a book is used. The README estimates the curriculum can be finished in about two years at around 20 hours per week. Someone would use this when they want a structured route through a CS education without enrolling in a university — a checklist of what to study, in what order, with vetted external courses for each topic. Most material is free, though some platforms charge for graded assignments. A Discord community supports learners.
Where it fits
- Follow a structured CS learning path from beginner to advanced without enrolling in a university.
- Use the curriculum as a checklist to find gaps in your self-taught CS knowledge and fill them systematically.
- Find vetted free courses for specific CS topics like algorithms, systems theory, or computer security.
- Prepare for software engineering interviews by completing the foundational CS theory sections.