C# and .NET
(Pre-Work)
Getting Started at Epicodus
Weekend
Learn How to Program
Weekend
Growth Mindset
Weekend
Making Epicodus an Inclusive Place
Weekend
Community Agreements
Weekend
Making the Most of Code School
Weekend
Pair Programming
Weekend
The Value of Pair Programming
Weekend
How to Ask for Help
Weekend
Curriculum Details: Intro to Programming
Weekend
Independent Projects and Code Reviews
Weekend
Academic Honesty
Weekend
Attendance Policy
Weekend
Career Services Schedule
Weekend
Internship Coursework and Career Reviews
Weekend
Final Capstone Project
Weekend
DEI Reflective Assignments
Weekend
A Glossary of Epicodus Terminology
Weekend
Student Handbook
(Pre-Work)
Getting Started with C#
Weekend
Welcome to C#
Weekend
Installing C# and .NET
Weekend
Installing dotnet-script
Weekend
Installing and Configuring MySQL
Weekend
Documentation and Resources
(Pre-Work)
Data Types, Variables, Branching, and Looping
Weekend
Using a C# REPL
Weekend
Strings, String Concatenation and Interpolation, and Chars
Weekend
Integers, Decimals, and Arithmetic
Weekend
Variables
Weekend
Booleans, Branching, and Operators
Weekend
Classes and Instance Methods
Weekend
Namespaces and Checking the Type of an Object
Weekend
Using Static Methods to Write and Read from the Console
Weekend
Arrays
Weekend
Lists
Weekend
Dictionaries
Weekend
Iterators: Foreach and For Loops
Weekend
Type Casting
(Pre-Work)
Basic Console Apps
Weekend
Expectations and Game Plan for Building a C# Console App
Weekend
Hello World! Compiling and Executing C# Programs
Weekend
The Shape Tracker Project Structure
Weekend
Classes and Namespaces
Weekend
Class Fields and Constructors
Weekend
Class Methods
Weekend
Access Modifiers, Best Practices with Fields, and Getter and Setter Methods
Weekend
APIE: Encapsulation
Weekend
Static Class Members
Weekend
Creating a User Interface for a Console App
Weekend
Simplifying Business Logic with Properties
Weekend
Console App Project Structure: How to Add More Code Files
Weekend
Configuration Reference and Review of C# Conventions
(Pre-Work)
TDD and Debugging
Weekend
What We'll Learn in this Section
Weekend
Review: the Red, Green, Refactor Workflow and Testing Best Practices
Weekend
MSTest Configuration and Setup
Weekend
Using the RGR Workflow to Write our First Test for the Constructor
Weekend
Testing A Private Field through its Public Property and Organizing Tests with Arrange, Act, Assert
Weekend
Testing An Auto-Implemented Property
Weekend
Testing A Private Field through its Getter and Setter Methods
Weekend
Testing A Method with Multiple Behaviors
Weekend
Part 1: Testing Static Class Members and Collections
Weekend
Part 2: Adding a Teardown Method and Completing the Tests for Static Class Members
Weekend
MSTest Configuration Quick Reference
Weekend
Debugging Tools
Weekend
Improving Development by Using a Watcher
(Week 1)
Test-Driven Development With C#
Weekend
Test-Driven Development with C# Objectives
Weekend
Journal #8
Monday
Prior Course Section Survey
Monday
Journal #8 Discussion
Monday
Shape Tracker, Ping Pong, Sphinx, Queen Attack
Monday
A Closer Look at Compiling and Executing C# Programs
Monday
Overloading Constructors and Methods
Monday
Try/Catch Blocks
Monday
More Built-In C# Classes and Tips for Using the MS Docs
Monday
APIE: Abstraction
Monday
Recognizing Privilege
Tuesday
Anagram, Coin Combos, Palindromes, Allergies, Numbers to Words
Tuesday
APIE: Inheritance, Abstract Classes, and Virtual Class Members
Tuesday
Interfaces: Another Tool for Abstraction and Inheritance
Tuesday
APIE: Polymorphism
Tuesday
More About Data Types: Value Types, Reference Types, Generic Types, and More
Tuesday
Nullable Types
Tuesday
Workplace Accommodations
Wednesday
Weekday Finder, Scrabble Scorer, Rock Paper Scissors, Find and Replace, Prime Sifting
Wednesday
Career Prep Day
Wednesday
Internship Overview
Wednesday
Writing Cover Letters and Resumes
Wednesday
Write Your Cover Letter
Wednesday
Write Your Resume
Thursday
Career Prep Day: Resumes and Cover Letters
Thursday
Weekly Technical Interview Prep: Testing
Friday
Test-Driven Development with C# Independent Project
(Week 2)
Basic Web Applications
Weekend
Basic Web Applications Objectives
Weekend
How the Web Works: Clients and Servers
Weekend
How the Web Works: Uniform Resource Locator
Weekend
How the Web Works: Developer Tools
Weekend
Introduction to ASP.NET Core
Weekend
How the Web Works: Server-Side Rendering
Weekend
How the Web Works: MVC Pattern
Weekend
Constructing and Configuring an ASP.NET Core MVC Web App
Weekend
Building and Running an ASP.NET Core MVC Web App
Weekend
Introduction to Controllers, Routes and URLs
Weekend
Custom URL Paths
Weekend
Creating and Using Views
Weekend
Creating a Basic Model
Weekend
Dynamic Views with Razor Markup Syntax
Weekend
Using Forms with MVC
Weekend
Debugging Views and Configuring a Development Environment with launchSettings.json
Weekend
Redirecting to HTTPS and Issuing a Security Certificate
Weekend
Configuration Quick Reference
Weekend
Journal #9 Prompt
Monday
Prior Course Section Survey
Monday
Journal #9 Discussion
Monday
ASP.NET Core MVC Practice
Monday
To Do List MVC Setup
Monday
To Do List with MVC Forms
Monday
Request-Response Loop and HTTP Methods with ASP.NET Core MVC
Monday
Lists and Redirects in a Controller
Monday
Loops and Conditionals with Razor
Monday
Multiple Controllers
Tuesday
To Do List, Car Dealership, Parcels, Job Board
Tuesday
HTTP CRUD Methods
Tuesday
Deleting Items
Tuesday
Finding Objects with Unique IDs
Tuesday
Introduction to RESTful Routing
Tuesday
Applying RESTful Routing
Wednesday
To Do List, Places You've Been, Packer Tracker, Tamagotchi
Wednesday
Objects Within Objects Setup
Wednesday
Saving Objects Within Other Objects
Wednesday
Objects Within Objects Interface Part 1
Wednesday
Objects Within Objects Interface Part 2
Wednesday
Using Static Content
Wednesday
Layouts and Partials
Thursday
To Do List, CD Organizer, Go Fish, Word Puzzle
Thursday
Optional Features of C# Versions 9 and 10
Thursday
The Previous Hosting Model versus the New Minimal Hosting Model
Thursday
Technical Interview Prep
Friday
Basic Web Applications Independent Project
(Week 3)
Database Basics
Weekend
Database Basics Objectives
Weekend
Introduction to Databases
Weekend
SQL Basics: Managing MySQL Databases from the Command Line
Weekend
Introduction to MySQL Workbench: Creating a Database
Weekend
Connecting a Database to an ASP.NET Core App with MySqlConnector
Weekend
Retrieving Objects From the Database
Weekend
Testing Database Backed Applications
Weekend
Creating a Test Database: Exporting and Importing Databases with MySQL Workbench
Weekend
Using the Test Database
Weekend
Deleting Objects in the Database
Weekend
Testing for an Empty Database
Weekend
Overriding Equals and GetHashCode
Weekend
Saving Objects in the Database
Weekend
Finding Objects in the Database
Weekend
More SQL Queries
Weekend
Journal #10 Prompt
Monday
Prior Course Section Survey
Monday
Journal #10 Discussion
Monday
To Do List and Project Rebuild
Monday
Database Schema and Relationship Types
Monday
Using SQL Designer
Monday
Introducing Entity Framework Core
Monday
Configuration for Entity Framework Core
Monday
Read with EF Core
Monday
Create with EF Core
Monday
HTML Helper Methods, Lambda Expressions, and String Interpolation
Monday
Showing Item Details with EF Core
Monday
Further Exploration with Testing
Monday
Inclusive Terminology: Using a Main Branch
Tuesday
To Do List, Animal Shelter, and Inventory
Tuesday
Update with EF Core
Tuesday
Delete with EF Core
Tuesday
Establishing a One-To-Many Relationship with Navigation Properties
Tuesday
Using ViewBag
Tuesday
Create and Update with a One-To-Many Relationship
Wednesday
Best Restaurants in Town (Two-day project)
Wednesday
ACID Databases
Thursday
Technical Interview Practice
Thursday
Whiteboard Practice
Thursday
Pull Requests and Submitting Great Work
Friday
Database Basics Independent Project
(Week 4)
Many-To-Many Relationships
Weekend
Many-To-Many Objectives
Weekend
Many-to-Many Relationship Review
Weekend
Code First Development and Migrations
Weekend
Many-to-Many Relationships: Join Entities
Weekend
Many-to-Many Read Functionality
Weekend
Many-to-Many Create Functionality
Weekend
Many-to-Many Update Functionality
Weekend
Many-to-Many Delete Functionality
Weekend
Journal #11
Monday
Prior Course Section Survey
Monday
Journal #11 Discussion
Monday
University Registrar, Doctor's Office (Two-Day Project) - Part 1
Monday
Model Validation with Validation Attributes
Monday
Customizing Entity Properties with Data Annotations
Tuesday
University Registrar, Doctor's Office (Two-Day Project) - Part 2
Tuesday
Creating a Splash Page with Data from Multiple Database Tables
Wednesday
Refactoring with Many-To-Many (Two-Day Project) - Part 1
Wednesday
Open Source Projects
Thursday
Refactoring with Many-To-Many (Two-Day Project) - Part 2
Thursday
Whiteboard Practice
Thursday
Technical Interview Prep
Friday
Many-To-Many Independent Project
(Week 5)
Authentication with Identity
Weekend
Authentication with Identity Objectives
Weekend
Async and Await
Weekend
Introduction to Authentication, Authorization, and Identity
Weekend
Identity Setup and Configuration
Weekend
The Identity Model
Weekend
Authentication with Identity: User Registration Controller
Weekend
Authentication with Identity: User Registration ViewModel, Validation, and Views
Weekend
Authentication with Identity: User Login and Logout
Weekend
Adding Authorization and Associating Users with Items
Weekend
Taking Part in Mentorship Lunch Talks
Weekend
Journal #12
Monday
Prior Course Section Survey
Monday
Journal #12 Discussion
Monday
Library Catalog, Recipe Box Week-Long Project - Part 1
Monday
Further Exploration Opportunities with Identity
Monday
Jokes and Appropriate Humor
Tuesday
Library Catalog, Recipe Box Week-Long Project - Part 2
Tuesday
Making an API Call with RestSharp
Tuesday
Deserializing API Responses with Newtonsoft.Json
Tuesday
API Calls in an ASP.NET Core MVC App
Wednesday
Library Catalog, Recipe Box Week-Long Project - Part 3
Wednesday
Whiteboard Practice
Thursday
Library Catalog, Recipe Box Week-Long Project - Part 4
Thursday
Weekly Technical Interview Prep
Friday
Authentication with Identity Independent Project
(Week 6)
Building an API
Weekend
Building an API Objectives
Weekend
Scaffolding a .NET Application with dotnet new
Weekend
Exploring the dotnet new Web API Template
Weekend
Adding a Model and Database
Weekend
Seeding the Database
Weekend
API: Create and Read
Weekend
API: Update and Delete
Weekend
API: Adding Parameters to a Get Request to Support Query Strings
Weekend
Adding API Model Validation
Weekend
Scaffolding API Controllers
Weekend
Further Exploration with APIs
Weekend
Documenting Your API
Weekend
Team Week: Project Pitch
Weekend
Journal #13
Monday
Prior Course Section Survey
Monday
Journal #13 Discussion
Monday
Building an API - Part 1
Monday
Configuring Application URLs to Run Two ASP.NET Core Applications
Tuesday
Building an API - Part 2
Tuesday
MVC Client: GetAll()
Tuesday
MVC Client: GetDetails()
Tuesday
MVC Client: POST, PUT, and DELETE
Wednesday
Communicating With An API - Part 1
Thursday
Communicating With An API - Part 2
Thursday
Weekly Technical Interview Prep
Friday
Building An API Independent Project
(Week 7)
Team Week
Weekend
Team Week Objectives
Weekend
Git with Collaborators: Setup
Weekend
Git with Collaborators: Workflow
Weekend
Rewriting History with Git
Weekend
Learning More About Git
Weekend
Practicing the Git Workflow
Weekend
Pull Requests with Branches
Weekend
Pull Requests with Forks
Weekend
Hosting a MySQL database and ASP.NET Core API or Web App on Azure
Thursday
Team Week Presentations and Independent Project
Search
Tracks
Handbook