C# and .NET (Part-Time)
(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
Sunday
Prior Course Section Survey
Sunday
Journal #8 Discussion
Sunday
Shape Tracker, Ping Pong, Sphinx, Queen Attack
Sunday
A Closer Look at Compiling and Executing C# Programs
Sunday
Overloading Constructors and Methods
Monday
Anagram, Coin Combos, Palindromes, Allergies, Numbers to Words - Part 1
Monday
More Built-In C# Classes and Tips for Using the MS Docs
Tuesday
Anagram, Coin Combos, Palindromes, Allergies, Numbers to Words - Part 2
Tuesday
APIE: Abstraction
Wednesday
Anagram, Coin Combos, Palindromes, Allergies, Numbers to Words - Part 3
Wednesday
Career Prep Day
Wednesday
Internship Overview
Wednesday
Writing Cover Letters and Resumes
Wednesday
Write Your Cover Letter
Wednesday
Write Your Resume
(Week 2)
Test-Driven Development with C# Part 2
Sunday
Career Prep Day: Resumes and Cover Letters
Sunday
APIE: Inheritance, Abstract Classes, and Virtual Class Members
Sunday
Interfaces: Another Tool for Abstraction and Inheritance
Sunday
Recognizing Privilege
Sunday
Workplace Accommodations
Monday
Weekday Finder, Scrabble Scorer, Rock Paper Scissors, Find and Replace, Prime Sifting - Part 1
Monday
APIE: Polymorphism
Monday
More About Data Types: Value Types, Reference Types, Generic Types, and More
Tuesday
Weekday Finder, Scrabble Scorer, Rock Paper Scissors, Find and Replace, Prime Sifting - Part 2
Tuesday
Nullable Types
Wednesday
Weekday Finder, Scrabble Scorer, Rock Paper Scissors, Find and Replace, Prime Sifting - Part 3
Wednesday
Weekly Technical Interview Prep: Testing
Thursday
Test-Driven Development with C# Independent Project
(Week 3)
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
Sunday
Prior Course Section Survey
Sunday
Journal #9 Discussion
Sunday
ASP.NET Core MVC Practice
Sunday
To Do List MVC Setup
Sunday
To Do List with MVC Forms
Sunday
Request-Response Loop and HTTP Methods with ASP.NET Core MVC
Sunday
Lists and Redirects in a Controller
Sunday
Loops and Conditionals with Razor
Sunday
Multiple Controllers
Monday
To Do List, Car Dealership, Parcels, Job Board - Part 1
Tuesday
To Do List, Car Dealership, Parcels, Job Board - Part 2
Wednesday
To Do List, Car Dealership, Parcels, Job Board - Part 3
Wednesday
HTTP CRUD Methods
Wednesday
Deleting Items
Wednesday
Finding Objects with Unique IDs
Wednesday
Introduction to RESTful Routing
Wednesday
Applying RESTful Routing
(Week 4)
Basic Web Applications Part 2
Sunday
To Do List, Places You've Been, Packer Tracker, Tamagotchi
Sunday
Objects Within Objects Setup
Sunday
Saving Objects Within Other Objects
Sunday
Objects Within Objects Interface Part 1
Sunday
Objects Within Objects Interface Part 2
Sunday
Using Static Content
Sunday
Layouts and Partials
Monday
To Do List, CD Organizer, Go Fish, Word Puzzle - Part 1
Monday
Optional Features of C# Versions 9 and 10
Tuesday
To Do List, CD Organizer, Go Fish, Word Puzzle - Part 2
Tuesday
The Previous Hosting Model versus the New Minimal Hosting Model
Wednesday
To Do List, CD Organizer, Go Fish, Word Puzzle - Part 3
Wednesday
Technical Interview Prep
Thursday
Basic Web Applications Independent Project
(Week 5)
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
Sunday
Prior Course Section Survey
Sunday
Journal #10 Discussion
Sunday
To Do List and Project Rebuild
Sunday
Database Schema and Relationship Types
Sunday
Using SQL Designer
Sunday
Introducing Entity Framework Core
Sunday
Configuration for Entity Framework Core
Sunday
Read with EF Core
Sunday
Create with EF Core
Sunday
HTML Helper Methods, Lambda Expressions, and String Interpolation
Sunday
Showing Item Details with EF Core
Sunday
Further Exploration with Testing
Monday
To Do List, Animal Shelter, and Inventory - Part 1
Tuesday
To Do List, Animal Shelter, and Inventory - Part 2
Wednesday
To Do List, Animal Shelter, and Inventory - Part 3
Wednesday
Update with EF Core
Wednesday
Delete with EF Core
Wednesday
Establishing a One-To-Many Relationship with Navigation Properties
Wednesday
Using ViewBag
Wednesday
Create and Update with a One-To-Many Relationship
Wednesday
Inclusive Terminology: Using a Main Branch
(Week 6)
Database Basics Part 2
Sunday
Best Restaurants in Town - Part 1
Sunday
ACID Databases
Monday
Best Restaurants in Town - Part 2
Tuesday
Best Restaurants in Town - Part 3
Tuesday
Technical Interview Practice
Wednesday
Best Restaurants in Town - Part 4
Wednesday
Whiteboard Practice
Wednesday
Pull Requests and Submitting Great Work
Thursday
Database Basics Independent Project
(Week 7)
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
Sunday
Prior Course Section Survey
Sunday
Journal #11 Discussion
Sunday
University Registrar, Doctor's Office (Week-Long Project) - Part 1
Sunday
Model Validation with Validation Attributes
Sunday
Customizing Entity Properties with Data Annotations
Monday
University Registrar, Doctor's Office (Week-Long Project) - Part 2
Tuesday
University Registrar, Doctor's Office (Week-Long Project) - Part 3
Wednesday
University Registrar, Doctor's Office (Week-Long Project) - Part 4
(Week 8)
Many-to-Many Relationships Part 2
Sunday
Refactoring with Many-To-Many (Week-Long Project) - Part 1
Sunday
Creating a Splash Page with Data from Multiple Database Tables
Tuesday
Refactoring with Many-To-Many (Week-Long Project) - Part 2
Wednesday
Refactoring with Many-To-Many (Week-Long Project) - Part 3
Wednesday
Whiteboard Practice
Wednesday
Technical Interview Prep
Thursday
Many-To-Many Independent Project
(Week 9)
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
Journal #12
Sunday
Prior Course Section Survey
Sunday
Journal #12 Discussion
Sunday
Library Catalog, Recipe Box - Part 1
Sunday
Further Exploration Opportunities with Identity
Monday
Library Catalog, Recipe Box - Part 2
Tuesday
Library Catalog, Recipe Box - Part 3
Wednesday
Library Catalog, Recipe Box - Part 4
Wednesday
Jokes and Appropriate Humor
Wednesday
Open Source Projects
(Week 10)
Authentication with Identity Part 2
Sunday
Library Catalog, Recipe Box - Part 5
Sunday
Making an API Call with RestSharp
Sunday
Deserializing API Responses with Newtonsoft.Json
Sunday
API Calls in an ASP.NET Core MVC App
Monday
Library Catalog, Recipe Box - Part 6
Tuesday
Library Catalog, Recipe Box - Part 7
Wednesday
Internship Overview
Wednesday
Applying for Internships Pt. 1
Wednesday
Technical Interview Practice
Wednesday
Whiteboard Practice
Thursday
Authentication with Identity Independent Project
(Week 11)
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
Team Week: Project Pitch
Weekend
Journal #13
Sunday
Prior Course Section Survey
Sunday
Journal #13 Discussion
Sunday
Building an API - Part 1
Sunday
Configuring Application URLs to Run Two ASP.NET Core Applications
Monday
Building an API - Part 2
Monday
MVC Client: GetAll()
Tuesday
Building an API - Part 3
Tuesday
MVC Client: GetDetails()
Wednesday
Building an API - Part 4
Wednesday
MVC Client: POST, PUT, and DELETE
Wednesday
Informational Interviews
(Week 12)
Building an API Part 2
Sunday
Communicating With An API - Part 1
Monday
Communicating With An API - Part 2
Tuesday
Communicating With An API - Part 3
Wednesday
Review: Internship Overview
Wednesday
Applying for Internships Pt. 2
Wednesday
Weekly Technical Interview Prep
Thursday
Basic Web Applications Independent Project
(Week 13)
Team Week
Weekend
Prior Course Section Survey
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
(Week 14)
Team Week Part 2
Weekend
Team Week Objectives
Wednesday
Team Week Presentations and Code Review
Search
Tracks
Handbook