C# Web Development

Chapters

  1. 1. Introduction and Setup
    1. 1.1. Why Learn C#?
    2. 1.2. Setup For C#
    3. 1.3. Windows Users: Visual Studio Community Edition
    4. 1.4. Mac Users: Visual Studio for Mac
    5. 1.5. Creating a C# Project
    6. 1.6. Cloning a C# Project
    7. 1.7. C# Naming Conventions
  2. 2. Data Types
    1. 2.1. Data Types
    2. 2.2. Some C# Practice
    3. 2.3. Strings, Characters, and Arrays
    4. 2.4. Objects and Methods, A Primer
    5. 2.5. Exercises: Data Types
    6. 2.6. Studio: Area of a Circle
  3. 3. Control Flow and Collections
    1. 3.1. Conditionals
    2. 3.2. Loops
    3. 3.3. Collections
    4. 3.4. List
    5. 3.5. Array
    6. 3.6. Dictionary
    7. 3.7. Exercises: Control Flow and Collections
    8. 3.8. Studio: Counting Characters
  4. 4. Classes in C#, Part 1
    1. 4.1. Classes for C#
    2. 4.2. Modifiers in C#
    3. 4.3. Encapsulation
    4. 4.4. Constructors
    5. 4.5. Methods
    6. 4.6. Single Responsibility Principle
    7. 4.7. Exercises: Classes and Objects
    8. 4.8. Studio: Restaurant Menu
  5. 5. Classes and Objects, Part 2
    1. 5.1. Customizing Fields
    2. 5.2. Instance and Static Methods
    3. 5.3. Special Methods
    4. 5.4. Visual Studio Generator Shortcut
    5. 5.5. Exercises: Objects and Classes, Part 2
    6. 5.6. Studio: Restaurant Menu Continued
  6. 6. Unit Testing
    1. 6.1. Testing in C#
    2. 6.2. MSTest
    3. 6.3. Exercises: Unit Testing
    4. 6.4. Studio: Unit Testing
  7. 7. Inheritance
    1. 7.1. Inheritance in OOP
    2. 7.2. Inheritance in C#
    3. 7.3. A Tale of Two Cats
    4. 7.4. Inheriting from Abstraction
    5. 7.5. Casting
    6. 7.6. Testing Inheritance
    7. 7.7. Class Diagrams
    8. 7.8. Exercises: Inheritance
    9. 7.9. Studio: Fun with Quizzes
  8. 8. Interfaces and Polymorphism
    1. 8.1. Introduction
    2. 8.2. Interfaces
    3. 8.3. Interfaces and Abstract Classes
    4. 8.4. Interfaces In The Wild
    5. 8.5. Unit Testing and Interfaces
    6. 8.6. Exercises: Interfaces and Polymorphism
    7. 8.7. Studio: Spinning the Discs
  9. 9. Introduction to ASP.NET
    1. 9.1. Design Patterns, MVC, and ASP.NET, Oh My!
    2. 9.2. Create a New ASP.NET Project
  10. 10. Controllers and Routing
    1. 10.1. Simple Controllers
    2. 10.2. Controllers with Parameters
    3. 10.3. Controllers with Forms
    4. 10.4. Cleaning Up Your Controllers
    5. 10.5. Exercises: Controllers and Routing
    6. 10.6. Studio: Skills Tracker
  11. 11. Rules to the Exceptions
    1. 11.1. Exceptions
    2. 11.2. Handling Exceptions
    3. 11.3. Common Exception Objects
    4. 11.4. Exercises: Exceptions
  12. 12. Tools in Visual Studio
    1. 12.1. MSBuild
    2. 12.2. NuGet
    3. 12.3. Debugger
    4. 12.4. Studio: If It Ain’t Broke, Add a Breakpoint!
  13. 13. Razor Views
    1. 13.1. Templates
    2. 13.2. Creating a Template
    3. 13.3. Using a Template
    4. 13.4. Iterating in a Template
    5. 13.5. Conditionals in a Template
    6. 13.6. Razor Forms
    7. 13.7. The Shared Directory
    8. 13.8. Static Resources
    9. 13.9. Bootstrap
    10. 13.10. Exercises: Razor Views
    11. 13.11. Studio: Spa Day!
  14. 14. Models and Model Binding
    1. 14.1. Models in MVC
    2. 14.2. Create a Model
    3. 14.3. Models and Data
    4. 14.4. Model-Binding
    5. 14.5. Exercises: Edit Model Classes
    6. 14.6. Studio: Spa User Signup
  15. 15. ViewModels and Model Validation
    1. 15.1. ViewModels and Passing Data To and From Views
    2. 15.2. Server-Side Validation
    3. 15.3. Validation Attributes
    4. 15.4. Validating Models in a Controller
    5. 15.5. Validation and Views
    6. 15.6. Exercises: ViewModels and Model Validation
    7. 15.7. Studio: Spa User Validation
  16. 16. Enumeration Types
    1. 16.1. Introduction to Enums
    2. 16.2. Enums in Model Classes
  17. 17. Databases and SQL
    1. 17.1. What is SQL?
    2. 17.2. SQL Queries
    3. 17.3. Joins
    4. 17.4. Exercises: SQL, Part 1
    5. 17.5. Studio: Movie SQLs
  18. 18. The SQL Sequel
    1. 18.1. Table Relationships
    2. 18.2. Database Management
    3. 18.3. Complex Queries
    4. 18.4. Exercises: The SQL Sequel
    5. 18.5. Studio: A Library
  19. 19. Introduction to Object-Relational Mapping
    1. 19.1. Object-Relational Mapping
    2. 19.2. Accessing Data
    3. 19.3. Working with Data Stores
    4. 19.4. Exercises: OMG the ORM!
    5. 19.5. Studio: OMG More ORM!
  20. 20. Relationships in Object-Relational Mapping
    1. 20.1. Types of Relationships
    2. 20.2. A Primer on Lambda Expressions
    3. 20.3. Creating a One-to-Many Relationship
    4. 20.4. Some Setup
    5. 20.5. Creating a Many-to-Many Relationship
    6. 20.6. Exercises: The Early Bird Gets the ORM.
  21. 21. Authentication
    1. 21.1. Introduction to Authentication
    2. 21.2. Hashing Passwords
    3. 21.3. Getting Started with Identity
    4. 21.4. Registrations and Logins
    5. 21.5. Configuring Identity
    6. 21.6. Identity and Authorization
    7. 21.7. Studio: TechJobs Authentication
  22. 22. Introduction to Web APIs & REST
    1. 22.1. Web APIs
    2. 22.2. What is REST?
    3. 22.3. REST: Practical Fundamentals
    4. 22.4. Exercises: Web APIs and REST
    5. 22.5. Studio: Consuming the CodingEvents API With Postman