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

Week 1   Part I · C# and .NET Foundations

Introduction to Enterprise Software Engineering with .NET

Instructor lesson plan: lecture (2 h) and practice (2 h).

Learning objectives

Tools this week

.NET SDKVisual Studio / Rider / VS CodeGitGitHub

🎓Lecture · 2 hours

0:00-0:1010 minWelcome and course contract
  • One running project, three presentations, no written exam.
  • The course question: how do we turn a business domain into maintainable software?
0:10-0:3020 minWhat enterprise software means
  • Users, workflows, roles, data consistency, security, auditability, and long-term change.
  • Endpoint count versus system design quality.
0:30-0:5525 minThe .NET ecosystem
  • .NET runtime, SDK, C#, ASP.NET Core, EF Core, NuGet, supporting projects.
  • Solution and project boundaries as design decisions.
0:55-1:1015 minUse cases and domains
  • Actor, intent, trigger, business rule, success result.
  • Board exercise: order placement as a use case, not a controller method.
1:10-1:2010 minBreak
1:20-1:4525 minSemester architecture arc
  • From domain model to API, persistence, architecture, patterns, security, Azure integration, and optional AI integration.
  • How weeks 5, 8, and 13 measure design maturity.
1:45-2:0015 minProject domainsReview the approved domains and the evidence each team must show in Presentation 1.
Common misconception to confront.

Students often think: enterprise means large or complicated.
Set it straight: enterprise means the system has real business rules, real users, real data, and must remain understandable as it changes.

Check for understanding
Why is “create an order” not enough as a use case?
It omits the actor, trigger, validation rules, inventory policy, payment state, failure paths, and the business result.
What is the difference between a .NET solution and a project?
A solution groups related projects. Each project compiles into a unit such as an API, domain library, infrastructure library, or test assembly.
Key takeaways.

📚Reading & resources

💻Practice · 2 hours

In the practice session the instructor demonstrates setup and repository workflow live. The session ends with the first project-integration brief.

0:00-0:1515 minSetup check
  • Verify .NET SDK, IDE, Git, and GitHub access.
  • Create and run a minimal console project.
0:15-0:4530 minSolution from scratch
  • Create a solution with API, Domain, Application, and Infrastructure projects.
  • Discuss why each boundary exists.
0:45-1:1025 minProject workflow assumptions
  • Confirm repository access and branch naming.
  • README as a project contract.
1:10-1:2010 minBreak
1:20-1:5030 minTeam domain workshop
  • Teams shortlist domains and draft three use cases.
  • Instructor checks scope and realism.
1:50-2:0010 minProject-integration briefEach team leaves with a repository, domain shortlist, and first use-case draft.

Project integration (this week)

Curated references Project brief

NextWeek 2: Modern C# for Enterprise Domain Models