About These Tutorials
Rust
Foundations
| # | Tutorial | Topic |
|---|---|---|
| 1 | Hello | Your first Rust program and the Cargo toolchain |
| 2 | Tools | Rust development toolchain setup |
| 3 | Variables | Bindings, mutability, shadowing, and types |
| 4 | Functions | Definitions, parameters, and return values |
| 5 | Control Flow | if, loop, while, and for |
| 6 | Ownership | Move semantics and memory safety |
| 7 | Structs | Data grouping and methods |
| 8 | Enums | Algebraic types and pattern matching |
| 9 | Iterators | The iterator pattern and adaptor chains |
| 10 | Testing | Unit and integration tests |
Standard Library
| # | Tutorial | Topic |
|---|---|---|
| S1 | Strings | String and &str — ownership and slices |
| S2 | Vec<T> | Growable arrays and iteration |
| S3 | HashMap<K,V> | Hash maps and entry API |
| S4 | Result<T,E> | Error handling and propagation |
| S5 | File I/O | Reading and writing files |
| S6 | Traits | Shared behavior and polymorphism |
| S7 | Closures | Anonymous functions and capture |
| S8 | Smart Pointers | Box, Rc, and RefCell |
| S9 | Threads | Concurrency and message passing |
| S10 | Formatting | Display, Debug, and format strings |
Demonstrations
| Demonstrations | Using the examples/ folder in a Cargo workspace |
C++
Foundations
| # | Tutorial | Topic |
|---|---|---|
| 1 | Hello | Your first C++ program and build commands |
| 2 | Tools | g++, clang++, MSVC, and CMake |
| 3 | Variables | Types, initialization, const, constexpr, auto |
| 4 | Functions | Definitions, overloading, and parameter passing |
| 5 | Control Flow | if, switch, while, for, range-for |
| 6 | Classes | Data grouping, constructors, RAII, destructors |
| 7 | Relationships | Inheritance, composition, aggregation, using |
| 8 | Enums | Plain enum and scoped enum class |
| 9 | Memory | Stack, heap, pointers, references, RAII |
| 10 | Templates | Generic programming and type constraints |
| 11 | Testing | Unit testing without a framework |
Standard Library
| # | Tutorial | Topic |
|---|---|---|
| S1 | Strings | std::string and string_view |
| S2 | Vector | std::vector — growable arrays |
| S3 | Map | std::unordered_map and std::map |
| S4 | Exceptions | try, catch, throw, and exception hierarchy |
| S5 | File I/O | fstream — reading and writing files |
| S6 | Algorithms | STL algorithms and the iterator range model |
| S7 | Lambdas | Anonymous functions and capture modes |
| S8 | Smart Pointers | unique_ptr, shared_ptr, and weak_ptr |
| S9 | Threads | std::thread, mutex, and lock_guard |
| S10 | Formatting | std::format and ostream manipulators |
Demonstrations
| Demonstrations | Building demo executables with CMake using a shared static library |
C#
Foundations
| # | Tutorial | Topic |
|---|---|---|
| 1 | Hello | Your first C# program and the dotnet toolchain |
| 2 | Tools | dotnet CLI, project files, and IDE setup |
| 3 | Variables | Types, var, const, nullable, and type inference |
| 4 | Functions | Methods, overloading, optional parameters, and local functions |
| 5 | Control Flow | if, switch, while, for, and foreach |
| 6 | Classes | Fields, properties, constructors, and inheritance |
| 7 | Interfaces | Contracts, multiple interface implementation, and BCL interfaces |
| 8 | Enums | Enum values, [Flags], and switch expressions |
| 9 | Generics | Generic methods, classes, and type constraints |
| 10 | Testing | xUnit, [Fact], [Theory], and Assert |
Standard Library
| # | Tutorial | Topic |
|---|---|---|
| S1 | Strings | String immutability, interpolation, and StringBuilder |
| S2 | List<T> | Growable lists, LINQ preview, and slicing |
| S3 | Dictionary<K,V> | Hash maps, TryGetValue, and concurrent access |
| S4 | Exceptions | try/catch/finally, custom exceptions, and filters |
| S5 | File I/O | File, StreamReader, Path, and binary I/O |
| S6 | LINQ | Where, Select, GroupBy, and deferred execution |
| S7 | Delegates | Action, Func, lambda expressions, and closures |
| S8 | Async | Task, async/await, WhenAll, and CancellationToken |
| S9 | Formatting | Interpolation, format specifiers, and IFormattable |
| S10 | Records | Record types, with-expressions, and init-only properties |
Demonstrations
| Demonstrations | Building demo projects in a dotnet solution referencing a shared class library |
Python
Foundations
| # | Tutorial | Topic |
|---|---|---|
| 1 | Hello | Your first Python program and running scripts |
| 2 | Tools | Python installation, venv, and pip |
| 3 | Variables | Dynamic typing, type hints, and built-in types |
| 4 | Functions | def, default arguments, *args, **kwargs, and type hints |
| 5 | Control Flow | if, while, for, comprehensions, and match |
| 6 | Classes | class, __init__, self, inheritance, and dunder methods |
| 7 | Modules | Modules, packages, __init__.py, and the stdlib |
| 8 | Enums | Enum, IntEnum, Flag, and the match statement |
| 9 | Testing | pytest, fixtures, parametrize, and assertions |
| 10 | Comprehensions | List, dict, set comprehensions, and generator expressions |
Standard Library
| # | Tutorial | Topic |
|---|---|---|
| S1 | Strings | Immutability, slicing, methods, and f-strings |
| S2 | Lists | Indexing, slicing, sort, and copy semantics |
| S3 | Dicts | dict, get(), defaultdict, and Counter |
| S4 | Exceptions | try/except/finally, raise, and context managers |
| S5 | File I/O | open(), pathlib.Path, and directory operations |
| S6 | Iterators | Iterator protocol, generators, and itertools |
| S7 | Closures | First-class functions, closures, and decorators |
| S8 | Threads | threading, Lock, Queue, and the GIL |
| S9 | Formatting | f-strings, format spec mini-language, and Decimal |
| S10 | Dataclasses | @dataclass, field(), frozen, and slots |
Demonstrations
| Demonstrations | Running demo scripts from a package using python -m |
AI / LLMs
Foundations
| # | Tutorial | Topic |
|---|---|---|
| 1 | Hello | Your first LLM API call and reading the response |
| 2 | Tools | SDK setup, virtual environments, and API key management |
| 3 | Messages | The messages list, roles, and multi-turn conversations |
| 4 | Tokens | Tokens, context windows, and request cost |
| 5 | Prompting | Effective prompts for code generation and explanation |
| 6 | System Prompts | Controlling model behavior with system instructions |
| 7 | Streaming | Real-time token streaming with the stream context manager |
| 8 | Models | Haiku, Sonnet, and Opus - choosing by task and cost |
| 9 | Errors | API error types, retry logic, and exponential backoff |
| 10 | Testing | Structural and semantic evaluation of AI-generated code |
Applications
| # | Tutorial | Topic |
|---|---|---|
| A1 | Chat Loop | Interactive console chat with persistent conversation history |
| A2 | Code Explainer | CLI tool that reads a file and streams an explanation |
| A3 | Code Review | Automated code review across bug, security, and style categories |
| A4 | Test Generator | Generate and run pytest tests for a Python module |
| A5 | Diff Reviewer | Unified diff analysis and risk assessment for code changes |
| A6 | Web Chat | Flask + JavaScript browser chat with server-side history |
| A7 | Web Code Review | Stateless web form that submits code and returns a review |
| A8 | Web Streaming | Server-Sent Events for real-time token streaming in the browser |
| A9 | Tool Use | Function calling - letting the model invoke Python functions |
| A10 | Simple Agent | Agent loop with read_file and list_files tools |
Demonstrations
| Demonstrations | A complete code-helper CLI combining explanation, review, and test generation |