Best C# (.NET) Courses for Beginners On Pluralsight


I was keen to write this post about the best C# and .NET courses on Pluralsight. I must admit I’m biased towards Microsoft technologies, and I have over a decade of experience in using them. Honestly, I am happy about my choice to progress in this direction. I hope you too!

I’m sure you know that the C# is an elegant, powerful, and very expressive programming language. A lot of companies around the world are using C# to build their spaceship-sized projects, which are highly performant and functional.

When creating this recommended courses’ list, I was relying on Microsoft’s C# certification exam requirements to find the relevant courses.

What skills are required for C# developer

According to Microsoft C# certification requirements, you need to have a thorough understanding of the following:

  • Managing program flow and events
  • Asynchronous programming and threading
  • Data validation and working with data collections including LINQ
  • Handling errors and exceptions
  • Working with arrays and collections
  • Working with variables, operators, and expressions
  • Working with classes and methods
  • Decision and iteration statements

Previously listed skills are the default skillset you need to possess as a C# developer. Let this skill set to be the guide to what courses you should be watching, absorbing, and practicing.

back to menu ↑

C# Fundamentals course

This C# fundamentals course has been created by Scott Allen, who is one of the top best instructors on Pluralsight. He was also the first person I heard teaching C# online when I started my .NET development career over a decade ago. It’s hard to describe his way of teaching, so you must see (or I should say listen) for yourself. His courses are very engaging and understandable.

In this course, you will learn pretty much all the basics:

  • You will be introduced to .NET and C#. The introduction will include things like downloading and installing .NET for every operating system, understanding .NET runtime, creating your first C# project, and the “Hello, World” application.
  • The next thing you will learn is C# classes and objects. This will contain everything from creating classes, constructors, fields and properties, and more.
  • You will learn the code testing basics. In this module, you will write your first tests and then run them.
  • The types. Types are one of the C# foundational things. You will learn about different types of C# programming language.
  • Controlling the flow of execution. This is where you will learn about the Switch and If statements, different loop types, exception handling basics, and more.
  • Object-oriented concepts. C# is an OOP language. No step further without understanding these concepts.

Duration: 6 hours
Available here: link to the Pluralsight course.


back to menu ↑

C# Collections Fundamentals course

This course has been created by Simon Robinson, who has numerous years of experience in development. With this course, you will understand the collections in more depth.

Why collections are so important, you may ask. Well, I bet you wouldn’t find a single application that wouldn’t be using at least a single type of collection, like an array or list. There are so many types of collections, and it can be confusing to understand them all.

With this course, you will learn about different types of collections, how to use and manipulate them, their capabilities, how they work behind the scenes, and what are the performance implications.

Here are the collections that you will learn about:

  • Arrays
  • Multidimensional arrays
  • Lists
  • Linked Lists
  • Stacks
  • Queues
  • Dictionaries
  • Sets
  • Enumerators
  • Collection interfaces
  • Other bits

Duration: 6 hours
Available here: link to the Pluralsight course.
Updated version of course: link to the Pluralsight course.

Beginning C-sharp Collections

back to menu ↑

Object-Oriented Programming Fundamentals in C# course

Another important C# course. This course is all about learning object-oriented programming principles and practices. I’m sure you guessed it already! The course has been created by one of the top Pluralsight instructors, Debora Kurata. She has created many other courses on the C# topic as well as Angular.

In this course, you will learn about the fancy terminology used in the OOP world. So terms like Abstraction, Encapsulation, Objects, Methods, Constructors, Inheritance, Interfaces, and other terms– will no longer be from an alien world.

Other important things in the OOP world are inheritance and code re-usability. Code repetition is a very common practice for every C# beginner, but in this course, you will learn how you can write reusable code.

Duration: 3 hours 30 minutes
Available here: link to the Pluralsight course.

Object-Oriented Programming Fundamentals in C-sharp

back to menu ↑

C# Interfaces course

Honestly, I didn’t understand what those interfaces were for, for a long time. Theoretically, I knew what they were, but I didn’t know the real value of them. I thought they are just dumb C# things that do nothing. Well, once a concrete class inherits from the interface, the concrete class must implement all the methods that are coming from the interface. Ok, that’s not a big deal, is it?

In reality, by having interfaces in our code, we ensure many things:

  • It just makes sense to have a class that inherits from the interface
  • The code is more maintainable
  • The code is more testable
  • The code is more extensible
  • You’ll be using interfaces for Dependency Injection quite heavily (don’t worry about the DI too much for now)

By the way, with the release of the C# version 8, interfaces are no longer that dumb. You can now have logic implemented within them.

In this course, you will be introduced to interfaces in more depth. Then you will be learning how to create interfaces to add extensibility, what is dynamic loading, what is an explicit interface implementation. Furthermore, you’ll know how to create effective interfaces, and you’ll be introduced to the aforementioned Dependency Injection thing. Really useful course.

Duration: 2 hours 30 minutes
Available here: link to the Pluralsight course.

C-sharp Interfaces

back to menu ↑

C# Generics course

Generics are a powerful C# feature where you can define a class or a method with a type as a parameter. There are situations where different types will have common functionality. You’ll want to avoid code duplication, hence generics can be one of the solutions for that. An example of generics can be a list of type T. In C#, the generic list would be defined as List<T>, meaning, this list can be of the following types:

  • string
  • int
  • another List
  • object
  • anything else

I understand this description of generics might be a bit vague, this is why I’ve put the generics course in this list of courses. The course is created by Scott Allen. You will learn the following:

  • What are generics and why
  • How to work with generics
  • What are generic classes and interfaces
  • Many more

Duration: 4 hours 30 minutes
Available here: link to the Pluralsight course.

C-sharp Generics

back to menu ↑

LINQ Fundamentals course

LINQ, or Language Integrated Query, (link to the Microsoft’s documentation) is a C# language feature that other programming languages still don’t have or just recently added. The way this is achieved in other languages is by either adding third party dependencies or writing this functionality yourself. In short, LINQ is a feature that will enable you to run queries against collections.

LINQ looked a bit confusing to me when I was a .NET beginner. It’s because I started learning C# related things in the wrong order. This is why I’ve put the LINQ course in the middle, and by now, you should have a good understanding of types, collections, and in general, you should feel familiar with the C# programming language.

This LINQ fundamentals course is delivered by Scott Allen, and this course is also one of my all-time favorites.

  • You will be officially introduced to the LINQ. Welcome! You’ll be given with the comparison of what it’s like to live without the LINQ, and with it!
  • Step-by-step, you’ll learn how to use LINQ and how it works.
  • In this course, you will write LINQ queries using engaging real-world examples.
  • To add more complexity, you’ll be learning how to perform joins, grouping, and aggregation on data sets.
  • Last, but not least, you’ll learn how you can use LINQ to deal with XML and the beloved Entity Framework.

Duration: 4 hours 30 minutes
Available here: link to the Pluralsight course.

LINQ Fundamentals

back to menu ↑

C# Events, Delegates and Lambdas course

To me, personally, Events and Delegates are not very often used in my codes. It’s entirely dependent on the logic you write. Very often, we choose other ways of implementation without even thinking about using Events and Delegates instead. However, as I mentioned earlier, it all entirely depends on the logic we need to implement.

C# developers must understand what Events, Delegates, and Lambdas are. These are C# features that will make your code look nicer and more professional, as far as it also makes your code more readable.

It can be a little bit difficult to understand these C# features as you first get started with the language, so after watching this course, I recommend you to go and find bits of code in your projects and consider if it can be improved using these three features. The more practice you’ll get, the more efficient and professional-looking code you’ll write.

Duration: 3 hours 10 minutes
Available here: link to the Pluralsight course.


back to menu ↑

Dates and Times in .NET course

I’d like you to know that if you’re not careful when writing code, especially when you will be dealing with the date and time, you will produce bugs in your application. I hope these bugs won’t be the likes where you will accidentally delete the data that is critical to the business.

In this course, you will learn how to handle relative date and time ranges, for example, how to correctly calculate the difference between dates/times. Handling dates and times seems like a no big deal. And it isn’t when you do it right, otherwise, I bet you will step on a rake.

Duration: 1 hour 30 minutes
Available here: link to the Pluralsight course.

Dates and Times in DOTNET

back to menu ↑

Working with Nulls in C# course

Nulls are evil! Mind you. Do whatever you can to understand them at the very beginning of your C# and .NET journey. Again, you may say that it’s no big deal, but you will be hurting yourself so many times. I still do that to myself, even though I know a lot about the nulls.

When you code, you have to think about how defensive your code is. Trust no one. Never. Double-check is your friend. If you’re not defensive enough, your application will blow-up. A lot. In many places of your code.

It’s okay if your code is not yet deployed to the production environment. If it’s in the production, and it explodes, that’s no good, because It hurts the business, annoys customers, causes headaches, and whatnot.

Please learn how to avoid all that and how to do it the right way. This course is delivered by Jason Roberts, who is also one of the most popular instructors on Pluralsight.

In this course you will learn:

  • How to work with nulls, nullable value types, and strings
  • How to access and check for null values
  • How to eliminate null reference exception types (the common stuff!)
  • Understanding the non-nullable reference types in the C# 8

Duration: 2 hours
Available here: link to the Pluralsight course.

Working with Nulls in C-sharp

back to menu ↑

Error Handling in C# with Exceptions course

In case you’ve stepped on a mine, and you exploded, this course will teach you how to handle that (I’m sure this sentence doesn’t make any sense!). But let’s say if your application has exploded due to some exception, and there’s no exception handling. Well, it’s too late then.

Make sure you watch this course before you write any real application.

Now I’m going to confuse you even more.

It’s sometimes okay when your application throws an exception somewhere deep in the code. You’ll have an opportunity to log this event and debug the code. You can see what was the cause of the error when your application throws an exception. Then, let it bubble up, and handle the exception near the surface, to show your customer some friendly message.

In this course, you will learn everything about exceptions and exception handling.

  • You will understand the importance of error (or exception) handling.
  • You will understand the exception class hierarchy.
  • You will write lots of code. Hands-on experience guaranteed!
  • You will even create your own exceptions!
  • You will write some automated tests for exception throwing code.

Duration: 1 hour 30 minutes
Available here: link to the Pluralsight course.

Error Handling in C-sharp with Exceptions

back to menu ↑

Getting Started with Asynchronous Programming in .NET course

Ok, this is not something easy to understand, hence this course is the last in the queue. C# creators have made this very easy to use, however, to understand the roots of asynchronous programming, is not easy.

When you code an application that is used by only you, that’s not a big deal– you don’t need to worry about how your application will behave under some circumstances. It’s way different when we talk about a multi-user application, where multiple threads are running at the same time. This is where the fun begins.

You have to watch this course so you’ll get familiar with the asynchronous principles and how to use that in C#.

Duration: 2 hours 30 minutes
Available here: link to the Pluralsight course.

Getting Started with Asynchronous Programming in DOTNET

back to menu ↑

Design Patterns Library course

This is the biggest C# design patterns library that I was able to find on the Internet, that has not only the theoretical information but also practical bits in it. In this course, you’ll find 33 design patterns described in great detail with code examples and use cases.

I am still referring to this library when I need to see how one or another pattern is implemented then I apply these techniques in my projects. Using design patterns in your code will make the code more consistent and more readable. That is a prerequisite to any good C# developer.

This library has been created by multiple field experts that you can undoubtedly trust.

Duration: 15 hours 30 minutes
Available here: link to the Pluralsight course.

Design Patterns Library

back to menu ↑


In this list, I tried my best to put together all the learning material that you will need to begin your C# development career. I’ve relied on the Microsoft requirements for anyone who wants to prove they can code using C#.

Believe it or not, Microsoft knows the stuff!

      IQ Unlock