Intermediate Programming with .NET and C#

This hands-on course is designed to elevate your C# development skills through practical lessons that focus on building real-world applications using Visual Studio 2022 and .NET. You’ll learn how to work with core libraries, manage data using both ADO.NET and Entity Framework, and build responsive and scalable applications through advanced threading and asynchronous programming techniques.

You’ll start by mastering the Visual Studio environment and essential .NET libraries for input/output, collections, and debugging. Then you'll dive into data management with two powerful approaches—ADO.NET, for direct database interaction, and Entity Framework, for high-level, object-relational mapping. Finally, you'll explore concurrency in .NET, learning how to manage processes, threads, and implement asynchronous programming using async/await for performance-critical scenarios.

By the end of the course, you'll be equipped to build more robust, maintainable, and efficient .NET applications.

  • Category: Software Development
  • Level: Intermediate
  • Time Estimate: 7h 0m
  • Price: $99.99 for 3 months of access
  • Subscription: $39.99 per month after 7-day free trial
  • Lab Environment: Included
  • Free Trial: 7 Days
Login to Purchase
Intermediate Programming with .NET and C# Badge
Lessons in this Course
Lesson
Lesson 1: Introduction to Visual Studio 2022 and Common .NET Libraries

This lesson introduces students to Visual Studio 2022, essential .NET namespaces, and debugger tools through hands-on labs. Each lab is a standalone project to help students focus on core concepts and practice interactively.

Duration: 1 h 30 m
Exercises
Exercise 1: Processes, Threads, and Async Programming in C# In this exercise, you will build a .NET console application that demonstrates launching external processes, managing multithreaded execution, and performing asynchronous operations using async/await. You’ll use System.Diagnostics.Process to control applications like Notepad, create and manage threads with Thread, and simulate non-blocking I/O and CPU-bound tasks with Task and Task.Run(). Estimated Time: 120 minutes
Lesson
Lesson 2: Using Microsoft ADO for Data Management

In this lesson, students will explore how to use ADO.NET to interact with SQL Server databases directly from C# applications. ADO.NET is a core .NET technology that provides efficient and scalable access to relational data using objects like SqlConnection, SqlCommand, SqlDataReader, and DataSet.

Duration: 2 h 0 m
Exercises
Exercise 1: Using Microsoft ADO for Data Management In this exercise, you will build a complete product inventory console app using ADO.NET and SQL Server. You'll connect to a database, execute parameterized queries, and perform CRUD operations using SqlCommand, SqlDataReader, SqlDataAdapter, and SqlTransaction. The project demonstrates how to securely insert, update, delete, and search for data while reinforcing good practices such as using transactions and scalar queries. Estimated Time: 120 minutes
Lesson
Lesson 3: Using Entity Framework for Data Management

In this lesson, students will learn how to use Entity Framework Core (EF Core) to interact with a SQL Server database using LINQ and object-oriented models. EF Core simplifies data access by abstracting SQL into a higher-level object model, enabling CRUD operations, query construction, and change tracking without manual SQL.

Duration: 2 h 0 m
Exercises
Exercise 1: Using Entity Framework for Data Management In this exercise, you will create a console-based inventory management application using Entity Framework Core (EF Core). You’ll define entity models, configure a DbContext, and build a LINQ-driven menu system to list, add, update, delete, and search for products. You'll learn how EF Core maps C# objects to SQL tables and how to persist and query data using a modern ORM approach. Estimated Time: 120 minutes
Lesson
Lesson 4: Processes, Threads, and Async Programming in C#

Understanding processes, threads and async programming 

Duration: 1 h 30 m
Exercises
Exercise 1: Processes, Threads, and Async Programming in C# In this exercise, you will build a .NET console application that demonstrates launching external processes, managing multithreaded execution, and performing asynchronous operations using async/await. You’ll use System.Diagnostics.Process to control applications like Notepad, create and manage threads with Thread, and simulate non-blocking I/O and CPU-bound tasks with Task and Task.Run(). Estimated Time: 120 minutes