BrandGhost

C# and .NET Courses by Nick Cosentino

I’m a firm believer that the most effective way for us to improve as software engineers is to build software. However, I still publish free articles and videos to help supplement learning. And for that same reason, I’ll be offering courses of different kinds here. If you are using these materials to supplement your efforts in building things, then I think you’re on the right track!

About the Dometrain courses

Dometrain Courses

These are software engineering career courses and programming courses that are hosted on Dometrain. Dometrain courses are paid for and generally much longer and more in-depth than the other courses I will offer here. Nick Chapsas has created an *awesome* platform for getting some of the most experienced software engineers and software architects together to teach you about all of their experiences.

I’m proud to be a Dometrain course author and will happily continue to support the platform!

Career Courses

Develop the communication and career skills that support your engineering work.

Paid on Dometrain

C# and DotNet Courses

Build your C# foundation and explore reflection and refactoring.

Paid on Dometrain
From Zero to Hero: C# Course Bundle
PaidBundleDometrain

From Zero to Hero: C# Course Bundle

The most complete path to learning modern C# -- the 'Getting Started: C#' and 'Deep Dive: C#' courses bundled together at a 20% discount. Covers everything from your very first C# program through advanced patterns like async/await, LINQ, generics, and object-oriented design. Ideal for beginners to intermediate developers who want a rock-solid foundation in C#.

What you'll learn
  • Full C# fundamentals: variables, types, control flow, and loops
  • Object-oriented programming: classes, inheritance, interfaces, composition
  • Advanced features: generics, LINQ, delegates, and async/await
  • Streams, file I/O, JSON serialization, and NuGet packages
  • Multithreading and concurrent programming patterns
View bundle
Getting Started: C#
PaidDometrain

Getting Started: C#

Perfect for anyone new to programming or switching from another language, this course teaches everything you need to start writing C# code from scratch. Using real examples and hands-on exercises, you will build a solid foundation in the language that powers Microsoft Azure, enterprise software, and countless production systems worldwide. No prior programming experience required.

What you'll learn
  • Variables, primitive types: strings, integers, booleans, DateTime
  • Control flow: if statements, switch expressions, ternary operators
  • Collections: arrays, lists, and dictionaries
  • Loops: while, for, and foreach
  • Methods, return types, exception handling, and intro to OOP
View course
Deep Dive: C#
PaidDometrain

Deep Dive: C#

Takes you beyond the basics and into the features that professional C# developers rely on every day. Covering OOP patterns, LINQ, generics, delegates, streams, and the full async/await model, this course is built for developers who understand C# fundamentals and want to confidently tackle real-world production codebases. Prerequisite: Getting Started: C# or equivalent experience.

What you'll learn
  • OOP: inheritance, interfaces, abstract classes, and composition
  • Generics, tuples, records, structs, and enums
  • LINQ, extension methods, events, and delegates
  • Streams, file I/O, encoding, XML and JSON serialization
  • Async/await, tasks, background workers, and cancellation tokens
View course
From Zero to Hero: Reflection in .NET
PaidDometrain

From Zero to Hero: Reflection in .NET

Reflection is what powers dependency injection, serialization, ORMs, and countless .NET frameworks -- yet most developers use it without fully understanding it. This course teaches you how to correctly inspect and invoke types at runtime, scan assemblies, work with attributes, and use reflection with generics. Knowing how to use this tool responsibly will make you a significantly more capable .NET developer.

What you'll learn
  • Inspecting types, properties, fields, and methods at runtime
  • Assembly scanning and custom attribute discovery
  • Dynamically invoking constructors and methods with ConstructorInfo and MethodInfo
  • Reflection with generics: creating and invoking generic types at runtime
  • Performance considerations and unsafe accessors for high-performance scenarios
View course
From Zero to Hero: Refactoring for C# Developers
PaidDometrain

From Zero to Hero: Refactoring for C# Developers

Learn practical techniques for improving any C# codebase -- making it more efficient, readable, and maintainable without changing its external behavior. Using real-world examples, you will learn when and how to apply modern refactoring patterns including extract method, dependency injection, and the strangler fig pattern for larger rewrites. A must-have course for any C# developer working on a production codebase.

What you'll learn
  • Core techniques: rename, extract method, return early, decompose conditional
  • Dependency isolation: wrapping and injecting dependencies for testability
  • Eliminating duplication with DRY, Rule of Three, and pull-up method
  • Replacing conditionals with polymorphism and composition
  • Rewrite vs. refactor decisions and managing risk in large refactoring efforts
View course

Free Courses

These are software engineering courses and programming courses that are freely available to all! No membership. No cost. No strings attached.

Free
Introduction To Software Development
FreeDev Leader

Introduction To Software Development

A free mini-course designed for anyone curious about software development or thinking about it as a career. Covers what software development actually is, how developers work day-to-day, and what learning to code looks like in practice. No prior experience needed -- just curiosity about building software.

What you'll learn
  • What software development is and what developers actually do
  • Overview of programming concepts for complete beginners
  • How to think about starting your software engineering journey
View course
An error has occurred. This application may no longer respond until reloaded. Reload