Advanced course for .NET
Overview
Students will master the use of Visual Studio for developing ASP.NET MVC Core applications and utilize Azure for deploying these applications to live servers. The course emphasizes essential computer science principles, including object-oriented programming, data structures, and the core elements of Microsoft’s ASP.NET Core Framework.
Outcomes
By the end of this course, you will:
- Master the fundamentals of C#, .NET Framework, Object-Oriented Programming, Entity Framework with SQL Server, and LINQ.
- Implement authentication and web development using Identity Framework, MVC, and Razor Pages on IIS.
- Develop frontend applications with React/Next.JS and engage in Unity game development.
- Design domain models using object-oriented programming and create authenticated REST APIs with SQL Server and EF backend.
- Deploy full-stack MVC web apps to Azure, Jamstack web apps with React/Next.js to Netlify, and manage source control and deployment via Azure DevOps.
Please ensure to have a computer that meets the specified requirements:
- Supported operating systems: macOS, Linux, or Windows (Pro edition required).
- Latest OS version, fully up to date.
- All security updates installed.
- At least 100GB of free space on the hard drive.
- At least 16GB of RAM, 32GB RAM is strongly preferred.
- Support for video conferencing and screen-sharing, with a reliable webcam and microphone.
Operating System
- Latest version of Windows Pro
Applications
Accounts
Module 1
- Introduction to C# – Methods and Debugging
- Unit Testing – Bank ATM Unit Tests
- File Handling with System.IO – C# Programming Challenges
- Classes and Objects – Tic-Tac-Toe Game
- Linked Lists, Big O Notation, Resume Workshop – Linked List Implementation
Module 2
- Object-Oriented Programming (OOP) – UML Diagram for a Zoo
- Interfaces – Implementing UML Diagrams
- Collections and Enums – Designing a Lending Library
- LINQ and Delegates – Practicing LINQ and JSON Queries
- Stacks and Queues; Personal Pitch Workshop – Implementing Stack and Queue Structures
Module 3
- Databases and Entity-Relationship Diagrams (ERDs) – Create an ERD
- Entity Framework and APIs – Scaffold an API and connect it to SQL Server
- Dependency Injection and Repositories – Develop an API with multiple models using DbContext Injection
- Navigation Properties and Routing – Implement joins in an API using Navigation Properties
- Trees and Job Search Workshop – Implement Tree Data Structures
Module 4
- Data Transfer Objects (DTOs) – API: Sanitize input and format output for API
- Swagger and API Testing – API: Integrate Swagger and conduct acceptance tests
- User Management and Authentication – API: Implement user functionality using Identity Framework
- Roles, Claims, and JWT Tokens – API: Incorporate role-based access levels
- Project Kickoffs – Team Formation, Ideation, Wireframing, and Tool Setup
Module 5 - Midterm Project
- Design Blueprints, User Scenarios, System Architecture, Development Operations Plan, Project Documentation, Team Contracts
- Initial Development Stage
- Minimum Viable Product
- Final Refinements, Presentation Rehearsal
- Project Showcase and Final Presentations
Module 6
- MVC – ECommerce: Create an Admin Dashboard
- MVC Forms – ECommerce: Implement Add and Edit for Products and Categories
- Authorization, Cookies – ECommerce: Implement Login and Route Protection
- Azure Blob Storage – ECommerce: Enable Product Image Uploads
- Hash Tables, Behavioral Interviewing – Implement Hash Tables
Module 7
- Razor Pages – ECommerce: Build a customer-facing storefront
- View Components – ECommerce: Implement a shopping cart component
- SendGrid – ECommerce: Set up SendGrid for email notifications
- Payment Processing – ECommerce: Integrate payment processing with Authorize.net
- Graphs, Technical Interviewing – Graph Implementation: Develop an IPaymentGateway
Module 8
- API Overview – Develop a New REST API
- React and Next.JS – Build and Deploy a Connected React Application
- React Conditional Rendering – Implement CRUD Operations via API
- Authentication – Set Up Login Requirements for Application Access
- Personal Presentation
Module 9
- Unity – Setting Up the Game Framework
- Unity – Implementing Game Physics and User Interactions
- Open Source – Researching and Contributing to Open Source Software
- Ethics – Final Examination
- Project Kickoff – Team Formation, Idea Generation, Wireframing, and Tool Selection
Module 10 - Capstone Project
- Design Sketches, User Requirements, System Blueprint, Development Workflow, Project Documentation, Team Agreements
- Initial Development Stage
- Minimum Viable Product
- Final Refinements, Presentation Rehearsal
- Capstone Project Showcase
To successfully pass the class, students should aim to reach a minimum of 90% of the available points. We’ve created a flexible environment which will enable you to have the best learning experience and elevate you on to greater heights.
Punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required, in accordance with our Code of Conduct. Attendance will be taken at the beginning of every class. Passing requires at least 90% attendance. Students should always contact the instructors ahead of time if they are unable to attend all or part of the published class/lab hours.