Skip to content

ktsu-dev/ByteSizeDotnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.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 - The foundation for all .NET code
  2. 📚 Curriculum Details - What you'll build (detailed project breakdown)
  3. 🧠 Language Essentials - Core .NET concepts you need to know
  4. 🎯 Progress Tracker - Track your journey through the curriculum

Quick Reference Resources

  1. 📖 Reference Directory - Deep-dive references when you need them

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

  1. Game Statistics Analyzer - LINQ & deferred execution
  2. File-Based Game Save System - Async/await programming
  3. Event-Driven Audio Manager - Delegates, events & functional programming
  4. Generic Object Pool - Generics & constraints

Phase 3: Architecture & Design Patterns (Projects 9-12)

Focus: Software design principles

  1. Modular Game Plugin System - Dependency injection & IoC
  2. Procedural Dungeon Generator - Builder & factory patterns
  3. Game Input Manager - Observer & command patterns
  4. Game Asset Manager - Repository pattern & unit of work

Phase 4: Advanced .NET Features (Projects 13-16)

Focus: Runtime and performance features

  1. Configuration System - Reflection & attributes
  2. Dynamic Query Builder - Expression trees & dynamic code
  3. High-Performance Game Buffer - Memory management & spans
  4. Native Library Wrapper - Unsafe code & interop

Phase 5: Integration & Advanced Systems (Projects 17-20)

Focus: System integration and advanced topics

  1. Mini Game Engine - Integration capstone combining all concepts
  2. Real-Time Multiplayer System - Networking & real-time communication
  3. Extensible Modding Framework - Plugin architecture & extensibility
  4. Performance Profiling Suite - Diagnostics & performance analysis

Getting Started

1. Read the Foundation 📏

Start with Microsoft Design Guidelines to understand .NET conventions and best practices.

2. Plan Your Journey 📚

Review Curriculum Details to understand what you'll build and learn in each project.

3. Set Up Tracking 🎯

Use the Progress Tracker to monitor your advancement and reflect on learnings.

4. Reference as Needed 📖

Bookmark the Reference Directory 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published