With over 50,000 happy students and 15,000+ positive reviews, this course is Udemy's most popular course for learning C# from scratch.
With over 50,000 happy students and 15,000+ positive reviews, this course is Udemy's most popular course for learning C# from scratch.
C# is a beautiful cross-platform language that can be used to build variety of applications. With C#, you can build mobile apps (for Windows, Android and iOS), games, web sites and desktop applications.
Once you master fundamentals of C# and programming with .NET framework, you'll have lots of options in front of you. You can choose to build mobile apps if you prefer, or you can change job and work as a web developer. As long as you know the fundamentals well, switching to different technology stacks is pretty easy.
In this course, Mosh, author of several best-selling C# courses on Udemy, teaches you the fundamentals of C# programming in a clear, concise and step-by-step way. Note only that, but he'll also teach you best practices and shortcuts to help you become a better developer.
Every section comes with a few bite-sized video lectures and a quiz or programming exercises. These exercises are carefully chosen from academic and real-world examples to train your "programming brain". If you want to be a successful programmer, who has many high-paid job offers and freedom to "choose", you need to learn how to think like a programmer. And this is what you're going to get out of these exercises. All exercises come with solutions, so you can compare your solutions with Mosh's to find areas for improvement.
There are plenty of free tutorials and videos that teach you C# and they are great if all you want to learn is C# constructs. But if you want to learn C# and become a better programmer with a bright future and lots of options, this is the course for you. For every topic, not only will you learn the whats, but you'll also learn the whys, and hows. You'll see common errors that pop up as part of developing applications with C#. Mosh explains these errors in detail, and shows you how to resolve them.
I owe a lot of it to you because your courses have been May God bless you and your efforts to create high quality courses. This has really changed my life from working as a security guard and doing websites for free, now I am a professional." -Danish Jafri
"Great Instructor, Great Course, Mosh does a great job of breaking down the material and making it interesting." -Michael Gardner
"You can hear the passion in his voice which makes the course sound 10x more exciting then someone who just does it for the money." -Tim Medcalf
"Great Instructor, I love the way he teaches the course." -Edward Tkachev
"I love Mosh's approach of delivering the theory and then the practice. Audio and video quality are superb." -Paul Mooney
"You can definitely tell that Mosh is not only an experienced programmer, but he also cares deeply about producing great quality lessons and ensuring that his students are understanding the content." -David
30- Take the course, watch every lecture, and do the exercises, and if you feel like this course is not for you, ask for a full refund within 30 days. All your money back, no questions asked.
He is the author of several best selling Udemy courses with more than 120,000 students in 192 countries. He has a Master of Science in Network Systems and Bachelor of Science in Software Engineering. His students describe him as passionate, pragmatic and motivational in his teaching.
Do you want to start learning C# now?
Join the other 50,000+ happy students who have taken this course and start coding within a few minutes.
A brief overview of what you're going to learn from this course.
Get to know your instructor, his educational background, work experience and interests outside programming.
A brief overview of what you're going to learn in this section.
What is the difference between C# and .NET? That's a common question amongst beginners that is answered in this lecture.
Learn about the run-time environment of .NET applications and how it is different from native C and C++ applications.
Learn about the building blocks of .NET applications: classes, namespaces, assemblies
Link to download Visual Studio Community Edition.
Write your first C# program to get a feel for the language.
ReSharper is a commercial plug-in for Visual Studio that helps you write code faster with less effort. If you're a student or work on open-source projects, you can get a free license.
A quick wrap of what you learned in this section and what is coming next.
A quick overview of what you're going to learn in this section.
How to declare variables and constants in C# along with guidelines on naming conventions and choosing the right primitive type.
What is overflowing and the effect of checked keyword in C#?
Where does a variable or constant has meaning? That's determined by the scope.
A demo of declaring various variables and constants.
Various kinds of type conversion: implicit, explicit and conversion between non-compatible types using the Convert class.
Demonstration of a few type conversion scenarios along with a quick introduction to try/catch blocks.
List of arithmetic, comparison, assignment, logical and bitwise operators.
Demonstration of using operators to build expressions.
Different types of commenting notations in C#.
A quick overview of what you're going to learn in this section.
How to create classes and objects and the effect of static modifier on fields and methods.
Demonstration of creating classes and extracting them into separate files for better maintainability.
A brief overview of structures and when to use them.
What arrays are, how to declare them and access their elements.
Demonstration of declaring arrays and accessing their elements.
Different ways to create strings: using string literals, concatenation, String.Format and joining array elements. Also covers verbatim strings,
Demonstration of various ways to create strings.
What enums are and how to declare them.
Demonstration of declaring enums and accessing their members.
Difference between reference types and value types and how they are managed in the memory.
Demonstration of reference types and value types and what happens in the stack and heap memory when you copy variables.
Demonstration of the impact of reference types and value types when passing arguments to methods.
Overview of if / else and switch / case statements as well as the ternary operator.
Here, we'll explore conditional statements using a few examples.
Example 1: a simple program that displays a different message based on the time of the day.
Example 2: a program that sets the price for a product depending on whether the customer is a gold customer or not.
Example 3: a program that displays a different message based on the current season.
You can get the solutions in the Supplementary Materials section of this lecture.
Overview of for, foreach, while and do/while blocks and when to use each.
Here, we'll write a simple program to display even numbers from 1 to 10 in an incremental and decremental fashion.
Here, we'll explore foreach loops using two examples:
Example 1: a program that displays each character of a name on a new line.
Example 2: a program that displays all numbers in an array.
Here, we'll explore while loops using two examples:
Example 1: re-write of the program to display even numbers from 1 to 10, but this time using a while loop.
Example 2: a program that continuously asks the user to enter their name, and it'll echo the name. You'll learn how to implement infinite loops.
You'll learn how to use the Random class to generate random numbers and strings (like a random password).
You can get the solutions in the Supplementary Materials section of this lecture.
Multi-dimensional (rectangular and jagged) arrays, how to declare them and how to access their elements, as well as overview of a few useful methods in the Array class.
Here, we'll explore some useful properties/methods in the Array class to:
An overview of generic lists and how they are different from arrays, as well as useful methods in the List<> class.
Here, we'll explore a few useful methods in the List class to:
An overview of the DateTime structure, how to get the current date/time, how to change dates, and how to format dates in various notations (long, short, date/time, etc).
An overview of the TimeSpan structure, different ways to create TimeSpan objects, and how to use them.
This quiz tests your knowledge on DateTime and TimeSpan structures in .NET
An overview of useful methods in the String class, how to convert numbers to strings and vice versa, and explanation of format strings.
You'll learn how to use the methods in the String class to:
Here, you'll see me writing a program to summarise a block of text. This is useful in the home page of blogs where you need to show a summary of each post.
An overview of the StringBuilder, how it is different from the String class and when to use it.
A demonstration of various useful methods in the StringBuilder class to add / remove something to a string.
Here, I'll introduce you to procedural programming and how to extract re-usable parts of your code into methods.
You can get the solution to the exercises in the Supplementary Materials section of this lecture.
An overview of the System.IO namespace and various useful classes here to work with files, directories and path. I'll introduce you to File, FileInfo, Directory, DirectoryInfo and Path.
Here, I'll show you how to:
In this lecture, you'll learn how to:
Here, you'll see the benefit of using the Path class (over string searching methods) to
Overview of debugging tools in Visual Studio, breakpoints, running the application in the debug mode, continuing execution (step over, step into, step out) and inspecting values of variables.
You can get the source code I've used in this video in the supplementary materials section of this lecture.
You'll see a fundamental problem in the example code in this section. It has a side effect. You'll learn how to remove side effects and write reliable code.
You'll learn about defensive programming and how it helps writing more reliable code.
How to use the call stack window to find your way in the code during a debugging session.
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.