C# Mastercourse
Learn C# the right way, right away
What you'll work with
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!
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
Mastercourse Introduction
- 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
Getting Started
- Getting Visual Studio 9:03
- Installing Visual Studio 26:35
- 3
Our First Application
- 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
Our Second Application
- Planning Out the Application 14:08
- Creating the Project 8:54
- Implementing Our Plan 24:00
- Executing Our Application 12:16
- Section Quiz
- 5
Common Variables
- 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
Conditionals
- Introduction 1:04
- Basic If Statements 25:05
- Advanced If Statements 45:13
- Switch Statements 17:24
- Homework - Conditional Statements 2:31
- 7
Conclusion of Variables and Conditionals
- Section Quiz
- 8
Mini Project - Student Check
- Introduction 2:02
- Requirements (Homework) 8:08
- Planning the Project 17:30
- Building the Project 12:30
- Testing the Project 8:54
- 9
Loops and Sets
- 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
Methods
- 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
Mini Project - Guest Book
- Introduction 1:51
- Requirements (Homework) 4:19
- Planning the Project 7:24
- Building the Project 41:25
- Testing the Project 7:15
- 12
Debugging Section Introduction
- Introduction 1:14
- 13
Debugging Basics
- Using Breakpoints 25:30
- Handling Exceptions 37:48
- 14
Advanced Debugging
- Advanced Exceptions 37:19
- Advanced Breakpoints 30:43
- 15
Debugging: Putting It All Together
- Mini Project 34:29
- Section Quiz
- 16
OOP Part 1 Section Introduction
- Introduction 1:12
- 17
Class Types
- Static Classes 42:25
- Instantiated Classes 38:51
- 18
Class Options
- Property Types 33:29
- Namespaces 20:18
- 19
Putting It Together
- Class Libraries 33:13
- Mini-Project 34:34
- 20
Wrapping Up OOP Part 1
- Section Quiz
- 21
Battleship App Section Introduction
- Introduction 6:57
- 22
Battleship App Planning
- WOULD Framework 13:19
- W & O Steps 29:15
- U, L, & D Steps 33:10
- 23
Battleship App: Writing the Code
- 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
Battleship App: Testing
- Debugging and Testing 30:54
- 25
OOP Part 2 Section Introduction
- Introduction 1:09
- 26
Interfaces and Inheritance
- Inheritance 38:22
- Interfaces 38:16
- Mini Project 40:20
- 27
Modifiers, Abstract, and Overrides
- Access Modifiers 32:52
- Abstract Classes 12:36
- Method Overriding 23:20
- Mini Project 58:21
- 28
Overloads and Extensions
- Method Overloading 16:58
- Extension Methods 15:29
- Mini Project 31:42
- 29
Generics and Events
- Generics 45:10
- Events 40:24
- Mini Project 47:43
- 30
Wrapping Up OOP Part 2
- Wrap Up Quiz
- Conclusion 1:13
- 31
Project Types Section Introduction
- Course Introduction 1:11
- Introduction to .NET Core 22:09
- 32
Class Libraries
- Class Libraries Project Type 26:26
- 33
Unit Tests
- Unit Test Project Type 59:15
- Mini Project - Unit Tests 26:48
- 34
WinForms
- WinForm Project Type 1:23:55
- Mini Project - WinForms 53:36
- 35
WPF Core
- WPF Core Project Type 56:26
- Mini Project - WPF Core 47:57
- 36
ASP.NET Core Razor Pages
- ASP.NET Core Razor Pages Project Type 1:31:15
- Mini Project - ASP.NET Core Razor Pages 25:47
- 37
ASP.NET Core MVC
- ASP.NET Core MVC Project Type 1:06:55
- Mini Project - ASP.NET Core MVC 29:22
- 38
ASP.NET Core API
- ASP.NET Core API Project Type 33:02
- Mini Project - ASP.NET Core API 14:17
- 39
Blazor Server
- Blazor Server Project Type 1:29:26
- Mini Project - Blazor Server 26:52
- 40
Blazor WebAssembly
- Blazor WebAssembly Project Type 41:28
- Mini Project - Blazor WebAssembly 26:43
- 41
Wrapping Up Project Types Section
- Project Types Conclusion 0:47
- 42
Data Access Section Introduction
- Course Introduction 1:29
- Our Scenario 6:12
- 43
SQL Types
- Basic Normalization 18:37
- Our ORM of Choice 12:27
- SQL Server 2:34:57
- SQLite 31:00
- MySQL 29:55
- 44
NoSQL Types
- NoSQL Concepts 9:01
- MongoDB 50:35
- CosmosDB 1:44:11
- 45
Other Data Access Types
- Text Files 59:16
- APIs 1:04:43
- 46
Other Access Methods
- Linq / Lambdas 54:47
- Entity Framework Core 1:36:20
- 47
Wrapping Up Data Access Section
- Section Quiz
- Course Wrap Up 0:50
- 48
Hotel Management App Section Introduction
- Course Overview 8:21
- The App Idea 6:56
- 49
Hotel App: Planning
- 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
Hotel App: SQL Database Design
- 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
Hotel App: SQL Data Access Layer
- 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
Hotel App: ASP.NET Razor Pages Design
- Introduction 1:46
- Project Creation 13:03
- Room Search Page 39:55
- Book Room Page 30:13
- Wrap Up 4:28
- 53
Hotel App: WPF Core Design
- Introduction 2:51
- Project Creation 17:18
- Search Form 33:52
- Check In Form 24:13
- Wrap Up 3:51
- 54
Hotel App: SQLite Database Design
- 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
Hotel App: SQLite Data Access Layer
- 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
Wrapping Up the Hotel Management App Section
- Hotel App Wrap Up 3:51
- 57
Career Development Section Introduction
- Introduction 12:02
- 58
Important Career Development Questions
- 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
Wrapping Up the Career Development Section
- Conclusion 4:17
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.
Frequently asked questions
When does this course start and finish?
How long do I have to access the course?
What if I am unhappy with the course?
This course is part of a Learning Path
Take C# Mastercourse on its own, or follow a path that builds around it.