
Learn to set up Visual Studio Community Edition, create a console application, and explore the editor, main method, and basic code structure, including comments and compilation basics.
Learn how to declare variables in C# by choosing data types like int, double, string, bool, and char, and initialize or assign values using the assignment operator.
Explore the console window by displaying five basic data types—int, double, string, bool, and char—using console.writeLine and console.write. Learn placeholders, alignment, and concatenation to format output.
Discover how to use arithmetic operators—plus, minus, multiply, divide, and modulus—along with operator precedence and parentheses to control calculations. Learn concepts about integer vs floating division, assignment, and increment/decrement patterns.
Explore how the bool data type stores true or false values and how comparison operators like greater than, less than, greater than or equal to, and equal to evaluate conditions.
Learn how to use the char data type in C#: declare and print single characters with single quotes, use escape sequences like newline and tab, and escape quotes.
Master the string data type in C#, using double quotes and escapes, and compare strings with four methods: ==, String.Equals, CompareTo, and String.Compare. Explore length, substring, and starts with.
Master numeric conversions by using implicit and explicit casts between integers and doubles, and learn how truncation can lose decimal data when converting doubles to integers.
Declare constants with the const keyword to create unchangeable values, illustrated by pi, then group related constants with enums like days of week for readable, type-safe code.
Learn how to read user input from the console using ReadLine, store it as a string or parse it to an integer, and print personalized responses.
Learn to build a simple calculator by reading two integers from the console, parsing them, summing them, and displaying a formatted equation like 'a + b = c'.
Write a C# console program that reads the room's length and width, uses a constant price per square foot to calculate area and total carpeting cost, and displays the result.
Learn to convert a total minutes input into hours and remaining minutes in C# by using division by 60 and the modulus operator, as shown in exercise 3.
Learn how to make decisions in C# using conditional logic to run different code paths based on user input, such as an age verification that handles over and under 18.
Learn how if statements evaluate boolean expressions with comparison operators to control program flow, including blocks, nesting, and simple age validation, with a preview of if else.
Explore how if else statements control true and false branches using an age validator, with linked else blocks to avoid unnecessary checks and improve efficiency.
Explore compound expressions in if statements by using the and and or operators, with precedence and parentheses, through age checks and discounts in C#.
Demonstrates switch statements as exact-match branching with cases, default, and break to prevent fall-through in C#. Illustrates switching on year with cases 1–4 and a default for invalid input.
Learn the conditional operator and the not operator in C#, using on-the-fly if statements to determine the biggest number and print results.
This exercise presents a C# program that prompts for an hourly pay rate, uses a double, and validates it with if statements, printing invalid or valid results, with a solution.
Calculate the weekly lawn mowing fee by prompting for yard length and width, computing square feet, and applying tiered rates. Display the weekly amount and the 20-week total.
Learn to build a C# number guessing game that generates a random 1–10, prompts for input, and reports too low, too high, or correct using if statements.
Discover how loops make programs repeat code, using an example that prompts for 20 grades. You'll see the syntax and how loops relate to arrays in practical tasks.
Explore while, for, and do while loops, their definite and indefinite forms, and how the counter control variable, the condition, and the alter statement shape termination with practical examples.
Learn how for loops perform definite repetition by running code a set number of times with a compact header, and compare them to while loops using user input.
Explore do while loops and compare them with while and for loops, showing how do while guarantees at least one execution and reduces code duplicity.
Discover how nested loops operate in C# by nesting a for loop to draw patterns like a 10 by 10 star square and prepare for multidimensional arrays.
Create a console app that prompts for a pay rate and validates it between 5.65 and 49.99 using a do-while loop, parsing input to a double and displaying the rate.
Create a console app that sums numbers from 1 to 50 using a for loop and a running total, then print the result and verify with smaller examples.
Extend the number guessing game by adding a do-while loop, random number generation, and a guess counter, guiding users with too high or too low prompts.
Learn what arrays are, how they store multiple data items of the same type, and how loops let you manipulate the entire data set efficiently.
Learn how to create an integer array in C#, assign memory with new, and access or modify its elements using zero-based indexes, including common initialization shortcuts and handling boundary errors.
Explore using for and foreach loops with arrays to print and update student grades, apply extra credit, and use array length to handle any number of elements.
Learn to search a string array with loops, using a contains flag and break to efficiently find a student. Retrieve their grade from a parallel array.
Learn three built-in array methods: binary search, sort, and reverse, compare binary and sequential search, and understand when sorted data enables faster searches.
Explore two dimensional arrays in C#, distinguishing rectangular arrays from jagged arrays, understanding syntax, initialization, and printing with nested loops to handle rows and columns.
Build a console program for a delivery service that checks a user-entered zip against ten stored zip codes using a for loop and a sequential search, breaking when found.
Compute class performance by collecting each student's name and final score, storing them in parallel arrays, and reporting the class average and highest grade (with student name) after input.
Build a hangman-style game in C# that randomly selects a word from eight options, hides it with asterisks, and reveals letters on guesses, using contains, remove, insert, and length.
Explore how the main method starts a C# program and how methods group code into reusable blocks, like console writes and parse, enabling a single method call to calculate averages.
Discover how methods group code into actions, enable reuse, and return values in C# with public or private access, parameters, and examples like add and parse.
Examine pass by value and pass by reference in C#, contrasting value types like int with reference types like arrays, and show how copies differ from memory references.
Explore the ref keyword to pass value types by reference, forcing in-place updates and reflecting changes in the original variable, demonstrated by a C# extra credit example.
Explore how ref and out keywords pass variables by reference in C#; learn how out allows uninitialized values and enables returning multiple results with an add and multiply example.
Learn how the params keyword packs any number of arguments into an array, letting you print arrays and pass flexible argument lists to functions.
Learn how method overloading lets you use the same function name for int, string, and double inputs, selecting the correct version by parameter type.
Explore optional parameters and named arguments in C#, learn to define defaults, override with explicit values, and use named arguments to control parameter order.
Create a console-based application that prompts for an integer, passes it to a multiplication table function, and prints 2 through 10 using a for loop.
Explore methods in c#: prompt a number, compute its square and cube, with the cube method reuse of the square method and results returned to main for printing.
Create a method named some that uses the params keyword to accept any number of integers or an array, sums them, and prints the result, demonstrated with several calls.
Explore object oriented programming in C# by using classes as blueprints to create student and teacher objects, then enable their interactions through methods.
This lecture presents creating a class as a blueprint, defines public fields name, age, final grade, demonstrates instantiation with new, and adds a say hello method while discussing access modifiers.
Explore constructors in C#, learn how to enforce required information via constructor parameters, use this to assign fields, and implement constructor overloading and initializer calls.
Show how private fields like name, age, and final grade are exposed via get and set methods to enforce constraints and protect data, with constructors and the move toward properties.
Learn how C# properties provide get and set syntax that acts like variables while executing as behind-the-scenes functions, with examples of name, age, and final grade.
Explore how classes are reference types and how passing an object to a method uses by reference semantics, so modifications inside the method affect the original object.
Explore how arrays of objects differ in memory, why we call new on each element, and how to loop to print each person's name and age.
Explain the static keyword, showing how a class-wide count is shared across all instances and how static access and methods differ from instance members.
Define a square class with private side and area fields, compute area via a private method, expose read-only properties, then create and display 10 squares with sides 1 through 10.
Create a C# taxpayer class with social security number and yearly income, a read-only tax owed that calculates at 15% under thirty thousand and 28% above, and manage ten entries.
Design a C# job class for Harolds home services with description, time, hourly rate, and a computed total fee; overload the plus operator to combine two jobs and demonstrate it.
What is Microsoft Visual C#?
C# (pronounced "C sharp") is a programming language that is designed for building a variety of applications that run on the .NET Framework. C# is simple, powerful, type-safe, and object-oriented. The many innovations in C# enable rapid application development while retaining the expressiveness and elegance of C-style languages.
What is this course all about?
This course is designed for people with NO prior programming experience. You will learn how to write computer programs using Microsoft Visual C#. The topics in this course are handpicked to build a strong foundation for all new programmers.
What makes this course better than the others?
This course is better than others due to the design of the lectures. Complex topics are explained in a way that anyone can understand. The instructor began as a self-taught programmer, and knows where new programmers make mistakes and get confused. All the topics in this course have the instructor’s personal tips and tricks that helped him to succeed.
Where should I go after I complete this course?
This course provides a foundation that allows you to continue your programming education in almost any area. You can stick with desktop development and learn how to build rich and immersive applications using technologies like WPF. You can enter the world of mobile development to build Android, iOS, and Windows applications using Xamarin with C#. If game development is your area of interest, you can build both desktop and mobile games using Unity with C#. If you are tired of software development, web development is also an option using ASP.NET.
Can I take the experience from this course to learn new programming languages?
Yes you can! C# is a "C" based programming language. All programming languages in the same family are extremely similar and easy to learn after learning C#. Some examples of "C" based languages are:
Future courses from this instructor.
Stay tuned for future courses in: