(1) CSharp Fundamentals
Topics
- Variables and data types
- Control structures:
if
,switch
,for
,while
- Methods and functions
- Classes and objects
- Abstract classes
- Records
- Interfaces
- Generic
- Anonymous Types
Resources:
(2) Object-Oriented Programming (OOP) in C#
Topics
- Encapsulation, inheritance, polymorphism and abstraction
- SOLID principles
- Design patterns (Factory, Singleton, Repository)
- Delegates and events
- Custom exceptions
- Nullable reference types
- Collections and LINQ
Resources
- Paper “Design Principles and Design Patterns” by Robert C. Martin
- Book: “Design Patterns in C#” by Vaskaran Sarcar
- Design Patterns in C# – Refactoring.guru
- C# Clean Code: SOLID Principles – Dev.to
- Object-oriented programming
- Apress/design-patterns-csharp-2e – Github.com
(3) Dotnet and ASP Dotnet Core
Topics
- Lifecycle of a .NET application
- Project structure (
Program.cs
,Startup.cs
, orbuilder
) - Routing and controllers (
Controller
,Route
,HttpGet/Post/etc.
) - Dependency Injection
- Middleware
Resources
(4) Data Access with Entity Framework Core
Topics
- Defining models and relationships
- DbContext and migrations
- CRUD with LINQ and EF
- Fluent API vs Data Annotations
Resources
(5) REST APIs with ASP.NET Core
Topics
- Creating endpoints using
ApiController
- Model validation (
DataAnnotations
) - Filters (
ActionFilter
,ExceptionFilter
) - Swagger (API documentation)
Resources
(6) Security and Authentication
Topics
- JWT Authentication and Authorization
- Identity Framework
- Policies and roles
Resources
- Secure ASP.NET Core with JWT
- Course (YouTube): JWT Authentication in ASP.NET Core
(7) Testing
Topics
- xUnit, NUnit
- Unit testing and integration testing
- Mocking with Moq