Learn C# Programming (In Ten Easy Steps)
4.5 (128 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,858 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn C# Programming (In Ten Easy Steps) to your Wishlist.

Add to Wishlist

Learn C# Programming (In Ten Easy Steps)

The simplest way to learn C# programming.
4.5 (128 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,858 students enrolled
Created by Huw Collingbourne
Last updated 9/2017
Price: $75
30-Day Money-Back Guarantee
  • 6.5 hours on-demand video
  • 4 Articles
  • 5 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Master C# programming concepts from the ground up
  • Use the source code examples to learn step-by-step
  • Understand the special features of C#: object orientation, the .NET framework, error-handling, serialization
View Curriculum
  • Visual Studio (either the free Community edition or a commercial edition). We explain how to download and install this in the course.

Learn C# Programming (in ten easy steps) is suitable for beginner programmers. Step-by-step it explains how to write C# code to develop Windows applications using either the free Visual Studio Community Edition or a commercial edition of Microsoft Visual Studio (it even explains how to write C# programs using free tools for OS X). This course is regularly updated and new and revised lessons will appear throughout 2017.

C# is one of the most widely used an important of all modern programming languages. If you need to learn C# quickly and painlessly, this is the perfect course.

You will begin by learning the core features of programming – variables, constants, functions and data types. You will move on rapidly to learn about Object Orientation and the more advanced features of C# and the .NET framework such as file-handling, data-streaming, dealing with exceptions (errors) and overriding methods. Even if you start out as a complete beginner, by the end of this course you will have built a really solid foundation of programming knowledge and skills.

All the source code of sample projects is provided ready for you to download, run and modify. The course also includes an eBook that provides even more information on the topics being discussed. And there are also interactive quizzes to test your understanding of each major topic.

The course instructor, Huw Collingbourne, is Director of Technology with SapphireSteel Software, a company that specialises in Visual Studio development tools (written in C#) for professional programmers.

Learn C# Programming (in ten easy steps) is the fastest and simplest way to help you make the move from coding novice to professional programmer.

Who is the target audience?
  • Beginners – if you’ve never coded before, you can learn C# step by step
  • Programmers switching to C# from some other language such as Ruby, Python, C or Java
Compare to Other C# Courses
Curriculum For This Course
98 Lectures
Step One - Getting Started
16 Lectures 56:53

This course will teach you how to program the C# language on Microsoft Windows. This video gives you a quick overview of what to expect from the course.

Preview 03:11

This is the course text to download.

The Little Book Of C#
1.2 MB

This document contains links to useful downloads, sources of information and news of developments related to C# programming.

FAQ : Resources and Updates - Read This First!
5 pages

C# Code Archive

A summary of section One of this course

What's in Step One?

If you don't already have a commercial copy of Microsoft Visual Studio, you can download a free copy of Visual Studio Community Edition – a powerful development environment that gives you everything you need to start C# coding today. This video explains how to get a free copy.
Preview 02:59

If you are impatient to get started, this video will guide you through all the steps from starting Visual Studio to running your program. Follow along to see how to design a user interface and write some simple C# code.  

Preview 05:05

How to create a user interface with Visual Studio

Adding components to a form

How to add code to respond to events

Adding program code

What you need to do to use the code in the archive

How to use the sample projects

This video explains some of the differences between editions of Visual Studio. It also explains how to customize the software by changing everything from the items on the menus to the formatting of your code.

How to customize Visual Studio

Familiarize yourself with the essential features of the Visual Studio environment such as the Design View, Code Editor, Properties and Events panels, Alignment Toolbar and Solution Explorer.

Tour of Visual Studio

You can follow this course on a Mac (or on Linux) using the free MonoDevelop IDE and Mono framework. Alternatively, you can run Visual Studio in a Virtual Machine, such as Parallels, on a Mac. 

Web links: 



Preview 01:37

This video provides guidance on downloading and installing the Mono framework and MonoDevelop IDE on OS X.
Install Mono and MonoDevelop on a Mac

This lecture explains how to load and run the Visual Studio solutions provided in the source code archive into MonoDevelop (or Xamarin Studio) on a Mac.

How to use the sample projects on OS X

MonoDevelop has a built-in visual designer that lets you drag and drop controls onto a form. It’s a bit like the WinForms designer in Visual Studio – but not quite. This video shows how to create a visual application from scratch on OS X.
How to create visual user interfaces with MonoDevelop

A chance to revise the basics
First Steps in C#
3 questions
Step Two - Programming Fundamentals
13 Lectures 44:50

This is where I explain the essential features of the C# language: data types, variables, constants, functions, keywords, namespaces, type conversion and other important components of the language

Preview 02:03

Every piece the data in your programs has data type. That’s what this lesson is all about.

Data types

Here we look at how to assign data items to named variables.


While variables – whose values can be changed - are essential in programming, sometimes you may want to make sure that a value cannot be changed.


How to document your code.


C# defines a number of special words, keywords, that mean specific things to the language. 


A function is a named block of code that can be run by calling its name.


How to use code stored in other files.

Namespaces and usings

How to use some of the built-in routines to convert between data types.

Data type conversion

As well as using methods to convert between different types, you can ‘cast’ one type to another – with some restrictions.

Type casting

C# also allows you to declare and initialize local variables without specifying a type

Implicitly typed variables

Let’s now summarise some of the essential elements and syntax of C#. 

Summary of C# Languages Elements

How to program a simple calculator.

Sample program: Tax Calculator

How to assign values to variables and constants

Data types
3 questions
Step Three - Conditional Tests and Operators
16 Lectures 50:45

How to run code only if some test condition is true.


How to run different bits of code when you test if something is or is not true.


How to run just one line of code after a test. And do curly brackets matter?

Single line statements with tests

How to make a second test if the first one fails.


If you need to perform a number of tests, it is often quicker to write them as ‘switch statements’.

Switch statements

Operators are special symbols that are used to do specific operations such as add¬ition, multiplication and concatenation.


The operators you need to do calculations in C#.

Arithmetic operators

How to compare two values.

Comparison operators

How to test If X is true AND Y is true. Or if either X OR Y is true.

Logical operators

Operators that do arithmetic and assignment in one go.

Compound assignment operators

The ++ and – operators.

Increment and decrement operators

What is the difference between ++a and a++?

Prefix and Postfix operators

How to handle the order in which tests are evaluated.

Parentheses and precedence

Multiple test conditions: good, bad or incomprehensible?

Complex tests

Let’s summarise what we’ve learnt about operators.

Summary of operators

How to test values to take different actions.
Tests and Conditions
3 questions
Step Four - Functions and Arguments
13 Lectures 47:36

In this step I’m going to explain all about functions or methods and arguments

Preview 02:30

Here we look at functions: named blocks of code. 

What is a function?

Is a method the same as a function?

What is a method?

How to send data items to a function.

Arguments and parameters

How to return data from a function.

Return values

The different types of argument that you can use in C#. 

Arguments By Value, and By Reference

And one more argument type.

Out arguments

Multiple functions with the same name. How does that work?

Method overloading

Functions inside functions…

Local Functions

A sample program showing some of the concepts we’ve discussed

Sample program: TreeView

Download this PDF guide to learn more about the details of the TreeView sample project described in the previous lesson.

Guide to the TreeView project

Functions that call themselves.

Recursive functions

Let’s quickly revise what you’ve learnt in this step of the course.

Summary of functions

How to divide code into named blocks

Functions, methods and arguments
3 questions
Step Five - Object Orientation
13 Lectures 01:15:08

This is where things start to get really interesting. Object Orientation.

What is in Section Five?

What are classes and objects?

Object Oriented Programming explained

Create a blueprint for an object.

How to write a class definition

Create an object based on the class defined in the last lesson

How to create an object from a class

How to be sure an object has been created

Testing if an object exists

The Visual Studio refactoring tool

Visual Studio Refactoring

This is a hands-on guide to writing code to create a simple ‘family tree’ of related classes.

Creating class hierarchies

Visual Studio can automate the separation of classes into code files

Change to one class per file

Methods that create an object from a class


Keywords that change scope and visibility

Access modifiers: public, private, protected

Special types of method that access fields of an object


Does it matter what your call the things in your programs?

Naming conventions

Let’s quickly go over what we’ve learnt in this section.

Summary of Object Orientation

How to create and use objects

Object Orientation
3 questions
Step Six - Arrays and Strings
14 Lectures 36:41

In this step we look at arrays, indexing and iteration. 

What is in Step Six?

Arrays – sequential collections of elements


How to count over list items in a loop

Iterating array items with a 'for' loop

You can create arrays of any type of object, strings, integers, doubles or even user-defined objects

Arrays of objects

Another common way of iterating over items in an array in C# is to use a foreach loop.

foreach loops

Strings can be treated as arrays of characters


Using ‘while’ loops to program a word counting utility

while loops

An alternative type of ‘while’ loop

do..while loops

A simple text editor that you can use as a basis for adding features such as our word counter tool

Sample Program: Text Editor

Strings in C# can be manipulated using built-in methods

String operations

There is another string-like class called StringBuilder that you need to be aware of


How to embed values into a format string

String Format

C# also lets you evaluate expressions right inside a string

String Interpolation

A quick overview of what we learnt about arrays and strings in this section

Summary of Arrays and Strings

Sequential lists of characters and other data types

Arrays and Strings
3 questions
Step Seven - Files, Folders and Input/Output
2 Lectures 18:16

Here we look at the fundamentals of file handling. How to verify that files exist, how to move or copy files and make use of the File, Directory, Path and Environment classes. We also look at static methods.

File Handling

The .NET framework provides various Stream classes to simplify the process of reading and writing text and binary files.  This lesson gives an overview of some of the most important Stream and Stream-handling classes.


Handling input and output in C#

Files and streams
3 questions
Step Eight - Classes, Methods, Structs and Enums
2 Lectures 18:26

Here we look at some additional features of classes and methods such as partial and static classes and methods with the same names but different arguments

Classes and methods

A struct is like a class without inheritance and an Enum is like a categorised set of constants. You may not need to use them in your own programs but you will need to understand them as they occur throughout .NET.

Structs and enums

Structures and enumerated constants

Structs and Enums
3 questions
Step Nine - Exception Handling and Debugging
2 Lectures 17:57

Exceptions are error objects. They come in different varieties and they can crash your programs unless you ‘catch’ them. Here we look at the fundamentals of exception handling in C#.


Use the Visual Studio Debugger to pause the execution of your program at ‘breakpoints’. Then step through your code from one line to another and examine variables to see how their values change as the program runs.

The Debugger

Finding and fixing errors

Exceptions and debugging
3 questions
Step Ten - Further Adventures in Programming
6 Lectures 37:09

The .NET framework supplies strongly-typed ‘generic’ collection classes such as List and Dictionary which come with lots of useful methods to add, remove and locate objects in a collection. This lesson gives an overview of generic collections.

Generic Collections

C# lets you define ‘virtual’ methods that can be ‘overridden’ by methods of the same name in descendant classes. Here we look at the syntax of overridden methods and consider why they may be useful.

Overridden Methods

More on lists and methods
Generics and overriding
3 questions

Microsoft introduced some new language features to version 6 of C#. This videos highlights a few of the more useful ones.
C Sharp 6

You can try out bits of C# code without having to write and compile an entire program using the C# interactive console. Here I show you how to get started wit this.

The Interactive Console

In the code archive for this step you will find a project that implements a simple exploring-style ‘text adventure’ game. This game illustrates many of the techniques we’ve discussed in the course. In this lesson I’ll guide you through the game and provide some idea for ways in which you can use it to carry on learning more about C#.

Write an Adventure Game!

And finally...
1 More Section
About the Instructor
Huw Collingbourne
4.4 Average rating
3,243 Reviews
54,933 Students
12 Courses
Director of Technology, SapphireSteel Software

Huw Collingbourne is the technology director at SapphireSteel Software, developers of programming tools for Microsoft Visual Studio. He is author of The Book Of Ruby from No Starch Press. He runs Bitwise Courses and teaches courses on a range of programming topics.

Huw has been a programmer for more than 30 years. He is a well-known technology writer in the UK. For over ten years he wrote the Delphi and Java programming column for PC Plus Magazine. He has also written numerous opinion and programming columns (including tutorials on C#, C++, Smalltalk and Ruby) for a number of computer magazines, such as Computer Shopper, PC Pro, and PC Plus

In the 1980s he was a pop music journalist and interviewed most of the New Romantic stars, such as Duran Duran, Spandau Ballet, Adam Ant, Boy George, and Depeche Mode. He is now writing a series of New Romantic murder mysteries.

At various times Huw has been a magazine publisher, editor, and TV broadcaster. He has an MA in English from the University of Cambridge and holds a 2nd dan black belt in aikido, a martial art which he teaches in North Devon, UK. The aikido comes in useful when trying (usually unsuccessfully) to keep his Pyrenean Mountain Dogs under some semblance of control.