The ASP.NET curriculum is broken up into three main modules:
- Intro to C#
- ASP.NET Web Development
- E-Commerce Project
This module consists of introduction to C#. You will spend the next 10 classes teaching the students C# and getting them ready to go into ASP.NET Core web development. ASP.NET Core assumes an intermediate knowledge of C#, so we have 10 classes to get the students to that level. The focus on these 2 weeks is primarily computer-science related and does not work with the web. The lab assignments are all console apps and focus on practicing the c# concepts taught daily.
- Exception Handling
- LAB: About Me
- Unit Testing
- LAB: ATM
- System.IO
- LAB: Word Guess Game
- Classes, Stack/Heap, Garbage Collector
- LAB: Tic-Tac-Toe
- OOP Principles
- LAB: Zoo Part 1
Data Structures:
- How to Approach a DS
- String & Array manipulation
- Quiz 1
- Interfaces
- LAB: Zoo Part 2
- Collections (Generic) & Enums
- LAB: Deck of Cards
- LINQ & Lambda Expressions
- LAB: LINQ in Manhattan
- Design Patterns
- LAB: Design Patterns
- Stacks & Queues // Recursion
- LAB: None
Data Structure: Linked Lists
Quiz 2
Weeks 3 & 4 introduce the concept of web development. The students will dive into MVC and learn what an MVC application consists of. They will model a database with an ERD and create a hotel asset management system through the course of the 2 weeks using ASP.NET MVC Core and Dependency Injection. They will end this module with an intro to REST APIs in ASP.NET and building out their own API server.
- MVC Intro
- TIME person of the year MVC App
- Relational Databases & schemas
- Lab: System Design//Design a schema
- CRUD Intro to Entity Framework
- Lab:
AsyncInn
Hotel Project Part 1
- Lab:
- Create Models from DB schema
- Identify Primary Keys/Foreign Keys/Composite Keys
- Entity Framework part 2
- LAB: EFCore Seeding/View Models/Tag Helpers
- Career Coaching
Data Structure: Stacks/Queues
Quiz 3
- Dependency Injection & Repository Design Pattern
- Incorporate the Repository Design Pattern into lab
- Introduce Singleton Design Pattern
- Azure Deployment & Unit Tests
- Deploy app to Azure and write basic tests
- API Introduction
- TODO List Part 1
- API - API part 2
- LAB: Making a call out to an API
- Midterm Project Kickoff
Data Structures: Trees (Binary, BST, K-ary)
Quiz 4
Midterm Project week
- Build a Full CRUD web app
- Build a custom API
- Make the Web app call out to the API
The second half of the class focuses on one major project. The students and a partner work together to build out an E-Commerce store. The second half is broken up into (3) 1-week sprints. Each week is broken into daily milestones. Each milestone consists of 3-5 user stories that are divided amongst all developers in a team.
Each day, the developers will complete their respective user stories. Each day builds off the prior, so it is important that all user stories from one day is completed before the next.
Projects are only submitted at the end of each sprint - This allows for students to progress towards an "end of week sprint" goal instead of feeling rushed everyday to complete the given tasks. This is also intentional to emulate a real-world team where in an agile environment, they are given until the end of the sprint to complete all the tasks that are assigned to them each day.
Students will use Azure Dev Ops (ADO) as their project management tool and Azure Repos as their source control. They will use the ADO kanban board to create and manage user stories.
- Intro to E-Com project and PM Tool "Azure DevOps"
- Beginning of Sprint 1: Create a basic MVC app with database
- Intro to Identity: Setup & Registration
- Implement Identity API and create use registration
- Login and Claims
- Add Login page to E-Com and capture specific claims
- Custom Policies
- Create policies to customize access across the site with previous claims
- END OF SPRINT 1
- Career Coaching
Data Structure: Hash Tables
- View Components
- SPRINT 2 START
- Add a "Basket" component to E-Com site
- System Design exercise - Integrate basket capabilities into the site with DB tables
- OAUTH
- Add 2 3rd party providers as login to project
- AUTH.NET (How to read 3rd party Docs)
- Incorporate "fake" payment processing into project
- Razor Pages
- Add in user profile & admin dashboard page as Razor Page
- END OF SPRINT 2
- Review Day
Data Structure: Graphs
Quiz 6
- .NET 4.8 MVC & Web Forms
- General Overall Review
- Ethics in Technology
- Open Source Contribution
- Learn, Investigate, and Contribute to an open source project
- Final Project Kickoff
Data Structures: Mock Interviews
Quiz 8
Final Project Week
- Build a full-stack app with ASP.NET Core
- Collaborate as a team with git and VSTS
- Present on completed project: test coverage, performance, security, and privacy