DEV Community

Moustafa Ismail
Moustafa Ismail

Posted on

I'm Teaching Myself Computer Science from Scratch — Here's My 15/20-Month Plan

To become unhireable-proof in Software Engineering and Cybersecurity, I am committing to a 15–20 month rigorous curriculum. Here is the blueprint.

🧱 Phase 0: Bootstrap
CS50x & MIT Missing Semester: Mastering C, Python, SQL, and terminal scripting to get dangerous fast.

🔨 Project - Football Stats Scraper: Building a custom Python data pipeline to scrape, clean, and structure live web data.

🧠 Phase 1: Computational Thinking
UC Berkeley CS 61A & MIT Math for CS: Rewiring my logical brain with recursion, higher-order functions, and discrete math proofs.

🔨 Project - 2D Space Invaders Game: Architecting a real-time game loop and factory patterns from scratch without relying on heavy frameworks.

⚙️ Phase 2: Hardware & The Machine
Nand to Tetris: The ultimate bottom-up approach to understanding how a computer actually thinks.

🔨 Project - Build a Computer: Constructing a working machine step-by-step, starting purely from basic NAND gates all the way up to a high-level programming language.

🖥️ Phase 3: Systems Programming
Rust Book, OS: Three Easy Pieces, & Computer Networking: Deep diving into memory ownership, virtualization, and TCP/IP sockets.

🔨 Project - Mini Operating System: Writing a bootloader, round-robin scheduler, and interrupt handler to understand exactly what happens under the hood when a program runs.

☁️ Phase 4: Data, Scale & Cloud
DDIA, Database Internals, & MIT 6.824: Where senior engineers live. Mastering replication, B-Trees, and distributed consensus algorithms like Raft.

🔨 Project - Database from Scratch: Implementing an append-only log, indexing, and query parsing to completely demystify how engines like PostgreSQL actually work.

🛡️ Phase 5: Security & Adversarial Thinking
Hacking: The Art of Exploitation & Web App Hacker's Handbook: Transitioning into a cybersecurity mindset by understanding buffer overflows, shellcode, and the OWASP Top 10.

🔨 Project - Custom Vulnerability Scanner: Building tools to scan web projects and crack password hashes to understand exploitation from an attacker's perspective.

🤖 Phase 6: AI/ML Literacy
Stanford CS229 & fast.ai: Learning the linear algebra, SVMs, and neural networks behind the tools reshaping our industry.

🔨 Project - ML Football Predictor: Creating a full machine learning pipeline to feature engineer my scraped data, train a predictive model, and deploy it as an API.

👾 Phase 7: Algorithms & The Final Boss
Sipser’s Theory of Computation & Crafting Interpreters: The mathematical soul of computer science and practical compiler design, alongside Neetcode 150 for interview prep.

🔨 Project - Custom Text Editor & Compiler: Mastering pure data structures with a gap buffer, then writing a Lexer, Parser, and AST for a custom language.

🏆 Ultimate Capstone - CHIP-8 Emulator: Integrating hardware, systems, and low-level programming into one massive CPU emulation project.

Top comments (0)