1. Introduction
  2. Getting Started
    1. Installation
    2. Hello World
    3. Hello MSBuild
  3. Programming a Guessing Game
  4. Common Programming Concepts
    1. Variables
    2. Primitives
    3. Literals
    4. Comments
    5. Assignment
    6. Strings
    7. Math
    8. Comparison
    9. Control Flow
    10. Combining Comparisons
    11. Routines
    12. Preprocessor
    13. Quiz Answers
  5. Fetching Fun: A Simple HTTP Client Project
    1. HTTP Routines
    2. JSON
  6. Complex Types
    1. Repository
    2. Synergy Data Language
    3. Structures
    4. Quiz Answers
  7. Collections
    1. ArrayList
    2. Arrays
    3. Dictionary
  8. Program Organization
    1. Namespaces
    2. Projects
    3. Libraries
    4. Prototyping
  9. Following the Trend: An Inventory Project
    1. Repository
    2. Recommendations
    3. Reporting
  10. Testing
    1. Testable Code
    2. Unit Testing
    3. Test Driven Development in the Brownfield
  11. Object Oriented Features
    1. Classes
    2. Objects
    3. Inheritance
    4. Interfaces
    5. Delegates
  12. Banking on Basics: Exploring OOP with a Simple Bank Simulation
    1. Accounts
    2. Transfers
    3. If its not tested, it doesn't work
  13. Error Handling
    1. Exceptions
    2. OnError
    3. Error List
  14. Persisting Your Data: ISAM
    1. ISAM
    2. Hooks
    3. Select
    4. DBMS
  15. Back to the Bank: Persisting Data with ISAM
    1. Storing
    2. Searching
    3. Leaving a Paper Trail
    4. Thread Carefully: Ensuring Consistency
  16. Advanced Memory Management
    1. Ranging and Overlays
    2. Mapping
    3. Quiz Answers
  17. Common Patterns
    1. Anti-Patterns
      1. Big Ball of Mud
      2. Circular References
      3. God Object
      4. Dirty Build
  18. Beyond Types
    1. Generics
    2. Lambdas
    3. Async
    4. Extension Methods
    5. Partial Things
    6. Functional Style
    7. Existing Code