Course Description
This course provides a comprehensive introduction to ASP.NET Core MVC, a powerful framework for building web applications. Students will learn to develop dynamic web applications using the Model-View-Controller (MVC) design pattern. The course covers the fundamental concepts of ASP.NET Core, MVC architecture, data access with Entity Framework, and deployment strategies.
Course Objectives
By the end of this course, students will be able to:
- Understand the core principles and architecture of ASP.NET Core MVC.
- Develop web applications using the MVC design pattern.
- Implement data access using Entity Framework Core.
- Create and consume RESTful APIs.
- Apply security measures in ASP.NET Core applications.
- Deploy ASP.NET Core applications to various environments.
Required Texts and Materials
- Textbook: “Pro ASP.NET Core MVC 2” by Adam Freeman
- Additional materials: Access to a computer with Visual Studio or Visual Studio Code, .NET SDK, and SQL Server or another database management system.
Course Schedule
Week 1: Introduction to ASP.NET Core
- Topic: Overview of ASP.NET Core and .NET 6
- Reading: Chapter 1 of the textbook
- Assignment: Setup Development Environment
Week 2: ASP.NET Core MVC Fundamentals
- Topic: Understanding the MVC Architecture
- Reading: Chapter 2
- Assignment: Create a Simple MVC Application
Week 3: Controllers and Actions
- Topic: Creating and Using Controllers
- Reading: Chapter 3
- Assignment: Build and Test Controllers
Week 4: Views and View Components
- Topic: Creating and Rendering Views
- Reading: Chapter 4
- Assignment: Develop Views with Razor Syntax
Week 5: Models and Data Binding
- Topic: Creating Models and Data Binding
- Reading: Chapter 5
- Assignment: Implement Model Validation
Week 6: Entity Framework Core
- Topic: Introduction to Entity Framework Core
- Reading: Chapter 6
- Assignment: Set up EF Core and Create Data Models
Week 7: Data Access and CRUD Operations
- Topic: Implementing CRUD Operations with EF Core
- Reading: Chapter 7
- Assignment: Build a CRUD Application
Week 8: Midterm Exam
- Review: Key Concepts and Practices Covered
- Exam: Midterm covering Weeks 1-7
Week 9: Routing in ASP.NET Core
- Topic: Understanding and Configuring Routing
- Reading: Chapter 8
- Assignment: Implement Attribute and Convention-based Routing
Week 10: RESTful Services and APIs
- Topic: Creating RESTful APIs
- Reading: Chapter 9
- Assignment: Build and Test RESTful APIs
Week 11: Authentication and Authorization
- Topic: Implementing Security in ASP.NET Core
- Reading: Chapter 10
- Assignment: Secure an Application with Identity
Week 12: Dependency Injection and Middleware
- Topic: Using Dependency Injection and Middleware
- Reading: Chapter 11
- Assignment: Create Custom Middleware
Week 13: Frontend Integration and Single Page Applications (SPAs)
- Topic: Integrating Frontend Frameworks (React, Angular)
- Reading: Chapter 12
- Assignment: Develop a Simple SPA with ASP.NET Core
Week 14: Testing and Debugging
- Topic: Unit Testing and Debugging Techniques
- Reading: Chapter 13
- Assignment: Write Unit Tests for MVC Components
Week 15: Deployment and Hosting
- Topic: Deploying ASP.NET Core Applications
- Reading: Chapter 14
- Assignment: Deploy an Application to Azure
Week 16: Final Project Presentations
- Topic: Presenting Comprehensive ASP.NET Core Projects
- Assignment: Final Project Presentation
Assessment Methods
- Participation: 10%
- Assignments: 40%
- Midterm Exam: 20%
- Final Exam: 20%
- Final Project/Presentation: 10%