We may earn an affiliate commission when you visit our partners.
Course image
Huw Collingbourne

Learn C# Programming (in ten easy steps) [Version 2] is suitable for beginner programmers or anyone with experience in another programming language who needs to learn C# from the ground up. 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. This is the completely revised and updated second version of this course. 

Read more

Learn C# Programming (in ten easy steps) [Version 2] is suitable for beginner programmers or anyone with experience in another programming language who needs to learn C# from the ground up. 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. This is the completely revised and updated second version of this course. 

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. The first version of this course was launched in 2012. The current version has been completely re-made and expanded with numerous new lessons.

As an added bonus, the complete version 1 of the course (almost 4 additional hours of video instruction) is also included as a free download.

There is also an extra bonus project (a drag-and-drop application launchpad) that will help you extend your skills while programming a genuinely useful application.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Step One - Getting Started

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.

Read more

This is the course text to download.

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

C# Code Archive

A summary of section One of this course

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.

If you are a Visual Studio 2019 user, be sure to download and read this document before creating a project.

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.  

How to create a user interface with Visual Studio

How to add code to respond to events

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

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.

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.

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: 

http://www.parallels.com/ 

http://monodevelop.com 

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

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.

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.
A chance to revise the basics
Step Two - Programming Fundamentals

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

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

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.

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

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

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

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

How to program a simple calculator.

How to assign values to variables and constants

Step Three - Conditional Tests and Operators
What's in Step 3?

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?

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’.

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#.

How to compare two values.

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

Operators that do arithmetic and assignment in one go.

The ++ and – operators.

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

How to handle the order in which tests are evaluated.

Multiple test conditions: good, bad or incomprehensible?

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

How to test values to take different actions.
Step Four - Functions and Arguments

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

Here we look at functions: named blocks of code. 

Is a method the same as a function?

How to send data items to a function.

How to return data from a function.

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

And one more argument type.

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

Functions inside functions…

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

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

Functions that call themselves.

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

How to divide code into named blocks

Step Five - Object Orientation

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

What are classes and objects?

Create a blueprint for an object.

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

How to be sure an object has been created

The Visual Studio refactoring tool

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

Visual Studio can automate the separation of classes into code files

Methods that create an object from a class

Keywords that change scope and visibility

Special types of method that access fields of an object

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

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

How to create and use objects

Step Six - Arrays and Strings

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

Arrays – sequential collections of elements

How to count over list items in a loop

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

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

Strings can be treated as arrays of characters

Using ‘while’ loops to program a word counting utility

An alternative type of ‘while’ loop

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

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

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

How to embed values into a format string

C# also lets you evaluate expressions right inside a string

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

Sequential lists of characters and other data types

Step Seven - Files, Folders and Input/Output

In step 7 we find out how to save and load files to and from a disk.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides detailed training in C# programming from the ground up and includes sample projects
Taught by Huw Collingbourne, a recognized expert in Visual Studio development tools
Develops foundational understanding of C# programming concepts and .NET Framework

Save this course

Save Learn C# Programming (In Ten Easy Steps) to your list so you can find it easily later:
Save

Reviews summary

Lacks hands-on coding

Learners say this course lacks hands-on coding exercises and examples despite its simple and structured presentation of programming concepts.
Not enough exercises or coding examples.
"Para mi gusto le faltan ejercicios, o ver como se hace más el código, no que esté ya todo programado porque a veces cuesta seguirlo"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn C# Programming (In Ten Easy Steps) with these activities:
Udemy C# Course
Review the basics of C# programming through guided tutorials.
Show steps
  • Enroll in the Udemy course.
  • Follow the video lectures and complete the exercises.
Review C# Documentation
Refresh your knowledge of C# syntax and concepts.
Browse courses on Libraries
Show steps
  • Read through the official C# documentation.
  • Focus on specific areas where you need to strengthen your understanding.
Read 'Head First C#'
Get a foundational understanding of C# programming concepts.
View Head First C# on Amazon
Show steps
  • Read through the chapters in order, completing the exercises and examples.
  • Take notes on the key concepts and syntax.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Basic Calculator App
Practice implementing basic programming concepts in a practical project.
Browse courses on Programming Fundamentals
Show steps
  • Create a new C# project in Visual Studio.
  • Design the user interface with buttons and text boxes for input and output.
  • Write code to handle user input and perform calculations.
Code Challenges
Improve your problem-solving and coding skills through practice.
Browse courses on Arrays
Show steps
  • Find online coding challenges or exercises.
  • Attempt to solve the challenges using C#.
  • Review your solutions and identify areas for improvement.
C# Blog Post
Deepen your understanding of OOP concepts by writing about them.
Show steps
  • Choose a specific OOP topic to focus on.
  • Research and gather information about the topic.
  • Write a blog post explaining the topic in detail.
Tutor Junior Programmers
Consolidate your understanding by helping others learn C#.
Show steps
  • Join online forums or communities where you can connect with junior programmers.
  • Offer your help and guidance to those who are struggling.
  • Prepare and deliver short tutorials on specific C# topics.

Career center

Learners who complete Learn C# Programming (In Ten Easy Steps) will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer is responsible for designing, developing, and maintaining software applications. This course can help you build a foundation in C# programming, which is a widely used language in software development. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Web Developer
A Web Developer designs and develops websites and web applications. This course can help you build a foundation in C# programming, which is a widely used language in web development. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Data Scientist
A Data Scientist uses data to solve business problems. This course can help you build a foundation in C# programming, which is a widely used language in data science. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. This course can help you build a foundation in C# programming, which is a widely used language in database development. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Systems Analyst
A Systems Analyst designs and implements computer systems. This course can help you build a foundation in C# programming, which is a widely used language in systems analysis. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. This course can help you build a foundation in C# programming, which is a widely used language in software engineering. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Computer Programmer
A Computer Programmer writes and tests code for software applications. This course can help you build a foundation in C# programming, which is a widely used language in computer programming. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Information Technology Specialist
An Information Technology Specialist provides technical support to users of computer systems. This course can help you build a foundation in C# programming, which is a widely used language in information technology. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Network Administrator
A Network Administrator is responsible for managing and maintaining computer networks. This course can help you build a foundation in C# programming, which is a widely used language in network administration. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Computer Systems Analyst
A Computer Systems Analyst analyzes and designs computer systems. This course can help you build a foundation in C# programming, which is a widely used language in computer systems analysis. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Database Developer
A Database Developer designs and develops databases. This course can help you build a foundation in C# programming, which is a widely used language in database development. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Web Designer
A Web Designer designs and develops websites. This course can help you build a foundation in C# programming, which is a widely used language in web design. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Information Security Analyst
An Information Security Analyst is responsible for protecting computer systems from unauthorized access. This course can help you build a foundation in C# programming, which is a widely used language in information security. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Computer Support Specialist
A Computer Support Specialist provides technical support to users of computer systems. This course can help you build a foundation in C# programming, which is a widely used language in computer support. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.
Technical Writer
A Technical Writer creates and maintains technical documentation. This course may be useful for building a foundation in programming concepts, which can be helpful for understanding and explaining technical concepts in writing. By learning the core concepts of programming, such as variables, constants, functions, and data types, you can gain the skills necessary to succeed in this role.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn C# Programming (In Ten Easy Steps).
Provides an in-depth look at the C# language and its features. It valuable resource for experienced C# developers who want to learn more about the language and how to use it effectively.
Provides an in-depth reference for the C# 7.0 language, including all the new features and changes. It valuable resource for experienced C# developers who want to stay up-to-date on the latest version of the language.
Provides a comprehensive overview of the Common Language Runtime (CLR), which is the foundation for all .NET languages. It valuable resource for developers who want to understand the inner workings of the .NET Framework and how to write high-performance code.
Provides a collection of recipes for common programming tasks in C#. It valuable resource for experienced C# developers who want to learn how to solve specific problems.
Provides a comprehensive overview of the Microsoft Windows Presentation Foundation (WPF) framework. It valuable resource for developers who want to learn how to build user interfaces for desktop applications.
Provides a comprehensive overview of the ASP.NET Core framework. It valuable resource for developers who want to learn how to build web applications with ASP.NET Core.
Provides a comprehensive overview of the Entity Framework Core framework. It valuable resource for developers who want to learn how to build data-driven applications with Entity Framework Core.
Provides a comprehensive overview of machine learning with C#. It valuable resource for developers who want to learn how to build machine learning models with C#.
Provides a comprehensive overview of game development with Unity. It valuable resource for developers who want to learn how to build 3D games with Unity.
Provides a comprehensive overview of the C# language and the .NET Framework. It good choice for those who want to learn C# from the ground up or who want to learn more about the .NET Framework.
Provides a comprehensive overview of the C# 7 language and the .NET Framework. It valuable resource for experienced C# developers who want to learn more about the latest version of the language and the .NET Framework.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Learn C# Programming (In Ten Easy Steps).
A 16 Hour C# Course With Microsoft Visual Studio 2013
Most relevant
What's New in .NET 6
The Unreal Arsenal: Learn C++ and Unreal Engine
Learn Basic Microsoft ASP.Net Development with Visual...
Beginning C++ Programming - From Beginner to Beyond
Configuring the C/C++ Extension Pack with Visual Studio...
Testing .NET Code in Visual Studio 2019
Programming in Microsoft C# - Exam 70-483
Design Patterns in C# and .NET
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser