The Goals

  • Become proficient in C# and .NET
  • Earn the freeCodeCamp Foundational C# with Microsoft certification
  • Build a portfolio of real projects
  • Land a software engineering job
  • Ship a game in S&Box/Steam

Where I’m Starting

Finished CS50’s Scratch yesterday. Check out my Scratch page.

Scratch was the perfect on-ramp: a fun introduction to coding while I got my affairs in order, and prepped for the true gauntlet.

The Roadmap

Phase 1 — CS50 Scratch (Apr 15 – Apr 28)

  • Complete all 9 weeks
  • Build every project

Phase 2 — C# Basics (Apr 29 – May 25)

  • Microsoft C# for Beginners playlist + Documentation
  • Start Dometrain Hands-On C# for Beginners
  • Start C# Player’s Guide
  • Project 1 — Number Guesser
  • Project 2 — Simple Calculator
  • Project 3 — Rock, Paper, Scissors
  • Project 4 — Word Counter / Text Analyzer
  • Project 5 — To-Do List
  • Project 6 — Simple Quiz Game
  • Project 7 — Temperature / Unit Converter

Phase 3 — Intermediate C# (May 26 – Jun 25)

  • freeCodeCamp Foundational C# with Microsoft certification
  • Begin Exercism C# track
  • Project 8 — Simple Banking App
  • Project 9 — Palindrome / String Utilities
  • Project 10 — Typing Speed / Reaction Timer
  • Project 11 — File Logger / Notes App
  • Project 12 — Mini Dice Roller
  • Project 13 — Shopping Cart Simulator

Phase 4 — Formalization (Jun 26 – Aug 2)

  • Begin Tim Corey YouTube
  • Exercism — push to finish remaining exercises
  • GitHub commit history should tell a clear story by now
  • Project 14 — Simple Contact Book
  • Project 15 — Mini Adventure Game
  • Project 16 — CLI RPG
  • Project 17 — API Fetch Project
  • Project 18 — Basic Budget Tracker

Phase 5 — S&Box Entry (Aug 3 – Aug 15, ongoing)

  • Project 19 — Simple State Machine
  • Read S&Box docs
  • Join and lurk Facepunch Discord
  • Build first tiny S&Box thing
  • Start Game Programming Patterns
  • Start Mark Price C# and .NET book

The Commitment

109 days of coding. Public. No excuses.

-奥奥 AoAo

#109DaysOfCode — because 100 wasn’t enough.