Chapters

  1. 1. Introduction
    1. 1.1. Why Learn To Code?
    2. 1.2. Why Learn C Sharp?
    3. 1.3. About LaunchCode Programs
    4. 1.4. Class Platforms
    5. 1.5. Using This Book
  2. 2. How Programs Work
    1. 2.1. Introduction
    2. 2.2. Programming Languages
    3. 2.3. The C# Language
    4. 2.4. Your First Program
  3. 3. How To Write Code
    1. 3.1. What is Code?
    2. 3.2. Syntax Rules
    3. 3.3. Comments
    4. 3.4. Output With Console.WriteLine
    5. 3.5. Fixing Errors in Your Code
    6. 3.6. Welcome, Novice Coder
  4. 4. Data and Variables
    1. 4.1. Values and Data Types
    2. 4.2. More On Data Types
    3. 4.3. Type Conversion
    4. 4.4. Variables
    5. 4.5. More On Variables
    6. 4.6. Expressions and Evaluation
    7. 4.7. Operations
    8. 4.8. Other Operators
    9. 4.9. Input with ReadLine
    10. 4.10. Exercises: Data and Variables
    11. 4.11. Studio: Data and Variables
  5. 5. Making Decisions With Conditionals
    1. 5.1. Booleans
    2. 5.2. Logical Operators
    3. 5.3. Conditionals
    4. 5.4. Nested Conditionals
    5. 5.5. Exercises: Booleans and Conditionals
    6. 5.6. Studio: Goal Setting and Getting into the Right Mindset
  6. 6. Errors and Debugging
    1. 6.1. What is Debugging?
    2. 6.2. Categories of Errors
    3. 6.3. Diagnosing Error Messages
    4. 6.4. Debugging Logic Errors
    5. 6.5. Errors and User Input
    6. 6.6. How to Avoid Debugging
    7. 6.7. Asking Good Questions
    8. 6.8. Exercises: Debugging
  7. 7. Stringing Characters Together
    1. 7.1. Strings as Collections
    2. 7.2. Bracket Notation
    3. 7.3. Strings as Objects
    4. 7.4. String Immutability
    5. 7.5. String Methods
    6. 7.6. Encoding Characters
    7. 7.7. Special Characters
    8. 7.8. String Interpolation
    9. 7.9. Exercises: Strings
  8. 8. Arrays Keep Things in Order
    1. 8.1. Arrays Are Like Strings
    2. 8.2. Working With Arrays
    3. 8.3. Array Methods
    4. 8.4. Multidimensional Arrays
    5. 8.5. Exercises: Arrays
    6. 8.6. Studio: Strings and Arrays
  9. 9. Repeating With Loops
    1. 9.1. Iteration
    2. 9.2. for Loops
    3. 9.3. Iterating Over Collections
    4. 9.4. Breaking Down the for Statement
    5. 9.5. The Accumulator Pattern
    6. 9.6. while Loops
    7. 9.7. Terminating a Loop With break
    8. 9.8. Choosing Which Loop to Use
    9. 9.9. Exercises: Loops
    10. 9.10. Studio: Loops
  10. 10. Control Flow and Collections
    1. 10.1. switch Statements vs. else if
    2. 10.2. More Loops and Break Statements
    3. 10.3. Collections
    4. 10.4. Lists
    5. 10.5. List Gradebook
    6. 10.6. Array
    7. 10.7. Dictionary
    8. 10.8. Dictionary Gradebook
    9. 10.9. Exercises: Control Flow and Collections
    10. 10.10. Studio: Counting Characters
  11. 11. Methods
    1. 11.1. Introduction
    2. 11.2. Method Signatures and Calls
    3. 11.3. Using Methods
    4. 11.4. Recursive Methods
    5. 11.5. Scope
    6. 11.6. Exercises: Methods
    7. 11.7. Studio: Methods
  12. 12. Classes, Objects, and Math Class
    1. 12.1. Classes: A Primer
    2. 12.2. Classes, Objects, and Methods! Oh My!
    3. 12.3. The Math Class
  13. 13. Terminal
    1. 13.1. What is a terminal?
    2. 13.2. Filesystem and Paths
    3. 13.3. How to Do Stuff in the Terminal
    4. 13.4. Running Programs in the Terminal
    5. 13.5. Exercises: Terminal
  14. 14. Visual Studio Setup
    1. 14.1. Welcome to Visual Studio
    2. 14.2. Windows Users: Visual Studio Community Edition
    3. 14.3. Mac Users: Visual Studio for Mac
    4. 14.4. Creating a C# Project
    5. 14.5. Cloning a C# Project
    6. 14.6. C# Naming Conventions
  15. 15. Git More Collaboration
    1. 15.1. What is Git?
    2. 15.2. Repositories and Commits
    3. 15.3. Remote Repositories
    4. 15.4. Git Branches
    5. 15.5. Merging in Git
    6. 15.6. Exercises: Git
    7. 15.7. Studio: Communication Log
    8. 15.8. Studio: Communication Log (continued)
    9. 15.9. Bonus Mission: Merge Conflicts!
  16. 16. Rules to the Exceptions
    1. 16.1. Exceptions
    2. 16.2. Handling Exceptions
    3. 16.3. Common Exception Objects
    4. 16.4. Exercises: Exceptions
  17. 17. Tools in Visual Studio
    1. 17.1. NuGet
    2. 17.2. Debugger
    3. 17.3. Studio: If It Ain’t Broke, Add a Breakpoint!
  18. 18. Classes in C#, Part 1
    1. 18.1. Classes for C#
    2. 18.2. Modifiers in C#
    3. 18.3. Encapsulation
    4. 18.4. Constructors
    5. 18.5. Methods
    6. 18.6. Single Responsibility Principle
    7. 18.7. Exercises: Classes and Objects
    8. 18.8. Studio: Restaurant Menu
  19. 19. Classes and Objects, Part 2
    1. 19.1. Customizing Fields
    2. 19.2. Instance and Static Methods
    3. 19.3. Special Methods And Classes
    4. 19.4. Visual Studio Generator Shortcut
    5. 19.5. Exercises: Objects and Classes, Part 2
    6. 19.6. Studio: Restaurant Menu Continued
  20. 20. Unit Testing
    1. 20.1. Why Test Your Code?
    2. 20.2. Testing in C#
    3. 20.3. Unit Testing In Action With MSTest
    4. 20.4. Running Tests in Visual Studio
    5. 20.5. Running Tests Part 2:
    6. 20.6. Test-Driven Development
    7. 20.7. The Red, Green, Refactor Methodology
    8. 20.8. Exercises: Unit Testing
    9. 20.9. Studio: Unit Testing
  21. 21. Inheritance
    1. 21.1. Inheritance in OOP
    2. 21.2. Inheritance in C#
    3. 21.3. A Tale of Two Cats
    4. 21.4. Inheriting from Abstraction
    5. 21.5. Casting
    6. 21.6. Testing Inheritance
    7. 21.7. Class Diagrams
    8. 21.8. Exercises: Inheritance
    9. 21.9. Studio: Fun with Quizzes
  22. 22. Interfaces and Polymorphism
    1. 22.1. Introduction
    2. 22.2. Interfaces
    3. 22.3. Interfaces and Abstract Classes
    4. 22.4. Interfaces In The Wild
    5. 22.5. Unit Testing and Interfaces
    6. 22.6. Exercises: Interfaces and Polymorphism
    7. 22.7. Studio: Spinning the Discs
  23. 23. We Built the Internet on HTML
    1. 23.1. Background
    2. 23.2. HTML Structure
    3. 23.3. HTML Tags
    4. 23.4. How to Create an HTML Page in Visual Studio
    5. 23.5. Exercises: HTML
    6. 23.6. Studio: Making Headlines
  24. 24. Styling the Web With CSS
    1. 24.1. What is CSS?
    2. 24.2. CSS Structure
    3. 24.3. CSS Rules
    4. 24.4. Exercises: CSS
  25. 25. HTTP: The Postal Service of the Internet
    1. 25.1. How the Internet Works
    2. 25.2. HTTP at a Glance
    3. 25.3. Requests
    4. 25.4. Responses
    5. 25.5. HTTP in the Browser
  26. 26. User Input with Forms
    1. 26.1. Forms
    2. 26.2. Form Submission
    3. 26.3. POST Form Submission
    4. 26.4. Text Inputs
    5. 26.5. Specialized Text Inputs
    6. 26.6. Checkbox Input
    7. 26.7. Radio Input
    8. 26.8. Select Input
    9. 26.9. Exercises: Forms
    10. 26.10. Studio: HTTP and Forms