Code 401: Advanced Software Development in ASP.NET Core

Apply

Overview

Learn to write clean, well-tested, advanced C# code using industry-standard software engineering patterns and Microsoft's powerful, open-source ASP.NET Core framework.

You will use Visual Studio Community Edition to create ASP.NET MVC Core applications and work with Azure to deploy applications onto a live server within the cloud. The course focuses on fundamental computer science concepts like object-oriented programming, advanced data structures and algorithms, and the foundations of Microsoft’s ASP.NET Core Framework. Students will progressively build projects from start to finish following industry best practices and standard agile methodology.

This course includes a career coaching curriculum to get you ready for your job search, plus job search assistance after graduation. The course totals 400 hours, including lectures, lab, coworking, and collaborative projects.

Outcomes

At the end of this course, you will be ready for an entry-level software development position with skills to:

  • Build and contribute to REST APIs and Web Applications, using an architecture and framework that promotes maintainability, scalability, and collaboration. These skills will be fully demonstrated during project weeks through their team development of a prototype, adhering to industry best practices and patterns.
  • Follow industry-standard collaborative agile methodology by writing user stories, estimating project hours, and meeting deadlines through pre-set milestones within multiple sprints. These skills will be fully demonstrated through an iterative project in the second half of the course as students work with a partner as they plan and build towards a final deliverable.
  • Apply Computer Science fundamentals when analyzing the trade-offs between competing solutions when choosing data structures and algorithms, through daily whiteboard challenges to be prepared for technical interviews.
  • Participate in a series of career development workshops to build a network, establish a clean online presence, polish a resume, and establish other professional skills.

Prerequisites

  • Code 301
    • Students with previous experience can test out of this requirement in their application. If you'd like to test straight into this course, please make sure you have experience with all of the topics listed on the Code 201 and Code 301 course pages.
  • All students are expected to complete the prework for this course before the first day of class.

Topics

Concepts

  • Software development with AI tools
  • Test-Driven Development
  • C# Fundamentals
    • Error Handling
    • Unit Tests
    • OOP Principles
    • File Manipulation
  • Computer Science Fundamentals
    • Concurrency
    • Recursion
    • Security and Performance
    • Design Patterns
  • Application Deployment
  • 3rd Party Service Integration
  • ASP.NET Core Fundamentals
    • LINQ
    • Generic Collections
    • MVC
    • Razor Pages
    • Entity Framework Core
    • Microsoft Identity for Authentication & Authorization
  • RESTful APIs
  • View Components
  • React and Next.js
  • Game Developement with Unity

Collaboration

  • Group Projects
  • Whiteboard Challenge Groups

Languages & Frameworks

  • C#
  • ASP.NET Core
  • Bootstrap
  • React
  • Unity

Environment and Tools

  • Microsoft Azure App Services
  • Microsoft Azure Blob Storage
  • Microsoft SQL Server
  • Visual Studio Community Edition
  • GitHub
  • Azure DevOps

Data Structures and Algorithms

  • Big O Asymptotic Analysis
  • Linked Lists
  • Stacks/Queues
  • Trees
  • Binary Search Trees
  • Sorting Algorithms
  • Hash Tables
  • Graphs
  • Daily Whiteboard Interview Practice

Career Transition Services

Changing careers is about more than learning a new skill. In tandem with your software development education, you will receive powerful career-building strategic training so you can confidently start your job search as soon as (or even before!) you graduate.

Our Career Transition Services provide training, mentoring, leadership, and introductions to industry partners to help you become a more well-rounded software developer and a leader in your field. These services, which start in Code 201 and continue after Code 401 graduation, involve a series of events, workshops, and assignments that help you think holistically about your new career and take actionable steps towards success. Learn More »

Material Requirements

In addition to the computer specifications detailed in our FAQ, this course requires the following:

  • Required operating system: Windows (Pro edition)

Stacked Modules

Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules »

Homework Policy

In order to pass the class, students must attain at least 90% of available points.

Professionalism

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.

Apply Now