https://github.com/ktsu-dev/bytesizedotnet
https://github.com/ktsu-dev/bytesizedotnet
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ktsu-dev/bytesizedotnet
- Owner: ktsu-dev
- Created: 2025-06-08T07:23:19.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2026-01-24T23:02:32.000Z (4 months ago)
- Last Synced: 2026-01-25T12:10:49.892Z (4 months ago)
- Size: 549 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# .NET Byte-Size Curriculum
_A progressive learning path for .NET development focused on libraries, tools, and games_
## Overview
This curriculum is designed for 2-hour evening sessions with ADHD-friendly, focused projects. Each project teaches one core concept while building practical applications.
## Learning Philosophy
- **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
## Essential Resources Before You Start
1. 📏 **[Microsoft Design Guidelines](microsoft-design-guidelines.md)** - The foundation for all .NET code
2. 📚 **[Curriculum Details](curriculum-details.md)** - What you'll build (detailed project breakdown)
3. 🧠 **[Language Essentials](language-essentials.md)** - Core .NET concepts you need to know
4. 🎯 **[Progress Tracker](progress-tracker.md)** - Track your journey through the curriculum
## Quick Reference Resources
5. 📖 **[Reference Directory](reference/)** - Deep-dive references when you need them
- **[Glossary](reference/glossary.md)** - .NET terminology explained
- **[Language Comparison](reference/language-comparison.md)** - How .NET maps to other languages
- **[Quick Syntax](reference/quick-syntax.md)** - Handy syntax reference
---
## Project Structure
**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.
---
## Curriculum Overview
### Phase 1: .NET Fundamentals & Idioms (Projects 1-4)
**Focus**: Core language features and conventions
1. **Dice Rolling Library** - Type system & naming conventions
2. **Card Deck Shuffler** - Collections & enumerables
3. **String Processing Utilities** - Extension methods & fluent APIs
4. **State Machine** - Pattern matching & switch expressions
### Phase 2: Advanced Language Features (Projects 5-8)
**Focus**: Modern C# capabilities
5. **Game Statistics Analyzer** - LINQ & deferred execution
6. **File-Based Game Save System** - Async/await programming
7. **Event-Driven Audio Manager** - Delegates, events & functional programming
8. **Generic Object Pool** - Generics & constraints
### Phase 3: Architecture & Design Patterns (Projects 9-12)
**Focus**: Software design principles
9. **Modular Game Plugin System** - Dependency injection & IoC
10. **Procedural Dungeon Generator** - Builder & factory patterns
11. **Game Input Manager** - Observer & command patterns
12. **Game Asset Manager** - Repository pattern & unit of work
### Phase 4: Advanced .NET Features (Projects 13-16)
**Focus**: Runtime and performance features
13. **Configuration System** - Reflection & attributes
14. **Dynamic Query Builder** - Expression trees & dynamic code
15. **High-Performance Game Buffer** - Memory management & spans
16. **Native Library Wrapper** - Unsafe code & interop
### Phase 5: Integration & Advanced Systems (Projects 17-20)
**Focus**: System integration and advanced topics
17. **Mini Game Engine** - Integration capstone combining all concepts
18. **Real-Time Multiplayer System** - Networking & real-time communication
19. **Extensible Modding Framework** - Plugin architecture & extensibility
20. **Performance Profiling Suite** - Diagnostics & performance analysis
---
## Getting Started
### 1. **Read the Foundation** 📏
Start with [Microsoft Design Guidelines](microsoft-design-guidelines.md) to understand .NET conventions and best practices.
### 2. **Plan Your Journey** 📚
Review [Curriculum Details](curriculum-details.md) to understand what you'll build and learn in each project.
### 3. **Set Up Tracking** 🎯
Use the [Progress Tracker](progress-tracker.md) to monitor your advancement and reflect on learnings.
### 4. **Reference as Needed** 📖
Bookmark the [Reference Directory](reference/) for quick lookups during development.
---
## Final Projects (Choose One)
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
---
## Contributing
This curriculum is open for contributions! See individual project folders for specific contribution guidelines.
---
## Learning Support
- **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