Programming for Complete Beginners in C#
4.5 (1,852 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
15,508 students enrolled

Programming for Complete Beginners in C#

Learning to code C#? We have provided HD video lectures, live coding sessions, and nearly 100 exercises to learn on!
4.5 (1,852 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
15,509 students enrolled
Created by Eric Wise
Last updated 9/2018
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 3 articles
  • 42 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand the foundations of the C# Programming language
  • Create applications that run in the console
  • Declare and manipulate variables
  • Write flow of control statements (loops & conditions)
  • Create methods for code reuse and readability
  • Organize your code into related classes
  • Almost 100 warm up exercises to practice language fundamentals
Course content
Expand all 48 lectures 06:34:46
+ Getting Started With Visual Studio
3 lectures 27:51

Hello World is an ancient programming ritual that we do just to make sure that we have our IDE set up correctly and that we can compile and run a simple program.

Preview 09:05

Let's see if you were paying attention!

Hello World Quiz
6 questions

Here we take apart the hello world application and talk about the different pieces and parts that make up a C# application.

Deconstructing Hello World
Deconstructing Hello World
5 questions
+ Types and Variables
5 lectures 40:17

In C# everything is a type. Types are important in that they define all of our interactions between objects and when we assign variables or pass parameters the types must be compatible. This is unlike other languages such as JavaScript which are dynamically typed and do not carry those restrictions.

Types in C#

In order to store information in our program, we must create a memory space for it called a variable. A variable can be assigned a value using the equals sign. Variables have scope which means they exist only inside the code block { } in which they are defined.

Variables in C#

Let's take our Hello World application and convert it to use a variable so that we can specify who we say hello to.

Demo: Hello <name>

Here we read in data from the console using Console.ReadLine(). Because this always returns a string datatype, we must use the int.Parse command to convert the user input into an integer before we can perform math on it.

We also look at various ways of printing out values to the console. We can print literal data, variables, or the result of expressions.

Demo: Simple Addition

Comments are notes we can leave for future developers. We also explore some common ways of formatting string data for your users.

Demo: Comments and Formatting Strings
Types and Variables
11 questions
+ Expressions and Operators
2 lectures 20:46

Once we can put data in variables, the next task is to manipulate them. Expressions and Operators allow us to change data and make decisions based on the values of our data.

Expressions and Operators Explained

Here I demonstrate some common usages for expressions and operators. Pay special attention to the bool expressions, as they sometimes trip beginners up.

Demo: Expressions and Operators
Expressions and Operators
9 questions
+ Flow of Control Statements
10 lectures 49:26

The if statement is used to execute a code block only if an expression is true. The else block executes only if the expression is false. We use these to "branch" our code based on decisions.

The If Statement

Let's use if statements to simulate coin flips.

Live Coding: Flip a Coin

Can you believe there's another 4 minutes of content on something as simple as a coin flip? :)

Live Coding: Flip a Coin 2

While loops define an expression condition (test expression) and will continue executing a block of code until the condition becomes false. We use these when we're not sure how many times we need to loop.

While Loops

Guess a number between 1 and 20...

Preview 06:09

Even though this demo is only 5 minutes long, Debugging and Breakpoints are two of your most useful tools for figuring out what code is doing, especially when it's not working correctly.

Demo: Debugging and Breakpoints

For loops execute a code block a specific number of times. We use these when we know how many times we need to loop.

For Loops

How many sevens can we roll?

Live Coding: Lucky Sevens

We can nest loops inside loops to get interesting effects, like a multiplication table.

Live Coding: Multiplication Table
Conditional Statements and Loops
8 questions

Here is a challenge for you to enhance the guessing game. The answer is attached as a zip file if you get stuck. A new variable, a tweak to the victory statement, and another if/else statement should be all you need.

Skill Check: Enhance the Guessing Game
1 page
+ Classes and Methods
10 lectures 01:34:20

Some developers use the terms "class" and "object" interchangeably. But there are some very important differences you should be aware of.

Classes vs Objects, What's the Difference?

Methods are the "Verbs" of our world. Developers are all about code reuse and readability. By organizing tasks into methods they are easy to reuse and if they are well named they make your code much easier to deal with.

What are methods?

The void keyword lets C# know that no data will be returned from a method.

Demo: Void Methods
Demo: Parameters and Returning Values

Fields (usually private and hidden from other classes) and Properties are two types of data members in our classes. Here I discuss why you would use one versus the other and some tricks for protecting your data from your trouble-making peers.

Fields and Properties

Constructors allow us to pre-configure an object at the time of creation. Overloading allows us to have the same method name multiple times so long as the return type or parameter types are different.

Demo: Constructors and Overloading Methods

Here I use to create a flow chart of the rock, paper, scissors workflow. Being able to read and author flowcharts is a core developer skill.

Flowcharting: Rock Paper Scissors

Let's play some rock, paper, scissors. This is a bigger application than we've attempted so far.

Live Coding: Rock, Paper, Scissors 1

More rock, paper, scissors!

Live Coding: Rock, Paper, Scissors 2

Even more rock, paper, scissors!

Live Coding: Rock, Paper, Scissors 3
Classes And Methods
8 questions
+ Arrays
5 lectures 58:13

Arrays are a fundamental data structure in nearly every programming language. Here I give an overview of how an array is composed and how to read and write data to its elements.

What are Arrays?

Here I demonstrate in code how to create and manipulate array objects.

Demo: Creating and Manipulating Arrays

While we can use a for loop to iterate through arrays and keep track of our position, sometimes position isn't important and we just want to iterate front to back. The foreach loop is a much nicer construct for doing this.

Demo: Foreach loops

String manipulation is a fundamental ability in any language. Here I show you some of the more common string methods, describe what immutable means (Interview Question!), and have some fun manipulating string data.

Demo: Fun With Strings

Here is my attempt at writing Hangman from scratch. Hangman is a great problem for working with arrays.

Live Coding: Hangman
6 questions
+ Advanced Methods and Classes
10 lectures 01:25:16

Have you noticed how Console.WriteLine() allows a seemingly endless number of variables to be passed into the method? Here I show you how the params keyword makes this possible.

Demo: The params keyword

While it is much more common to return classes from methods when we need multiple values, we can also use output parameters.

Demo: Output Parameters

It's important to understand at a deeper level how memory is managed in C#, especially when it involves the stack and the heap and the impacts it has on your objects.

This is probably one of the more common technical interview topics.

Reference vs Value Types

We have seen the static keyword hanging on to some of our methods, but what does it really mean?

Static vs Non-Static

Configuration files, specifically the app.config (windows) and web.config (web apps) store information about your program's run-time settings. In this demo I show how to read data from the AppSettings section of the configuration file, which is commonly used to store switches, file paths, and other modifications to your running application.

Changes to config files take effect when a program is run, so you don't need to recompile your application after making changes, making it a handy means of allowing non-developers to customize parts of your application.

Reading Configuration Files
A quick note

In this lesson I describe the pillars of object oriented languages and a brief overview of interfaces, one of the primary tools in C# for polymorphism.

Interfaces and Object Oriented Programming

Let's demo some polymorphism via interfaces in action.

Live Coding: Logging Polymorphic Interface

Here we introduce the concepts of how to inherit and override class members.


Here we demonstrate polymorphism, inheritance and overriding virtual members by simulating a bag in a role playing game that can take in many types of items.

Live Coding: RPG Bag System
Advanced Methods and Classes
7 questions
+ Exercises
1 lecture 00:47
Warmup Exercises for Practicing the Basics
+ Final Words
1 lecture 10:23

In my closing lecture I give some observations about how to become a successful developer and expectations for the field.

The Journey of the Software Craftsman
  • Basic Computer Skills (Typing, File Browsing)


“If you want a good beginning C# course, this is the one for you!”

The content of the course is delivered in a very clear manner by a programming instructor who really seems to know his stuff. Additionally, the instructor actively answers student questions posted in the course discussions. If you want a good beginning C# course, THIS IS THE COURSE FOR YOU!!! Jake Jones

Here’s the BEST COURSE CHOICE for raw beginners who want to learn computer programming.

This is the BEST COURSE CHOICE for raw beginners — anybody who wants to write a little code — or a lot of it! And it’s especially right for anyone who dreams of becoming a software programmer but hasn’t the faintest idea of how to begin.

Here’s great news: If you can type, install a program using a Wizard, and open the File Explorer, you’re ready to begin.

It’s true. If you have a computer (or access to one), have typing ability, and know how to browse files, YOU can learn to program one of today’s most popular and fastest-growing computer platforms, C#. Yes, you could learn C# online and become a successful software programmer with our C# course, “Programming for Complete Beginners in C#.”

What is C#...

First, say C# like this: “See Sharp,” just like the music note. When it comes to computer programming language, C# is the best place for a newbie to start. Why? Because it’s simple to learn, well supported and maintained, and extremely versatile.

...and WHY should I take this C# course?

You’re a newcomer to coding? Your job is to LEARN THE CODE and that’s what this online C# course is all about. You’ll learn C#’s programming language, its syntax, with clear instruction and detailed videos. And you’ll write code. Lots of code.

Learning the code is Job 1. That’s what this course will teach you. Later comes problem solving, and learning how to create and organize large-scale solutions that are reusable, testable, and of high quality. But all that’s later.

Want to program? You MUST learn to write code

The BEST way to become a highly proficient C# programmer is to write code — LOTS of code. And you’ll be writing, writing, and writing in this highly focused course. You’ll get limber with nearly 100 warm up exercises you’ll use to practice and increase your fluency in C# language fundamentals.

You’ll receive and own over 48 lectures, eight quizzes, and more than six and a half hours of focused content — complete instruction on how to understand the solid foundation of C# Programming language.

Get ready to dive right into the code because you’ll actually create real, live applications that run in the console. You’ll get in there and declare and manipulate variables. You’ll write “Flow of Control” statements we call “Loops and Conditions.”

On your path to becoming an expert programmer, will learn how to create methods for code reuse and readability. Cool! And you’ll keep it all nice an neat by learning to organize your code into related classes.

You’re about to learn the secrets of today’s most powerful and popular programming language

You’ll start your C# course with a full overview of C# — our “sales pitch” on why it’s today’s must-learn programming language. Then we’ll show you how to download and install Visual Studio Express.

You’ll start your first code-writing lesson by writing the classic “Hello World” to your screen. Pay attention because there’s a Quiz afterward! Having written it, you’ll then deconstruct your Hello World application so you can see the bits and pieces that form a C# application.

You’ll learn new lingo starting with “Types.” In C#, everything is a type — they define all interactions between objects, variables, and parameters. (Lost in the lingo already? Don’t worry about it. C# language is easy to learn and it’s all in our C# online course.)

You’ll watch a detailed, seven-minute demo videos so you can learn about reading data from the console. And then a 15-minute video demo demystifying “Comments and Format Settings.”

You’ll continue watching, learning, and being grilled on your knowledge. We’ll explain and demonstrate “Expressions and Operators.” And quiz you on them, too. Learn about “If Statements.” Discover “Live Coding” in our chapters, “Flip a Coin 1 and 2.” Then “Lucky Sevens.” Check it out!

You’ll learn about “For Loops,” “Conditional Statements & Loops, Classes & Methods and much, much, much, much more…you’ll learn all about C# in ten sections and 56 chapters in all.

Here’s why learning C# is the KEY BUILDING BLOCK of your programming foundation:

Here’s WHY almost 3,000 people just like you are learning C# through our online course…and why we recommend C# so highly for those who’re new to programming:

  • Java is a programming language many adore but C# is even better. It offers those new to programming many, many advantages. It’s growing in popularity with programmers by leaps and bounds. That’s a trend we’ve seen for many years — C# is becoming more and more popular every year.
  • Learning C# programming language makes it easier for you to understand other C-based programming languages. (Just like learning to speak Spanish helps you understand Italian.) And there are many, many very valuable C languages in the C family including C, Java, C++, Objective –C, and more.
  • And how about job opportunities? In Cleveland, for example, 98% of C# programmers enjoy gainful employment in their field. C# programmers are in high demand! C# runs on multiple platforms. Windows? Linux? iPhones? Androids? You betcha.
  • C# was created and is maintained by Microsoft so you know it gets plenty of support. This software giant is continually adding new and more potent C# features including new versions of C#’s Visual Studio. And the Visual Studio toolset is widely regarded as the #1, A+, five-star, gold-plated, best development environment on Planet Earth.
  • C# runs on the .NET framework (say, “dot net”). It’s what pros call a “consistent object-oriented programming environment,” that’s rock-steady for creating web and desktop applications. In fact, no matter what kind of application you’ll build, you’ll find C# will make it steady and stable across all computer platforms.
  • Apps? How many and what kind will you develop? No holds barred because C# handles apps for desktop, Windows Store, web apps, mobile apps, iPhone and Android apps, web and data services, and these are just for starters.
  • C# makes it easy to deploy and version your code saving you countless sleepless nights. It has a built-in safety net – a “sandbox” – to help you avoid the horrors of the dreaded, dead-on-arrival, pull-the-plug “blue screen of death” when your program crashes the operating system beyond all hope.
  • Who this course is for:
    • Complete Beginners
    • No really, if you can type, install a program using a wizard, and open the file explorer you are good to go!