Enterprise Software Engineering with C# and .NET: Architecture, Design Patterns, and AI-Enabled Systems · HIT

CS 3xx · HIT · Advanced Course · Year 3 · 13 Weeks

Enterprise Software Engineering with C# and .NET: Architecture, Design Patterns, and AI-Enabled Systems

הנדסת תוכנה ארגונית עם C# ו-.NET

Architecture, quality attributes, design patterns, .NET depth, and AI-enabled enterprise systems

Prerequisites: Programming, basic OOP, databases, basic web development, Git, basic DevOps workflow Required for: software-engineering and backend-development specializations Feeds into: capstone projects, backend roles, and architecture-oriented internships Format: 2 h lecture + 2 h practice, one integrative team project Assessment: a running project presented three times, no written exams

About this course

This is the advanced course on designing and building enterprise-grade backend systems with C# and modern .NET. Students move beyond isolated programming exercises into the engineering discipline of domain modelling, use-case design, quality attributes, API contracts, persistence boundaries, integration patterns, security architecture, architecture documentation, and maintainable code. The emphasis is on building systems whose design can be explained, reviewed, extended, and defended.

No prior .NET experience is assumed. Students arrive with programming, basic OOP, database, web, Git, and basic DevOps foundations. The course builds the .NET foundations early, then uses one running project to introduce architecture styles, architectural decision making, enterprise design patterns, robust API design, security, enterprise integration, and AI API integration through explicit application boundaries.

Rationale. Enterprise software is not only about making endpoints respond. It is about aligning business use cases, domain rules, persistence, external integrations, quality attributes, security constraints, and team-readable code. This course provides a shared engineering base for students who will build backend systems, distributed applications, AI-enabled services, and capstone projects in realistic organizational settings.

Course format

Each week is 4 contact hours: a 2-hour lecture for concepts, architecture, and design reasoning, and a 2-hour practice session at the keyboard. Git and basic DevOps workflow are assumed. The practice session focuses on architecture increments, .NET implementation depth, and design review. The thirteen weeks form six parts: .NET Foundations for Enterprise Systems (weeks 1 to 2), API Contracts and Persistence (3 to 4), Enterprise Architecture and Design Tradeoffs (5 to 8), Domain Logic and Security Architecture (9 to 10), Integration and AI-Enabled Systems (11 to 12), and Final Architectural Defense (13). The running project is presented to the class three times, in the Student Project Presentations: a proposal (week 5), an interim review (week 8), and a final project defense (week 13).

Modern .NET.NET runtime and SDK, modern C#, records, generics, LINQ, async, options, dependency injection, configuration.
API & DataASP.NET Core Web API, DTOs, ProblemDetails, EF Core, migrations, concurrency, transactions.
ArchitectureQuality attributes, layered architecture, Clean Architecture, modular monoliths, ADRs.
PatternsRepository, Unit of Work, Factory, Strategy, Adapter, Decorator, Mediator, CQRS, Outbox.
IntegrationHttpClientFactory, hosted services, caching, background work, idempotency, resilience.
AI APIsMicrosoft.Extensions.AI, Semantic Kernel, OpenAI .NET SDK, embeddings, tool calling, evaluation.

Expected outcomes

By the end of the course, students will be able to:

1💻Develop enterprise applications using C#, modern .NET, and ASP.NET Core.
2🔗Design RESTful APIs with explicit DTOs, validation, versioning, and error handling.
3🧮Use Entity Framework Core for persistence, migrations, relationships, and database access.
4🏗️Structure applications with layered architecture, Clean Architecture, and modular design.
5🛠️Apply enterprise design patterns where they clarify boundaries and reduce coupling.
6📊Evaluate architecture using quality attributes, scenarios, ADRs, and explicit tradeoffs.
7🔒Design security architecture with authentication, authorization, validation, auditability, and error contracts.
8🧪Use contract thinking and architecture checks to protect business logic, API behavior, and dependency rules.
9🔁Use .NET integration capabilities such as HttpClientFactory, hosted services, caching, resilience, and background work.
10🧠Integrate AI APIs and .NET AI libraries behind replaceable, governable application boundaries.
11📜Document architecture decisions with diagrams, ADRs, pattern explanations, and tradeoffs.
12🎓Defend a complete enterprise application from use case to implementation detail.

Industry alignment

Current .NET backend roles consistently ask for C#, ASP.NET Core, REST APIs, Entity Framework Core, SQL, secure API development, third-party integration, Azure or cloud familiarity, scalable service design, and maintainable architecture. Senior roles add design patterns, microservice or modular boundaries, caching, background processing, messaging, observability, and architecture tradeoff reasoning.

⚙️Added .NET depth. Options pattern, configuration, DI lifetimes, HttpClientFactory, hosted services, caching, resilience, ProblemDetails, EF concurrency, and transactions.
🏗️Added architecture depth. Quality attributes, ADRs, modular monoliths, vertical slices, service boundaries, integration contracts, and architecture fitness checks.
🔁Added Azure integration depth. App Service, Azure SQL, Storage, Key Vault, Entra ID, Managed Identity, Service Bus, Functions, Application Insights, and cloud-aware boundaries.
🔒Added security depth. Threat modelling, policy-based authorization, API error contracts, audit trails, data exposure, and OWASP API security concerns.

Academic foundations

The course adds theory where it deepens design judgement. Students learn the principle, apply it in .NET, and defend it through their project architecture.

🏗️Quality attributes. Modifiability, scalability, reliability, security, observability, deployability, and cost as architecture drivers, not afterthoughts.
🧩Coupling and cohesion. Afferent and efferent dependencies, instability, abstraction, dependency inversion, and why boundaries reduce change cost.
📜Contracts and invariants. API contracts, domain invariants, preconditions, postconditions, consistency boundaries, and failure contracts.
🔁Distributed-system principles. Latency, partial failure, idempotency, retries, timeouts, eventual consistency, queues, and exactly-once misconceptions.
🔒Security theory. Threat modelling, least privilege, trust boundaries, claims, policies, secrets, auditability, and data exposure.
🧠AI system theory. Non-determinism, context construction, evaluation sets, model risk, prompt ownership, tool-use boundaries, and human accountability.

Prerequisites: review and self-check

The course assumes prior programming and basic software-development experience. Each row lists the background students should review before Week 1.

SubjectBackground topicsMaterial
🔧Programming & workflow C-style syntax or Java/C# familiarity, basic OOP, Git, pull requests, code review, reading a stack trace ReviewSelf-check
⚙️Web & databases HTTP and REST, JSON, relational tables, keys, joins, transactions, basic SQL ReviewSelf-check
🏗️Software engineering Object-oriented design, interfaces, separation of concerns, basic UML or C4-style diagrams ReviewSelf-check

Weekly materials

Each week combines the in-class plan with its study trail: lesson plan, practice brief, videos, official docs, tutorial, and reading or book chapters. In the highlighted weeks the practice slot is a Student Project Presentation: fully student-run, no instructor material.

Weekly plan and study resources
Part I · .NET Foundations for Enterprise Systems
Week 1
Introduction to Enterprise Software Engineering with .NET Lecture Enterprise systems, quality attributes, .NET ecosystem, solution structure, business domains, use cases. Practice Create the initial solution architecture; choose a domain; draft use cases and quality-attribute scenarios. Tools .NET SDK · Visual Studio / Rider / VS Code · C4 sketches · ADR template
Week 2
Modern C# for Enterprise Domain Models Lecture Records, nullable reference types, generics, LINQ, exceptions, async and await, value objects, invariants. Practice Model initial domain entities and value objects; write first domain services and executable examples. Tools C# 12+ · nullable reference types · LINQPad optional
Docs C# documentation; Records; Nullable reference typesTutorial C# tutorialsReading C# in Depth, language evolution chapters.
Part II · API Contracts and Persistence
Week 3
API Contracts, SOLID, and Maintainable Services Lecture SOLID, API contracts, DTOs, ProblemDetails, dependency inversion, cohesion, coupling, maintainability. Practice Refine service boundaries; define request and response contracts; refactor toward clear boundaries. Tools code analyzers · ProblemDetails · architecture sketches
Docs API error handling; Dependency injectionTutorial Create a minimal APIReading Clean Architecture, SOLID and component principles.
Week 4
ASP.NET Core Web API Lecture Controllers, Minimal APIs, routing, middleware, DI lifetimes, options, configuration, Swagger, OpenAPI. Practice Build first working endpoints; define DTOs; add validation, options, and consistent API responses. Tools ASP.NET Core · Swagger / OpenAPI · FluentValidation · options pattern
Part III · Enterprise Architecture and Design Tradeoffs
Week 5
Proposal Presentations, EF Core, and Persistence Tradeoffs Lecture DbContext, relationships, migrations, transactions, concurrency, query shape, persistence boundaries. 🎤 Student Project Presentation 1 · Proposal Tools Entity Framework Core · SQL Server / PostgreSQL · migrations
Week 6
Architecture Styles and Quality Attributes Lecture Layered, Clean Architecture, vertical slice, modular monolith, quality attributes, fitness functions. Practice Reorganize the project around chosen architecture; write ADRs and quality-attribute scenarios. Tools C4 diagrams · ADRs · dependency rules · architecture checks
Week 7
Enterprise Design Patterns and Integration Patterns Lecture Repository, Unit of Work, Factory, Strategy, Adapter, Decorator, Mediator, CQRS, Outbox, idempotency. Practice Implement patterns with executable examples; document why each pattern fits the use case and quality goals. Tools DI container · MediatR · interfaces · pattern notes
Docs DDD and CQRS patterns; DI guidelinesTutorial MediatR documentationReading Design Patterns: Factory Method, Strategy, Adapter, Decorator, Mediator.
Week 8
Midterm Presentations and Clean Architecture Lecture Dependency rules, use cases, ports and adapters, modular monoliths, package boundaries. 🎤 Student Project Presentation 2 · Interim Tools Clean Architecture · C4 diagrams · ADRs
Part IV · Domain Logic and Security Architecture
Week 9
Domain-Driven Design and Business Logic Lecture Entities, value objects, aggregates, domain services, domain events, invariants, business rules. Practice Strengthen workflows and domain rules; add use-case scenarios around business behavior. Tools domain model · use-case services · event sketches
Docs Domain model validations; Domain model designTutorial Implement a domain modelReading Domain-Driven Design, entities, value objects, services, modules, aggregates.
Week 10
Security, Validation, and Robust API Design Lecture Threat modelling, authentication, authorization, JWT, roles, claims, audit trails, validation, global error handling. Practice Secure selected endpoints; add authorization policies, validation filters, audit notes, and error response contracts. Tools ASP.NET Core Identity / JWT · authorization policies · ProblemDetails · OWASP API Security
Part V · Integration and AI-Enabled Systems
Week 11
Azure Cloud Services and Enterprise Integration Lecture Azure App Service, Azure SQL, Storage, Key Vault, Entra ID, Managed Identity, Service Bus, Functions, Application Insights. Practice Design the Azure deployment and integration map; add cloud-aware configuration, secrets, logging, and failure handling. Tools Azure App Service · Azure SQL · Key Vault · Managed Identity · Service Bus · Functions · Application Insights
Week 12
.NET Integration Depth and AI-Enabled Systems Lecture HttpClientFactory, resilience, hosted services, caching, AI clients, streaming, embeddings, tool calling, evaluation. Practice Add an integration boundary, background workflow, or optional AI-backed use case with clear failure handling. Tools HttpClientFactory · Polly · IHostedService · IMemoryCache · Microsoft.Extensions.AI · Semantic Kernel
Part VI · Final Architectural Defense
Week 13
Final Student Presentations Lecture Final demo, architecture review, code quality, integration design, design decisions, lessons learned. 🎤 Student Project Presentation 3 · Final (with oral defense) Tools architecture document · ADRs · quality evidence · final slides

AI usage

Using an AI assistant is encouraged in this course; it reflects how modern software engineering is increasingly done. Two conditions keep the learning genuine: students keep full ownership of, and responsibility for, everything they submit, and must be able to explain and defend any part of it.

Every weekly project increment follows a three-part model:

Part A · AI assistant welcomeBuild

Use an assistant to explore framework APIs, generate examples, compare designs, or find refactoring options.

Part B · verification requiredRun & inspect

Run the code, read it, check edge cases, remove secrets from prompts, and make sure generated code matches the architecture.

Part C · in plain languageReview & defend

Explain the design and its tradeoffs, where it would fail, and why each pattern or boundary belongs in the system.

Assessment and grading

Grading is project-based, with weight on architecture, reasoning, maintainability, use-case coverage, integration design, and the ability to defend design decisions. The running project is the single deliverable, built up in weekly increments and graded at the three Student Project Presentations. There are no written exams and no separate lab submissions.

ComponentWhat it coversWeight
Project · ProposalStudent Project Presentation 1: problem, domain, use cases, architecture plan, data model, technical risks (week 5).20%
Project · InterimStudent Project Presentation 2: working API, persistence, architecture, design patterns, business workflows, code structure (week 8).30%
Project · FinalStudent Project Presentation 3: complete system, final architecture, integration design, security, documentation, optional AI integration, oral defense (week 13).50%

The running project

100% of the grade · teams of three or four · presented three times

Teams carry a single enterprise application across the semester, integrating most of the covered material into one coherent system: a business domain, use cases, REST API, persistent data model, layered or Clean Architecture structure, enterprise design patterns, security, validation, integration boundaries, documentation, and an optional AI-backed use case. Teams choose one of the course domains, order management, course registration, clinic appointments, helpdesk ticketing, inventory management, booking and reservation, portfolio management, or insurance claims, or propose another domain of comparable scope for approval. Whatever the domain, teams must demonstrate architectural maturity, not endpoint count alone. Each presentation is 12 to 15 minutes plus questions, with a short written report and a tagged release of the repository.

P1Student Project Presentation 1 · Proposal

20% of the grade · week 5 · problem, domain, and architecture plan

P2Student Project Presentation 2 · Interim

30% of the grade · week 8 · working foundation and architecture review

P3Student Project Presentation 3 · Final

50% of the grade with a short oral defense · week 13 · complete system

Example project ideas

Each idea below exercises the course architecture stack; teams may take one as-is or propose a variant of comparable scope.

📦Order management system. Orders, customers, inventory reservations, status workflows, authorization, and reporting.
🎓Course registration system. Students, courses, prerequisites, registration windows, waitlists, and approval policies.
🏥Clinic appointment system. Patients, doctors, schedules, bookings, reminders, roles, and audit history.
🎫Helpdesk ticketing system. Ticket lifecycle, routing strategies, SLA rules, comments, search, and escalation.
🏭Inventory management system. Warehouses, stock movements, reorder policies, reports, and integration adapters.
📅Booking platform. Availability, reservations, cancellation rules, payment states, and conflict prevention.
💰Portfolio management system. Assets, transactions, risk views, reporting, authorization, and external data adapters.
📝Insurance claims processor. Claims, documents, adjusters, rules, status transitions, and optional AI summarization.

Video references

Free video material that aligns with the course. Microsoft Learn and .NET team videos are preferred because they are official and stable; Coursera links are included as optional structured supplements.

.NET
Back-end Web Development with .NET for Beginners · Microsoft Learn

Official video series covering ASP.NET Core hosting, middleware, dependency injection, minimal APIs, and API design. Best for weeks 1 and 4.

C#
C# for Beginners · Microsoft Learn

Useful C# refresher for syntax, LINQ, and language idioms. Students with OOP background can skim selectively for week 2.

EF Core
Entity Framework Core for Beginners · Microsoft Learn

Official EF Core video series covering getting started, existing databases, ASP.NET Core integration, and performance. Best for week 5.

Architecture
Clean Architecture with ASP.NET Core · .NET Conf / Microsoft Learn

Direct match for layered architecture, Clean Architecture, ports and adapters, and dependency direction. Best for weeks 6 and 8.

Patterns
Design Patterns: Strategy · Visual Studio Toolbox / Microsoft Learn

A concise pattern-focused episode from a broader design patterns series. Best for week 7.

DDD
Domain-Driven Design and EF Core · .NET Conf / Microsoft Learn

Connects DDD tactical patterns with EF Core persistence. Best for week 9.

Security
Let's Learn .NET: Auth and Identity · Microsoft Learn

Official authentication and authorization video session. Best for week 10.

Azure
Azure Functions for .NET developers · Microsoft Learn

Specific match for Azure Functions, event-driven integration, and serverless .NET architecture. Best for week 11.

AI
Let's Learn .NET: Semantic Kernel · Microsoft Learn

Official beginner-friendly video on building intelligent applications with Semantic Kernel. Best for week 12.

Course
Back-End Development with .NET · Coursera

Optional structured supplement covering .NET architecture, API development, middleware, serialization, and OpenAPI.

Hebrew video support

Hebrew-language videos are included as support material for review, vocabulary, and local context. They supplement the official English sources rather than replacing them.

Hebrew C#
שפת C# .NET · YouTube playlist

Hebrew C# and .NET playlist for weeks 1 and 2, useful as a language refresher.

Hebrew C#
מדריך C# למתחילים · YouTube

Compact Hebrew C# refresher for students who want a quick review before the domain modelling work.

Hebrew API
ASP.Net Web Api · YouTube

Hebrew Web API support video for week 4.

Hebrew .NET
Dependency Injection · YouTube

Hebrew explanation of dependency injection for weeks 3, 4, and 7.

Hebrew EF
Entity Framework Core · YouTube

Hebrew EF Core support video for persistence discussions in week 5.

Hebrew Patterns
Design Patterns: Factory · YouTube

Hebrew pattern vocabulary support for week 7.

Hebrew Azure
קורס Azure למתחילים · YouTube playlist

Hebrew Azure foundations playlist for week 11 cloud service mapping.

Hebrew Microsoft
Microsoft Learn video catalog · Microsoft Learn Hebrew

Hebrew Microsoft Learn video catalog for additional product and role-based study.

References

A curated reading list spanning enterprise architecture, .NET backend engineering, domain modelling, and AI-enabled application design.

Architecture
Software Architecture: The Hard Parts · Ford, Richards, Sadalage & Dehghani

Architecture tradeoffs, coupling, service boundaries, and decision analysis for real systems.

Design
Design Patterns · Gamma, Helm, Johnson & Vlissides

The classic pattern vocabulary behind many enterprise object-oriented designs.

Domain
Domain-Driven Design · Eric Evans

Entities, value objects, aggregates, repositories, services, and domain language.

.NET
ASP.NET Core documentation · Microsoft Learn

Official documentation for ASP.NET Core APIs, middleware, dependency injection, and security.

AI
Microsoft.Extensions.AI · Microsoft Learn

Provider-neutral abstractions for chat clients, embeddings, tools, and middleware in .NET.

AI
Semantic Kernel · Microsoft Learn

C# orchestration, plugins, function calling, and agent patterns for AI-enabled applications.

Tools and resources

The toolchain mirrors the weekly schedule and keeps attention on .NET, enterprise architecture, and defensible engineering decisions.