This repository contains my personalized computer science and cybersecurity curriculum, built from multiple highly-regarded educational resources, including the OSSU (Open Source Society University) curriculum and additional specialized cybersecurity materials. I've structured this as a comprehensive self-directed learning path with a focus on cybersecurity specialization.
-
comprehensive-course-outline.md: The complete curriculum structured by year and semester, including all courses, projects, and resources.
-
progress-tracker.md: A detailed checklist format of the curriculum to track progress through individual courses and projects.
-
CS50-python-projects.md: Collection of projects from Harvard's CS50 Python course, with my implementations and notes.
-
project-based-learning-projects-resources.md: Curated list of hands-on programming projects organized by language and technology.
-
official-documentation.md: Curated collection provides links to official documentation for various programming languages.
-
command-line-help.md: Curated list of Linux command line tools and tips to help you out if you're new to command line interfaces.
The curriculum has been enhanced with additional high-quality resources, including:
- MIT's Structure and Interpretation of Computer Programs
- UC Berkeley's Great Ideas in Computer Architecture
- Nand2Tetris complete course materials
- Additional mathematics resources (Linear Algebra, Discrete Mathematics)
- Computer networking materials from Stanford
- Database systems from Berkeley
- Distributed systems lectures and reading materials
All of these resources are free and have been integrated into the appropriate sections in the comprehensive course outline.
If you're interested in following a similar learning path:
- Start by reviewing the comprehensive-course-outline.md to understand the full curriculum structure
- Use the progress-tracker.md as a template to track your own progress
- Explore the project resources for practical applications of concepts you're learning
This repository serves as my:
- Central roadmap for education in computer science and cybersecurity
- Progress tracking system for courses and projects
- Reference for project ideas and resources
- Documentation of my learning journey
The curriculum is designed as a four-year equivalent program:
- Year 1: Foundations in programming, mathematics, and core CS concepts
- Year 2: Core computing principles, algorithms, data structures, and security basics
- Year 3: Advanced topics in computer science and specialized areas
- Year 4: Cybersecurity specialization and professional certification preparation
This curriculum has a specialized focus on cybersecurity, including:
- Core security principles and methodologies
- Ethical hacking and penetration testing
- Network security and cryptography
- Supply chain security specialization
- Professional certification preparation (Security+, PenTest+, OSCP)
I regularly update my progress in the progress-tracker.md file. Current status:
- Completed:
- In Progress: CS50 Intro to programming with Python
- Upcoming:
Here are some more free resources that would complement your curriculum:
- Free Programming Books (by Language) - An extensive collection of free programming books organized by language
- Free Programming Books (by Subject) - A collection of programming books organized by subject matter
- Other Programming Resources.md - Curated list of tutorials, interactive courses, and reference materials
This curriculum draws from several excellent educational resources, each contributing valuable approaches, content, and frameworks that have shaped this comprehensive learning path. We'd like to express our gratitude to the following projects and organizations whose work has made this repository possible:
- OSSU Computer Science Curriculum - For providing a structured approach to self-taught computer science education and curating high-quality free courses
- Project-Based Learning Resources - For their extensive collection of hands-on programming projects organized by language and technology
- Harvard's CS50 Courses - For creating accessible, high-quality introductory computer science and programming courses
- Free Programming Books - For their extensive collection of free programming books organized by languages and subjects
- Free Ebook Foundation - For their commitment to making educational resources freely available
- Various language documentation projects including Python, JavaScript, Java, and more, for providing comprehensive references that serve as the foundation for technical learning
- MIT OpenCourseWare - For making MIT course materials freely accessible
- Stanford Online - For their free online course offerings
- Khan Academy - For their mathematics and computer science foundations
- Nand2Tetris - For their groundbreaking approach to teaching computer systems from first principles
- TryHackMe - For creating accessible cybersecurity learning paths and practical exercises
- OWASP - For their web application security resources and guides
- Cybrary - For providing free cybersecurity training materials
- CompTIA - For certification frameworks that helped structure the security curriculum
- Hacker101 - For their free web security class
- Teach Yourself Computer Science - For their thoughtfully curated guide to self-study
- The Algorithm Design Manual - For structured approach to algorithm education
- Various university open course materials from institutions like Berkeley, Princeton, and Carnegie Mellon
- The Missing Semester of Your CS Education - For teaching practical development tools often overlooked in traditional CS education
- Full Stack Open - For their modern web development curriculum
- Software Engineering at Google - For insights into professional software engineering practices
This repository stands on the shoulders of these educational giants, and we are deeply grateful for their commitment to open education and the democratization of knowledge in computer science and cybersecurity.
All personal notes and implementations are shared under MIT License. Referenced materials retain their original licenses.