GitHub

Open Source Society University (OSSU)

What is the project about?

OSSU is a free, self-taught curriculum for a complete education in Computer Science using online materials. It's designed for those seeking a well-rounded understanding of fundamental computing concepts, similar to an undergraduate CS degree.

What problem does it solve?

It provides a structured, high-quality, and free path to a comprehensive Computer Science education for individuals who may not have access to traditional university programs or prefer a self-paced learning environment. It removes the financial and accessibility barriers to quality CS education.

What are the features of the project?

  • Complete Curriculum: Covers core CS topics (programming, math, systems, theory, security, applications, ethics), advanced topics, and a final project.
  • Curated Resources: Uses courses from top universities (Harvard, MIT, Princeton, etc.) and other high-quality online materials.
  • Self-Paced: Learners can progress at their own speed.
  • Community Support: A Discord server and GitHub issues provide a platform for interaction and support among learners.
  • Structured Learning: Courses are organized into Intro CS, Core CS, Advanced CS, and a Final Project.
  • Free Materials: Most course materials are available for free, with some optional paid components for graded assignments.

What are the technologies used in the project?

The project itself is a curriculum, so it doesn't use technologies in the same way a software project does. However, the curriculum covers a wide range of technologies, including:

  • Programming Languages: Python, Standard ML, Racket, Ruby, C, C++, Java, Scala, Haskell, Prolog, and more.
  • Tools: Vim, command-line tools, version control (Git), and more.
  • Concepts: Operating systems, networking, databases, machine learning, computer graphics, software engineering, security, and more.
  • Platforms: Coursera, edX, MIT OpenCourseWare, and other online learning platforms.

What are the benefits of the project?

  • Accessibility: Free and open to anyone with an internet connection.
  • Flexibility: Self-paced learning allows individuals to fit their studies around their lives.
  • Quality: Uses materials from top universities and reputable sources.
  • Comprehensiveness: Covers a broad range of CS topics, providing a solid foundation.
  • Community: Provides a supportive community of fellow learners.
  • Career Advancement: Equips learners with the knowledge and skills needed for software development roles.

What are the use cases of the project?

  • Career Changers: Individuals looking to transition into a career in software development.
  • Self-Taught Developers: Those who want to formalize their knowledge and fill in gaps in their understanding.
  • Students: Supplementing university coursework or exploring CS before committing to a degree.
  • Lifelong Learners: Anyone interested in gaining a deep understanding of Computer Science.
  • Hobbyists: Individuals who want to learn programming and computer science for personal projects.

computer-science screenshot