Introduction and Index

C# From Scratch is a series dedicated to teaching you how to create applications using the C# programming language.

By the end of the series, you will have all of the knowledge that you need to be productive with C#.

Why Learn C#?

C# is a general-purpose language that was originally designed by Microsoft to be used for developing apps on the Microsoft platform. It is the language of choice to build apps for the Microsoft platform since it is a well-designed and high-level language.

With the introduction of the .NET Core framework, C# can now be used to develop cross-platform apps. C# is also the recommended language to use when making games through the Unity Game engine.

Why Learn C# with C# From Scratch?

This series is written with beginners in mind.

The course takes a slow approach to explain new concepts and each part builds on the previous one. By the end of the series, you will know enough about the C# language and the .NET framework to build your own applications with C#.

This course uses a practical, hands-on approach to teaching you C#. Throughout the series, we will be developing a command-line application that records race results.

In each part of the series, you’ll put your new knowledge to use by building a part of the application.

You won’t only learn about the C# language, you will also learn about related, essential topics like error handling, object-oriented programming, and best practices for writing applications in C#.


This is series is an introduction to C# for beginner programmers. It is not an introduction to programming itself.

To get the most value out of the series, you should already have an understanding of basic programming concepts such as loops and boolean logic.

Parts in the Series

Here you can find the complete list of published parts in the C# From Scratch series. This section is updated every time a new part of the series is released.

Up and Running with .NET Core


Installing the Required Tools

Understanding .NET

What Does .NET Do?

Hello, World

Working with the .NET CLI

Creating a New .NET Project

Running a .NET Project

Working with Visual Studio Code

A Dynamic Application

Understanding Program.cs

Making it Interactive

Debugging the Application

Unhandled Exception Messages

Using the Debugger

Automation Engineer, Technology Enthusiast, Freelance/Consulting. Official website: