The goal of this course is to take a student with little or no experience programming in C# and to make them a complete master of the language.
Whether you want to:
The goal of this course is to take a student with little or no experience programming in C# and to make them a complete master of the language.
Whether you want to:
Build the skills you need to land your first C# programming job
Move to a more senior software developer position
Ace a coding interview at a top tier tech company like Google, Apple, Facebook, or Microsoft
Take the Microsoft Certification Exam 70-483 that tests your C# knowledge
Build professional quality video games in the Unity game engine
Or just learn C# to be able to build professional quality apps
…this complete C# tutorial is the course you need to do all of this, and more.
Why should you learn C#?
C# is an in-demand skill, and one of the most popular programming languages in the world.
It is powerful, flexible, and well supported and is used in a wide variety of industries including Investment Banking, Mobile App Development, Web Development, and Game Development.
This course will teach you not only C#, but the key computer science concepts like Data Structures and Algorithms, Searching and Sorting, and Gang of Four Design Patterns. This course will help you ace interviews and get a job.
How is the course structured?
The course goes in order building up from basic to intermediate and then to advanced.
Most sections of the course have a quiz at the end, then a video explaining the answers to the quiz questions, and have several interview questions with detailed answers that relate to that section. That means as you learn the material you will be mastering crucial interview questions based on the subject matter you are learning.
At the end of the course there are 7 real world project where you build apps and a video game using C# and absorbing all kinds of knowledge about industry software and key programming techniques.
There is also a section in the course with a beginner, intermediate, and advanced C# quiz, a full length practice test on C#, and several videos where I show you how to solve a bunch of potential interview questions and coding problems using C# and the techniques you learned in the course.
What topics are taught in this course?
Fundamentals of Computer Science
Setup and Install Visual Studio on your Computer
Getting Started with C#
Data Types
Working with DateTime data in C#
Control Flow Statements and Loops
User Input and Files
Functions
Interfaces and Abstract Classes
Data Structures and Collections
Advanced C# Coding
REGEX - Regular Expressions
C# Namespaces
Documenting Your Code
Searching and Sorting
Object Oriented Programming
C# Generics
.NET Framework
Bitwise Operations in C#
Threading in C#
LINQ - Language Integrated Query
Version Control - GitHub and SourceTree
C# Debugging, Exception Handling, and Unit Tests
Reflection in C#
Refactoring C# Code
Types of Algorithms
Implementing Algorithms in C#
Optimizing Code
Design Patterns
C# 8.0 New Features
C# 9, 10 and 11 New Features
C# 12 New Features (2024 Update)
How to Write Good Code
Landing a Programming Job
C# Programming Practice Videos, Quizzes, and Tests
Intro to C# Hands-On Projects: Build Real World Apps.
Hands-On: Building a Database Application using Microsoft SQL Server and C#
Hands-On: Building a Web App using ASP .Net and C#
Hands-On: Building a Mobile App using Xamarin C# (Windows and Mac only)
Hands-On: Building an Artificial Intelligence / Neural Network using C#
Hands-On: Building a Machine Learning app using ML .Net and C#
Hands-On: Building a 3D Marvel Fighting Game using C#
Coding Challenges: Project Euler
Cryptography
Dependency Injection
How is this course different than the other C# courses on Udemy?
This course is a through, comprehensive tutorial on the C# programming language.
Some courses teach you the theory, others teach through hands-on projects. This course combines both approaches.
In addition to teaching beginner, intermediate, and advanced C#, this course also breaks down all the Gang of Four design patterns, teaches searching and sorting techniques, and data structures and algorithms.
This course has more practice material than the other courses, with a quiz after most sections to test your knowledge, links to free online learning resources, and videos that walk you through solving coding interview and challenge questions using the C# techniques you have learned.
This is the only C# course you will ever need.
I made this course to be the only C# course you will ever need. A course that you can come back to and master the advanced techniques, and a course that you can pick-and-choose what to learn based on your goals and interests.
There is no filler material and no nonsense in this course. If I added a video or resource to this course, it is because I believe it to be important to your journey as a programmer. To truly reap the benefits of C#, and become a master of the C# programming language, you should strive to complete as much of the course as you can.
Are there real-world projects in this course where you can apply the skills you learn hands-on?
There are. In fact, you will build 6 hands-on apps in this course. You will use your C# skills to develop:
A database application using Microsoft SQL Server and C#
A Web App using ASP .Net
A cross-platform Mobile App using Xamarin
A neural network AI program using C#
A machine learning program using ML .Net and C#
A 3D Marvel Fighting game using Unity, Mixamo, and C#
I will walk you through building each of these projects step by step, so don’t worry about getting overwhelmed or stuck. My students know I break down the big concepts into digestible pieces of information that anyone can understand.
Who is your instructor?
My name is Rob Gioia and I currently work as a Mobile Software Engineer in New York City. C# is my favorite programming language, and every industry job that I have held has used C# as the primary programming language.
During my time working with C# both in the professional and personal capacity, I’ve used C# to:
Teach students how to program when I worked as a teacher’s assistant at the New Jersey Institute of Technology
Build virtual reality games to therapy children with convergence insufficiency, an eye disorder, and gamify their treatment.
Build a lifestyle Scratch to Win mobile app with over 10 million installs (there was some Java programming involved in this one as well :-) )
Develop card trader apps based around high end Intellectual Property like Marvel, Disney, and Star Wars.
Create Udemy courses that students have used to build full length video games using Unity and C#.
I also took part in the Google Interview process during October 2018 and used C# during the phone interview. I continued on in the interview process but obtained another high paying job in the process, an opportunity to work on a Marvel Collect app among other top intellectual property mobile apps.
My background has been gaming focused, but I want to emphasize that this is C# can be used in so many other capacities, and this course is meant to make you a master of C#, and then teach you how to build all kinds of projects using this powerful programming language.
What if you have questions?
Any questions you have can be posted to the Q&A forum or messaged to me on Udemy. I check my Udemy account every day to see if students have questions, and do my best to be as responsive and helpful as possible.
If you get stuck at any point during this course, send me a message and I will get you unstuck.
There is no risk in taking this course.
This course comes with a full 30 day money-back guarantee. You either end up with C# skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it…
You literally can’t lose.
Are you ready to master the C# programming language and build an awesome set of software engineering skills? Then enroll now using the “Add to Cart” button on the right.
This video will introduce the course. By the end of this lecture you will have a clear understanding of the learning objectives and be ready to start learning the course material.
This video will introduce me, the instructor of the course. I will discuss my credentials and tell you a little bit about myself. By the end of this lecture you will understand who I am and why I chose to create this course.
In this video I discuss the 2021 course updates for this course. I’ve added some exciting updates to my Complete C# Programming Course 2021 – Beginner to Expert course on Udemy. 3 new sections and 16 hands-on coding exercises have been added to the course, putting the course at over 26 hours and with a lot more hands-on coding.
One of these sections teaches you how to build a Marvel Contest of Champions fighting game in Unity with four playable characters: Hulk, Spiderman, Wolverine, and Thanos. I walk you step by step through obtaining the 3D models online, adding animations using Mixamo, and then coding everything using C# in Unity. Learn how to make the characters attack, take damage, and more in this exciting new section of the course. Also write AI code to make the enemy character move and attack on its own!
Another new section is Coding Challenges: Project Euler. In this section there are 10 hands-on coding exercises which are the first 10 Project Euler problems. For those of you that might not know, Project Euler is a math and coding challenge website with thought provoking coding problems. Testing your skills on these problems is a great way to build knowledge of programming, math, and sharpen your problem solving skills. I also walk you step-by-step through the solutions in a video following each coding exercise.
The third new section I added is the Cryptography section. Learn how to encrypt data to keep it secure. Master key cybersecurity algorithms like the reverse cipher, Caesar cipher, XOR process, and monoalphabetic cipher.
I have also added 6 other hands-on coding exercises scattered throughout the course to give you more hands-on practice.
This video will introduce Section 2, Fundamentals of Computer Science. By the end of this lecture you will understand the learning objectives for this section.
In this video you will learn what Computer Science is. By the end of this video you will understand what computer scientists do and have some basic knowledge of the subject area.
In this video you will learn what Computer Programming is. By the end of this lecture you will understand what computer programming is.
In this video you will learn about the 5 generations of programming languages. By the end of this lecture you will be able to identify the 5 generations of programming languages and what each does.
In this video, we will discuss what C# is and why you should write C# code. By the end of this lecture you will have a background of C# knowledge and understand the important role that C# plays in the industry.
In this video we will look at what happens under the hood of the computer when a program is run. By the end of this lecture the act of running a program on the computer will be demystified.
In this video we will learn about two main memory blocks in the computer, the Stack and the Heap. By the end of this lecture you will have a clear understanding of what the Heap and Stack are and the role that they play in the coding and running of a computer program.
In this video we will learn the 5 steps to programming systems and applications. By the end of this lecture, you will understand each of the 5 steps and the role that they play in system and application development.
In this video I will give you some advice for getting the absolute most that you can out of this course. By the end of this lecture you will understand how to use this course to unlock your potential as a C# developer and future industry professional.
In this video I will give you some advice on becoming the best C# programmer that you can be. I hope you find the advice useful and put some of the tips that I give you into practice.
This video will recap and summarize Section 2, Fundamentals of Computer Science.
This video will introduce Section 3, Setup and Install Visual Studio on your Computer. By the end of this lecture you will understand the learning objectives for this section.
In this video we will download and install Visual Studio Code with C# Dev Kit.
In this video we will download and install Visual Studio. By the end of this lecture you will have Visual Studio up and running on your computer.
In this video we will download and install Visual Studio on a Mac machine. By the end of this lecture you will have Visual Studio up and running on your Mac computer.
In this video we will create a C# project in Visual Studio. By the end of this lecture we will have a C# project that we can work in to write the C# code in this course.
In this video we will learn the basic controls to navigate the Visual Studio program. By the end of this lecture you will be able to navigate around the Visual Studio code editor program.
Adding C# capabilities to a Visual Studio project is a bit different with version 2022, this article will walk you step by step through the process so that you can successfully work through this course no matter what version of Visual Studio you are using.
In this video you will learn how to create a C# file in Visual Studio. By the end of this lecture you will understand how to create new code files in Visual Studio.
In this video you will understand how to access and use the MSDN C# documentation. By the end of this lecture you will understand the different parts of the documentation and where to go to find what you need if you have questions about the C# programming language.
This video will recap and summarize Section 3, Setup and Install Visual Studio on your Computer.
This video will introduce Section 4, Getting Started with C#. By the end of this lecture you will understand the learning objectives for this section.
In this video we will write a simple Hello World program in C#. By the end of this lecture you will understand how to output "Hello World" to the Visual Studio console using C# code.
In this video we will go over the answer and explanation to the Hello World coding exercise.
In this video we will learn about the C# Main( ) method, the entry point for any code project. By the end of this lecture you will understand the role that the main method plays in the execution of C# code.
In this video we will learn about variables in C#. By the end of this lecture you will understand what variables are and the role that they play in Computer Science.
In this video we will learn about the Visual Studio console. By the end of this lecture you will understand how to use C# code to output values to the console.
In this video we will learn about Conditional Statements. By the end of this lecture you will understand the basics of conditional statements and how to work with them in C#.
In this video we will learn about Loops. By the end of this lecture you will understand the basics of loops and how to work with them in C#.
In this video we will learn about Comments. By the end of this lecture you will understand what comments are and how to work with them in C#.
In this video we will learn about Functions. By the end of this lecture you will understand what functions are and how to work with them in C#.
In this video we will learn about Errors. By the end of this lecture you will have an understanding of what errors are and the role that they play in computer science.
In this video we will learn about some basic C# syntax rules. By the end of this lecture you will have a better understanding of basic C# syntax.
In this video we will learn about the modulus operator in C#. By the end of this lecture you will understand what the modulus operator is and how to work with it in C#.
In this video we will learn about the increment and decrement operators in C#. By the end of this lecture you will understand what the increment and decrement operators are and how to work with them in C#.
In this video we will learn about the is operator in C#. By the end of this lecture you will understand how to work with the is operator in C#.
In this video we will learn about the as operator in C#. By the end of this lecture you will understand how to work with the as operator in C#.
In this video we will learn about the ternary operator aka the conditional operator in C#. By the end of this lecture you will understand how to work with the ternary operator in C#.
In this video we will learn about the null-coalescing operator in C#. By the end of this lecture you will understand how to work with the null-coalescing operator in C#.
In this video we will learn about the sizeof operator in C#. By the end of this lecture you will understand how to work with the sizeof operator in C#.
In this video we will learn about the typeof operator in C#. By the end of this lecture you will understand how to work with the typeof operator in C#.
In this video we will learn about operator overloading. By the end of this lecture you will understand what operator overloading is and how to overload operators in C#.
In this lecture we will learn about the different keywords in C#. By the end of this lecture you will know the different keywords that C# gives us access to, and be able to differentiate between regular keywords and contextual keywords.
This quiz will test your knowledge of the material you learned in this section of the course.
This video will break down the quiz questions and answers to give you a full understanding of the material.
This video will introduce Section 7, Control Flow Statements and Loops. By the end of this lecture you will understand the learning objectives for this section.
This video will recap and summarize Section 4, Getting Started with C#.
This video will introduce Section 5, Data Types. By the end of this lecture you will understand the learning objectives for this section.
In this video we will learn about the basic built-in data types that C# supports. By the end of this lecture you will know the different built-in data types and the basics of working with them in C# code.
In this video we will learn about the number variables the C# supports. By the end of this lecture, you will understand the different types of number variables in C#.
In this video we will learn what the floating point precision issue is and how to avoid it in C#. By the end of this lecture you will understand the floating point precision issue is.
In this video we will learn about C#'s Math class. By the end of this lecture you will be familiar with using some of the common functionality of the Math class.
In this video we will go over the answer and explanation to the Convert Fahrenheit to Celsius coding exercise.
In this video we will learn about strings in C#. By the end of this video you will have a better understanding of the string data type.
In this video we will learn about the differences between characters and strings in C#. By the end of this lecture you will understand the difference between these two fundamental C# data types.
In this video we will learn the proper way to check string equality in C#. By the end of this lecture you will understand why there is a proper way to check string equality and how to use the strategy we go over in this video to do so.
In this video we will learn what the @ and $ symbols mean when used with strings in C#. By the end of this lecture you will understand what these symbols do and the role that they play in C# programming.
In this video we will learn about slicing strings into substrings. By the end of this lecture you will understand what slicing strings is and how to slice strings in C#.
In this video we will learn about string escape sequences in C#. By the end of this lecture you will understand what string escape sequences are and the role that they play in C# programming.
In this video we will learn about formatting strings in C#. By the end of this lecture we will learn how to format strings in C#.
In this video we will learn about the StringBuilder class in C#. By the end of this video you will understand the advantages of using the StringBuilder class with strings.
In this video we will learn about working with strings in C#. By the end of this lecture you will have hands-on practice working with C# strings.
In this video we will go over the answer and explanation to the Working with Strings coding exercise.
In this video we will learn about validating strings in C#. By the end of this lecture you will understand what string validation is and how to validate strings using C# code.
In this video we will learn about boolean variables in C#. By the end of this lecture you will have a better understanding of booleans and how to work with them in C#.
In this video we will go over logical operators and the role that they play in C#. By the end of this lecture you will learn what logical operators are and what they are used for in C#.
This video will cover the boolean flag technique, one of the most common techniques used in computer programming. By the end of this lecture you will understand what the boolean flag technique is and how to use it.
In this video we will go over what the null data type is and the role that it plays in C# code. By the end of this lecture you will understand what null means in the context of computer programming.
In this video we will learn about casting, boxing, and unboxing. By the end of this lecture you will understand how to convert variables from one type to another.
In this video we will learn about anonymous and dynamic types in C#. By the end of this lecture you will understand how to use the var and dynamic keywords to work with anonymous and dynamic types in C#.
In this video we will learn about value and reference types. By the end of this lecture you will understand what value and reference types are and how to work with them in C#.
In this video we will learn about using if, else if, and else to program conditional logic in C#.
This video will recap and summarize Section 5, Data Types.
This video will introduce Section 6, Working with DateTime data in C#. By the end of this lecture you will understand the learning objectives for this section.
This video will go over C#'s DateTime class. By the end of this lecture you will have a better understanding of the DateTime class and how to work with it in C#.
This video will go over C#'s Timespan class. By the end of this lecture you will have a better understanding of the Timespan class and how to work with it in C#.
This video will go over the different ways that we can format dates and times using C# code. By the end of this lecture you will understand how to format dates and times using C#.
This video will go over what UTC time is and the role that it plays in Computer Science. By the end of this video you will understand what UTC time is and how to work with it in C#.
This video will recap and summarize Section 6, Working with DateTime data in C#.
This lecture will go over the answer to the If Statements in C# Coding Exercise.
In this video we will learn about writing switch statements in C#, and how the default keyword is used. By the end of this video you will understand how to use switch statements to program conditional C# logic.
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.
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.