A progressive learning path for .NET development focused on libraries, tools, and games
This curriculum is designed for 2-hour evening sessions with ADHD-friendly, focused projects. Each project teaches one core concept while building practical applications.
- Single Focus: Each project teaches one main concept
- Independent Projects: No project dependencies to maintain focus
- Practical Applications: Libraries, tools, and games over web services
- Progressive Complexity: Concepts build upon each other logically
- Template-Driven: Pre-configured project templates (Projects 2-20) streamline setup and let you focus on learning
- 📏 Microsoft Design Guidelines - The foundation for all .NET code
- 📚 Curriculum Details - What you'll build (detailed project breakdown)
- 🧠 Language Essentials - Core .NET concepts you need to know
- 🎯 Progress Tracker - Track your journey through the curriculum
- 📖 Reference Directory - Deep-dive references when you need them
- Glossary - .NET terminology explained
- Language Comparison - How .NET maps to other languages
- Quick Syntax - Handy syntax reference
Template Information: All projects except Project 1 include pre-configured .NET solution templates:
project-xx-name/
├── ProjectName.sln # Solution file with references
├── ProjectName.Core/ # Main library (.NET 8.0)
├── ProjectName.App/ # Console app for testing
├── ProjectName.Tests/ # Unit tests (MSTest)
└── README.md # Detailed instructions
Project 1 requires manual setup to teach foundational .NET project creation skills. Projects 2-20 include templates so you can focus on implementation and learning concepts rather than project configuration.
Focus: Core language features and conventions
- Dice Rolling Library - Type system & naming conventions
- Card Deck Shuffler - Collections & enumerables
- String Processing Utilities - Extension methods & fluent APIs
- State Machine - Pattern matching & switch expressions
Focus: Modern C# capabilities
- Game Statistics Analyzer - LINQ & deferred execution
- File-Based Game Save System - Async/await programming
- Event-Driven Audio Manager - Delegates, events & functional programming
- Generic Object Pool - Generics & constraints
Focus: Software design principles
- Modular Game Plugin System - Dependency injection & IoC
- Procedural Dungeon Generator - Builder & factory patterns
- Game Input Manager - Observer & command patterns
- Game Asset Manager - Repository pattern & unit of work
Focus: Runtime and performance features
- Configuration System - Reflection & attributes
- Dynamic Query Builder - Expression trees & dynamic code
- High-Performance Game Buffer - Memory management & spans
- Native Library Wrapper - Unsafe code & interop
Focus: System integration and advanced topics
- Mini Game Engine - Integration capstone combining all concepts
- Real-Time Multiplayer System - Networking & real-time communication
- Extensible Modding Framework - Plugin architecture & extensibility
- Performance Profiling Suite - Diagnostics & performance analysis
Start with Microsoft Design Guidelines to understand .NET conventions and best practices.
Review Curriculum Details to understand what you'll build and learn in each project.
Use the Progress Tracker to monitor your advancement and reflect on learnings.
Bookmark the Reference Directory for quick lookups during development.
After completing the 20 core projects, choose a capstone project:
- Game Engine Architecture - Combine multiple patterns into a cohesive game engine
- Development Toolchain - Build a complete development workflow with CI/CD
- Performance-Critical Library - Create a highly optimized library using advanced .NET features
This curriculum is open for contributions! See individual project folders for specific contribution guidelines.
- Microsoft Guidelines Integration - Each project explicitly references relevant design guidelines
- Cross-References - Documents link to related concepts across the curriculum
- Progressive Disclosure - Start simple, reference deeper material as needed
- Practical Focus - Every concept is taught through building real libraries and tools