Start course

If you want to know how to develop software using C# and you have little to no experience programming you've come to the right place. This is an introductory course to C# and .NET programming that is the first in a series that will show you how to use these dynamic cross-platform development tools.

In this course, we set the stage in two ways. First, you get an overview of the basic elements of computer programming and fundamental issues that face software development, and how .NET addresses those issues. Secondly, we set up our software development tools on Windows and a non-Windows platform. To test our development environments we create and run a simple C# .NET program.

Learning Objectives

  • Get a foundational understanding of computer programming and .NET
  • Learn how to set up a development environment
  • Learn how to run a simple C# .NET program

Intended Audience

This course is intended for anyone who wants to learn how to develop software using C#


To get the most out of this course, you should have some basic understanding of programming, but it's not essential; this course can also be taken by complete beginners.


Let's recap what we've learned. .NET is a framework that enables you to program for different operating systems by providing a consistent interface. It does this using a runtime stack, framework, or libraries that sit between your executable program and the operating system. This means any computer you want to run your .NET program on has to have the appropriate .NET libraries installed.

We saw how to check what version of .NET your Windows PC is running and how to install the .NET SDK and runtime on Linux. Once .NET was installed, we set up a Windows development environment with Visual Studio. We downloaded Visual Studio Code and installed the C# extension to make VSCode C# aware on the Linux machine.

To test the respective development environments, we created a simple console application using a .NET template. In Windows, we accessed the template through Visual Studio, while in Linux, we created the project using  .NET commands. In both cases, we came across the concepts of namespaces, variables, and arrays. Join me for the following C# course, where I'll expand on these and many more concepts.

About the Author
Learning Paths

Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a  Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard. 

Covered Topics