Mastercourse

C# Mastercourse

Learn C# the right way, right away

206 lessons70 hoursEN & ES subtitles

What you'll work with

C# SyntaxOOPAdvanced BreakpointsEntity FrameworkMongoDB data accessLINQASP.NET CoreBlazorWPF

About this course

C# is the coding language used to build applications across the web, mobile, desktop, and games.

The world runs on applications. When you learn C#, you learn a skill the world needs right now. If you know C#, the career options are limitless.

Tim Corey's C# Mastercourse is designed to take you from programming beginner to junior level developer.

If you want to learn C#, this is the place to start. Even if you know C#, this course will fill in gaps in your knowledge. Learn how to think and code like a professional C# Developer.

What are you waiting for? Learn to conquer C# today!

Watch the course intro →

What you'll be able to do

  • Build full applications
  • Create real-world code
  • Access multiple database types
  • Debug code quickly
  • Implement best practices

Every lesson, in the open

206 lessons · 70 hours of video. Here's exactly what's inside.

  1. 1
    Mastercourse Introduction 5 lessons · 21 min
    • Introduction 0:47
    • Who This Course Is For 2:28
    • What This Course Covers 7:11
    • What This Course Does Not Cover 5:04
    • What Outcomes Should You Expect 5:49
  2. 2
    Getting Started 2 lessons · 36 min
    • Getting Visual Studio 9:03
    • Installing Visual Studio 26:35
  3. 3
    Our First Application 7 lessons · 2h 23m
    • Creating a Project 19:46
    • Touring the IDE 18:48
    • Installing an Extension 9:51
    • Updating Visual Studio 10:05
    • Understanding Applications 30:37
    • Building and Running an Application 23:53
    • Modifying an Application 29:55
  4. 4
    Our Second Application 5 lessons · 59 min
    • Planning Out the Application 14:08
    • Creating the Project 8:54
    • Implementing Our Plan 24:00
    • Executing Our Application 12:16
    • Section Quiz
  5. 5
    Common Variables 13 lessons · 3h 01m
    • Introduction 0:45
    • String 47:32
    • Int 26:41
    • Double 12:24
    • Decimal 11:05
    • Bool 6:51
    • Null 12:05
    • Homework - Variables 7:32
    • DateTime 24:01
    • DateOnly 9:55
    • TimeOnly 3:50
    • Type Conversions 16:26
    • Homework - Type Conversions 2:04
  6. 6
    Conditionals 5 lessons · 1h 31m
    • Introduction 1:04
    • Basic If Statements 25:05
    • Advanced If Statements 45:13
    • Switch Statements 17:24
    • Homework - Conditional Statements 2:31
  7. 7
    Conclusion of Variables and Conditionals 1 lesson · 0 min
    • Section Quiz
  8. 8
    Mini Project - Student Check 5 lessons · 49 min
    • Introduction 2:02
    • Requirements (Homework) 8:08
    • Planning the Project 17:30
    • Building the Project 12:30
    • Testing the Project 8:54
  9. 9
    Loops and Sets 13 lessons · 1h 39m
    • Introduction 1:50
    • Do/While Loops 22:00
    • Homework - Do Loops 1:30
    • Arrays 22:02
    • Homework - Arrays 2:12
    • Lists 11:14
    • Homework - Lists 0:59
    • Dictionary 11:15
    • Homework - Dictionary 1:31
    • For Loops 13:49
    • Homework - For Loops 1:23
    • Foreach Loops 8:10
    • Homework - Foreach Loops 1:31
  10. 10
    Methods 8 lessons · 1h 18m
    • Introduction 1:41
    • Creating a Method 12:25
    • Calling a Method 12:27
    • Design Principles (DRY, do one thing) 14:44
    • Method Parameters 12:00
    • Returning Data 9:08
    • Tuples 14:32
    • Homework - Methods 0:53
  11. 11
    Mini Project - Guest Book 5 lessons · 1h 02m
    • Introduction 1:51
    • Requirements (Homework) 4:19
    • Planning the Project 7:24
    • Building the Project 41:25
    • Testing the Project 7:15
  12. 12
    Debugging Section Introduction 1 lesson · 1 min
    • Introduction 1:14
  13. 13
    Debugging Basics 2 lessons · 1h 03m
    • Using Breakpoints 25:30
    • Handling Exceptions 37:48
  14. 14
    Advanced Debugging 2 lessons · 1h 08m
    • Advanced Exceptions 37:19
    • Advanced Breakpoints 30:43
  15. 15
    Debugging: Putting It All Together 2 lessons · 34 min
    • Mini Project 34:29
    • Section Quiz
  16. 16
    OOP Part 1 Section Introduction 1 lesson · 1 min
    • Introduction 1:12
  17. 17
    Class Types 2 lessons · 1h 21m
    • Static Classes 42:25
    • Instantiated Classes 38:51
  18. 18
    Class Options 2 lessons · 54 min
    • Property Types 33:29
    • Namespaces 20:18
  19. 19
    Putting It Together 2 lessons · 1h 08m
    • Class Libraries 33:13
    • Mini-Project 34:34
  20. 20
    Wrapping Up OOP Part 1 1 lesson · 0 min
    • Section Quiz
  21. 21
    Battleship App Section Introduction 1 lesson · 7 min
    • Introduction 6:57
  22. 22
    Battleship App Planning 3 lessons · 1h 16m
    • WOULD Framework 13:19
    • W & O Steps 29:15
    • U, L, & D Steps 33:10
  23. 23
    Battleship App: Writing the Code 4 lessons · 3h 13m
    • Class Library Creation 25:02
    • Console App Creation Part 1 59:11
    • Console App Creation Part 2 1:07:53
    • Wire Up the Logic 40:39
  24. 24
    Battleship App: Testing 1 lesson · 31 min
    • Debugging and Testing 30:54
  25. 25
    OOP Part 2 Section Introduction 1 lesson · 1 min
    • Introduction 1:09
  26. 26
    Interfaces and Inheritance 3 lessons · 1h 57m
    • Inheritance 38:22
    • Interfaces 38:16
    • Mini Project 40:20
  27. 27
    Modifiers, Abstract, and Overrides 4 lessons · 2h 07m
    • Access Modifiers 32:52
    • Abstract Classes 12:36
    • Method Overriding 23:20
    • Mini Project 58:21
  28. 28
    Overloads and Extensions 3 lessons · 1h 04m
    • Method Overloading 16:58
    • Extension Methods 15:29
    • Mini Project 31:42
  29. 29
    Generics and Events 3 lessons · 2h 13m
    • Generics 45:10
    • Events 40:24
    • Mini Project 47:43
  30. 30
    Wrapping Up OOP Part 2 2 lessons · 1 min
    • Wrap Up Quiz
    • Conclusion 1:13
  31. 31
    Project Types Section Introduction 2 lessons · 23 min
    • Course Introduction 1:11
    • Introduction to .NET Core 22:09
  32. 32
    Class Libraries 1 lesson · 26 min
    • Class Libraries Project Type 26:26
  33. 33
    Unit Tests 2 lessons · 1h 26m
    • Unit Test Project Type 59:15
    • Mini Project - Unit Tests 26:48
  34. 34
    WinForms 2 lessons · 2h 18m
    • WinForm Project Type 1:23:55
    • Mini Project - WinForms 53:36
  35. 35
    WPF Core 2 lessons · 1h 44m
    • WPF Core Project Type 56:26
    • Mini Project - WPF Core 47:57
  36. 36
    ASP.NET Core Razor Pages 2 lessons · 1h 57m
    • ASP.NET Core Razor Pages Project Type 1:31:15
    • Mini Project - ASP.NET Core Razor Pages 25:47
  37. 37
    ASP.NET Core MVC 2 lessons · 1h 36m
    • ASP.NET Core MVC Project Type 1:06:55
    • Mini Project - ASP.NET Core MVC 29:22
  38. 38
    ASP.NET Core API 2 lessons · 47 min
    • ASP.NET Core API Project Type 33:02
    • Mini Project - ASP.NET Core API 14:17
  39. 39
    Blazor Server 2 lessons · 1h 56m
    • Blazor Server Project Type 1:29:26
    • Mini Project - Blazor Server 26:52
  40. 40
    Blazor WebAssembly 2 lessons · 1h 08m
    • Blazor WebAssembly Project Type 41:28
    • Mini Project - Blazor WebAssembly 26:43
  41. 41
    Wrapping Up Project Types Section 1 lesson · 1 min
    • Project Types Conclusion 0:47
  42. 42
    Data Access Section Introduction 2 lessons · 8 min
    • Course Introduction 1:29
    • Our Scenario 6:12
  43. 43
    SQL Types 5 lessons · 4h 07m
    • Basic Normalization 18:37
    • Our ORM of Choice 12:27
    • SQL Server 2:34:57
    • SQLite 31:00
    • MySQL 29:55
  44. 44
    NoSQL Types 3 lessons · 2h 44m
    • NoSQL Concepts 9:01
    • MongoDB 50:35
    • CosmosDB 1:44:11
  45. 45
    Other Data Access Types 2 lessons · 2h 04m
    • Text Files 59:16
    • APIs 1:04:43
  46. 46
    Other Access Methods 2 lessons · 2h 31m
    • Linq / Lambdas 54:47
    • Entity Framework Core 1:36:20
  47. 47
    Wrapping Up Data Access Section 2 lessons · 1 min
    • Section Quiz
    • Course Wrap Up 0:50
  48. 48
    Hotel Management App Section Introduction 2 lessons · 15 min
    • Course Overview 8:21
    • The App Idea 6:56
  49. 49
    Hotel App: Planning 7 lessons · 1h 30m
    • Planning Review: WOULD Process 10:40
    • W Step 12:41
    • O Step 24:28
    • U Step 14:02
    • L Step 10:06
    • D Step 15:41
    • Wrap Up 2:16
  50. 50
    Hotel App: SQL Database Design 7 lessons · 41 min
    • Introduction 3:04
    • Room Type Table 5:14
    • Rooms Table 4:49
    • Guests Table 1:24
    • Bookings Table 5:03
    • Starter Data 19:55
    • Wrap up 1:59
  51. 51
    Hotel App: SQL Data Access Layer 8 lessons · 2h 11m
    • Introduction 2:44
    • Class Library Setup 5:50
    • Dapper Setup 28:16
    • Get Available Rooms 34:07
    • Book Guest 35:41
    • Search For Bookings 16:21
    • Check In 3:57
    • Wrap Up 3:57
  52. 52
    Hotel App: ASP.NET Razor Pages Design 5 lessons · 1h 29m
    • Introduction 1:46
    • Project Creation 13:03
    • Room Search Page 39:55
    • Book Room Page 30:13
    • Wrap Up 4:28
  53. 53
    Hotel App: WPF Core Design 5 lessons · 1h 22m
    • Introduction 2:51
    • Project Creation 17:18
    • Search Form 33:52
    • Check In Form 24:13
    • Wrap Up 3:51
  54. 54
    Hotel App: SQLite Database Design 7 lessons · 22 min
    • Introduction 2:15
    • Room Type Table 5:02
    • Rooms Table 3:29
    • Guests Table 1:36
    • Bookings Table 3:31
    • Starter Data 4:40
    • Wrap Up 1:55
  55. 55
    Hotel App: SQLite Data Access Layer 8 lessons · 1h 03m
    • Introduction 1:43
    • Dapper Setup 5:26
    • Dependency Injection Setup 9:45
    • Get Available Rooms 15:33
    • Book Guest 17:40
    • Search For Bookings 7:06
    • Check In 3:35
    • Wrap Up 2:41
  56. 56
    Wrapping Up the Hotel Management App Section 1 lesson · 4 min
    • Hotel App Wrap Up 3:51
  57. 57
    Career Development Section Introduction 1 lesson · 12 min
    • Introduction 12:02
  58. 58
    Important Career Development Questions 9 lessons · 3h 42m
    • How Do I Ask Great Questions? 32:06
    • How Do I Get Work Experience? 18:12
    • What Should Be In My Portfolio? 24:39
    • How Do I Evaluate A Job Opportunity? 41:57
    • How Do I Get A Great Start At A New Job? 21:29
    • How Do I Grow As A Developer? 23:28
    • How Do I Help Others (and Why?) 36:59
    • How Do I Become More Efficient? 14:13
    • Where Do I Go From Here? 9:26
  59. 59
    Wrapping Up the Career Development Section 1 lesson · 4 min
    • Conclusion 4:17
Tim Corey

Hi, I'm Tim Corey.

I learned software development the hard way, with lots of dead-ends, confusion, and knowledge gaps. I kept thinking, “It shouldn't be this hard!” Now I teach students how to think and code like professional developers. My goal is to make it easier for you to become a developer.

25+ Years experience
400,000+ Students taught
400+ Hours of training
10x Microsoft MVP

Frequently asked questions

When does this course start and finish?
The course starts now and never ends! It is a completely self-paced online course; you decide when you start and when you finish.
How long do I have to access the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like; across any and all devices you own.
What if I am unhappy with the course?
I do my best to provide the highest quality training to help you become a successful developer. But if this course isn't for you, then you can count on a no-hassle 30 Day Money Back Guarantee.

This course is part of a Learning Path

Take C# Mastercourse on its own, or follow a path that builds around it.