Skip to content

πŸ¦€ A comprehensive Rust bootcamp for C# developers. Learn Rust by fixing broken code, building real projects, and leveraging your existing C# knowledge. Created with Claude Desktop assistance.

Notifications You must be signed in to change notification settings

jerrelblankenship/rust-bootcamp

Repository files navigation

πŸ¦€ Rust Bootcamp for C# Developers

License: MIT Rust C#

A comprehensive curriculum designed specifically for C# developers transitioning to Rust

πŸ€– Built with Claude Desktop - This bootcamp demonstrates AI-assisted curriculum development, creating a structured learning path that strategically leverages your existing C# knowledge to accelerate Rust mastery.

🎯 Learning Objectives

By the end of this bootcamp, you will: Learning Philosophy: 70% Doing, 30% Teaching - Master Rust through guided discovery and real compiler errors.

  • βœ… Master Rust's ownership model and understand how it guarantees memory safety without garbage collection
  • βœ… Build high-performance, concurrent applications that rival C/C++ in speed
  • βœ… Create robust command-line tools with excellent error handling
  • βœ… Profile and optimize Rust applications for maximum performance
  • βœ… Understand systems programming concepts and low-level operations
  • βœ… Leverage Rust's powerful type system for compile-time correctness
  • βœ… Apply Rust idioms and best practices in real-world projects

βœ… Built for C# Developers

  • Leverages your existing programming knowledge
  • Direct C# ↔ Rust comparisons throughout
  • Enterprise-focused examples and use cases

βœ… Learn by Fixing Broken Code

  • Every exercise starts with compilation errors
  • Rust's excellent compiler messages guide your learning
  • Build intuition through debugging, not reading

βœ… Progressive Skill Building

  • Each module builds on the previous one
  • Real projects apply concepts immediately
  • Professional debugging and troubleshooting support

πŸ“‹ Quick Start Paths

New to Rust? Start Here (Recommended)

cd 01-foundations/exercises
rustc ex01-hello-world.rs  # Fix basic syntax errors
# Follow the compilation errors to learn!

Want the Big Picture First?

# Skim the concepts, then jump to coding
ls */reference/  # Detailed explanations
# Then: cd 01-foundations/exercises

Experienced Developer? Jump In

cd 02-ownership-and-borrowing/exercises
rustc ex01-ownership.rs  # Challenge yourself!

πŸ—ΊοΈ Learning Journey

Module Focus What You'll Build
01 - Foundations Syntax & Types Working Calculator CLI
02 - Ownership Memory Model Memory Visualizer Tool
03 - Error Handling Robust Code File Processing System
04 - Systems Programming Low-Level Control System Resource Monitor
05 - Concurrency Fearless Concurrency Multi-threaded Web Scraper
06 - Performance Profiling & Optimization High-Performance Image Processor
07 - CLI Tools Building Developer Tools Professional Dev Toolkit
08 - Testing Comprehensive Testing Custom Testing Framework
09 - Ecosystem Crates & Libraries Published Rust Library
10 - Advanced Patterns Macros & Meta-programming Advanced Macro System

Capstone Project

Project Focus Challenge Level
Final Project Concurrent Web Server Integrates All Modules

πŸ’‘ Learning Approach

The "Broken Code" Method

  1. Encounter real compilation errors - Not artificial examples
  2. Read Rust's helpful error messages - Learn to collaborate with the compiler
  3. Fix one error at a time - Build understanding incrementally
  4. Apply concepts immediately - Reinforce through practice

C# Knowledge Leverage

// You know this in C#:
public int Add(int a, int b) { return a + b; }

// Learn this in Rust:
fn add(a: i32, b: i32) -> i32 { a + b }

Progressive Hints System

  • Level 1: Gentle nudges in the right direction
  • Level 2: Specific guidance with examples
  • Level 3: Nearly complete solutions with explanations

πŸ† Success Metrics

You're succeeding when:

  • βœ… Compilation errors become helpful - Not frustrating obstacles
  • βœ… You think in ownership - Natural mental model for memory safety
  • βœ… Error handling feels natural - No more null reference fears
  • βœ… Systems concepts click - Understanding low-level control

πŸ”§ Prerequisites & Setup

Required Knowledge

  • Professional C# experience (any level)
  • Basic command-line familiarity
  • Understanding of programming fundamentals

Setup (5 minutes)

  1. Install Rust: rustup.rs
  2. VS Code + rust-analyzer (recommended)
  3. Clone this repo and start coding!

Platform Support: βœ… macOS β€’ βœ… Windows 11 β€’ βœ… Linux β€’ βœ… Containers

🎯 Real-World Applications

Enterprise Use Cases You'll Master

  • High-performance APIs - Zero-cost abstractions
  • System utilities - CLI tools and automation
  • Data processing - ETL pipelines and analytics
  • Legacy integration - C library interoperability
  • Concurrent services - Thread-safe shared state

πŸ†˜ When You Get Stuck

Built-in Support System

  1. Compiler messages first - Rust's error messages are exceptionally helpful
  2. Module debugging guides - Systematic troubleshooting for each topic
  3. Progressive hints - Guided discovery without giving away answers
  4. Reference materials - Deep dives when you're ready

Community Resources

Additional Learning Resources

πŸ” What Makes This Different

vs. Traditional Tutorials

  • ❌ Traditional: Read β†’ Example β†’ Exercise
  • βœ… This Bootcamp: Fix β†’ Understand β†’ Apply

vs. Generic Rust Resources

  • ❌ Generic: Learn Rust syntax and concepts
  • βœ… This Bootcamp: Leverage C# knowledge for accelerated learning

vs. Theoretical Learning

  • ❌ Theoretical: Study memory management concepts
  • βœ… This Bootcamp: Debug real ownership violations

πŸ“ Repository Structure

rust-bootcamp/
β”œβ”€β”€ 00-setup/                # Platform-specific setup guides
β”œβ”€β”€ 01-foundations/          # Syntax, types, functions
β”‚   β”œβ”€β”€ exercises/          # Broken code to fix
β”‚   β”œβ”€β”€ project-calculator/ # Working calculator CLI
β”‚   └── reference/         # Detailed explanations
β”œβ”€β”€ 02-ownership-and-borrowing/
β”‚   β”œβ”€β”€ exercises/          # Ownership violation debugging
β”‚   β”œβ”€β”€ project-memory-visualizer/
β”‚   └── reference/
β”œβ”€β”€ 03-error-handling/      # Option<T> and Result<T,E>
β”œβ”€β”€ 04-systems-programming/ # Unsafe, FFI, memory layout
β”œβ”€β”€ 05-concurrency/         # Threads, async/await, channels
β”œβ”€β”€ 06-performance/         # Profiling and optimization
β”œβ”€β”€ 07-cli-tools/           # Building command-line tools
β”œβ”€β”€ 08-testing/             # Testing strategies
β”œβ”€β”€ 09-ecosystem/           # Crates and libraries
β”œβ”€β”€ 10-advanced-patterns/   # Macros and meta-programming
β”œβ”€β”€ final-project/          # Capstone web server project
β”œβ”€β”€ containers/             # Docker/Podman setup
β”œβ”€β”€ reference/              # Performance comparisons
└── resources/              # Additional learning materials

πŸš€ Ready to Start?

🎯 Beginner Path

cd 01-foundations/
# Read the 2-minute README, then start fixing code!

πŸƒ Accelerated Path

cd 02-ownership-and-borrowing/exercises/
rustc ex01-ownership.rs  # Jump into ownership debugging

πŸ“š Reference-First Path

ls */reference/  # Skim concepts first
# Then dive into exercises when ready

πŸ¦€ Transform Your C# Skills into Rust Mastery

πŸš€ Start Learning Now β€’ πŸ“– Browse Concepts β€’ ⚑ Performance vs C# β€’ πŸ”§ Setup Guide

⭐ Star this repo if it helps you learn Rust!


"The best way to learn Rust is to write Rust. The best way to write Rust is to fix broken Rust code and let the compiler teach you."

About

πŸ¦€ A comprehensive Rust bootcamp for C# developers. Learn Rust by fixing broken code, building real projects, and leveraging your existing C# knowledge. Created with Claude Desktop assistance.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages