Programming for Complete Beginners in C#
4.6 (1,109 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.
13,257 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Programming for Complete Beginners in C# to your Wishlist.

Add to Wishlist

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.6 (1,109 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.
13,257 students enrolled
Created by Eric Wise
Last updated 5/2017
Current price: $10 Original price: $30 Discount: 67% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 6.5 hours on-demand video
  • 3 Articles
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
  • 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 is the target audience?
    • Complete Beginners
    • No really, if you can type, install a program using a wizard, and open the file explorer you are good to go!
    Students Who Viewed This Course Also Viewed
    Curriculum For This Course
    48 Lectures
    1 Lecture 06:26
    Getting Started With Visual Studio
    3 Lectures 27:52

    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
    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:07

    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
    1 Lecture 00:48
    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
    About the Instructor
    Eric Wise
    4.6 Average rating
    1,109 Reviews
    13,257 Students
    1 Course
    Software Architect • Technologist & Trainer

    I am the President and founder of the The Software Guild in Akron, OH.

    As a technology leader, I have managed developer, database, and QA professionals. As a skilled architect, I have designed and implemented many complex systems, including an insurance system which covered all facets of the business from sales to policy servicing and claims processing. Additionally I have provided leadership and advisory services in cross functional initiatives including product strategy, process improvement, and resource planning.

    At the Software Craftsmanship Guild our cohorts allow apprentices to experience the practical application behind taking a modern application from start to finish under the guidance of mentors. Throughout the process they not only receive feedback from the mentorship staff, but also the regional community at large due to the Guild’s relationship with individuals working in the field who volunteer their time to the cohort. All of this serves not only to set a quality standard for their careers, but also accelerate their learning.