
Explore the Console class in C#, using System and Console members, call public static void methods like WriteLine and Beep, and clear the screen after printing and beeping.
Discussions:
1. Navigate to the .NET Framework source code
2. Find the Console class
3. Point out how methods like WriteLine are programmatically defined here
4. Emphasize what it means to invoke a method with an argument
Discussions:
1. Relate dot notation to namespaces, classes, and class members like methods
Explore how data types like integers, doubles, and strings behave in C#, and how explicit casting can lose fractional parts or trigger conversion errors.
Learn how to describe an object with multiple data types in C# by modeling a clown with string name, double height, decimal price, and boolean hasUmbrella.
Learn to print multiple variable values in c# by building a descriptive string with string interpolation, formatting price with a dollar sign, and controlling line breaks for console output.
Learn how to use the debugger in Visual Studio to set breakpoints, step into code, and inspect the locals window and call stack as variables update.
Learn to use the Visual Studio 2017 debugger in C# console programs to minimize implicit method calls, inspect format and concat calls, and step through code via breakpoints.
Refactor the code to compute the sum of salaries once using the decimal type and plus operator, then divide by the count and observe currency format rounding to two decimals.
Learn to use the string class Concat method in C# by assembling multiple strings into a single result, using the System namespace and the static method.
Extend the console program to read a second value, display the product of the two inputs, and explore parsing doubles and using the System namespace.
Analyze a C# parse error in Visual Studio 2017 by tracing the error message, path, and line number to understand string-to-number conversion.
Learn how to chain methods on a single object in C# by calling string operations in sequence, such as trim followed by to upper, with both returning new string objects.
Explore how to understand and use basic properties in the console, such as background color and title, via public static properties, the system namespace, and the console color enumeration.
Understand how conditions in C# use operators like ==, !=, <=, and > to produce boolean true or false. Learn to replace hard coded values with variables for flexible comparisons.
Learn to use the debugger to step into if/else logic, initialize variables, and inspect condition values, enabling you to trace program flow and understand true and false branches.
Employ string.Contains to decide if a string includes a substring, a boolean for if/else. Replace values with variables for flexibility, and observe text found or text not found during debugging.
Explore compound operators in C# by declaring and updating a variable, using post-increment and pre-increment, and applying assignment operators such as plus equals with arithmetic like division and multiplication.
Learn to build a while loop that prints values from 1 to 10 using a loop counter, a <= 10 condition, braces for a code block, and ++ increments.
Create and run a while loop that counts down from a high value to a low value, adjusting the loop counter and condition, and observe reachable code in Visual Studio.
Learn to write and run for loops in C# by printing squares from 1 to 5, comparing with while loops, and modifying to compute cubes for 5 to 7.
Adjust for loop indexes by transforming the value list (add two) and compensating in the loop body (subtract two) to output 1 times 1, 2 times 2, 3 times 3.
Learn how strings are indexed from 0 to length-1, read the length property, and use substring with a start index and length to extract characters and avoid out-of-range errors.
Explore iterating over strings with for loops in C# using index, length, and substring to access characters, and learn rules for starting at 0 or length-1 and reversing a string.
Learn to iterate a string with foreach in C#, treating each character as a char, and use Char.IsNumber, Char.IsLetter, and Char.IsPunctuation to conditionally filter and print numbers and punctuation.
Explore how strings in C# are immutable in memory, using Visual Studio 2017, by comparing memory addresses when applying + and += to reveal new string instances.
Observe the mechanical execution of a for loop in Visual Studio by stepping through code to see the condition check, increment, and repeated actions until the condition becomes false.
Explore working with generic lists in C# by creating a decimal list, initializing with a collection initializer, and using LINQ methods to calculate sum, average, min, and max.
Explore how to apply action to each entry in a C# list with foreach in Visual Studio 2017, using strings and decimals, and operations such as upper, lower, and square.
Enter values to build a list of doubles in a Visual Studio 2017 console program using read line and TryParse, then display the average with string interpolation.
Demonstrates ternary operator usage with string methods in C# to evaluate input and return a boolean result, then display true or false based on whether a string contains a substring.
Rewrite the last video's code to a more compact version that still returns a boolean, using read line prompts, contains checks, and printing with right line.
Explore how a C# switch block transfers control between cases while debugging, stepping through code, and using break to exit; observe plus, subtraction, division, and multiplication paths.
Explore how C# handles division by zero, using switch blocks and if statements to output cannot divide by zero when y equals zero, and perform division otherwise.
Explore how to use two logical conditions with the and operator in a C# console program, evaluating true and false to control if statements and discounts.
Learn to use a while true loop with break and continue. Use try parse for safe input and exit via console key, then clear the console.
Explore the or operator in C# using Visual Studio, showing how the || logical operator yields true when either side is true, with short-circuit behavior and if-else blocks.
Navigate the call stack and parameters as local variables, and observe how the locals window and stack trace reveal scope changes as methods like divide by 5 execute.
Create a method with two parameters and a return value to compute interest as amount times rate, using the decimal data type, static invocation, and currency formatting in C#.
Learn to write a method with parameters validating amount and rate greater than zero. Use logical and operator, add time parameter to compute interest, and return zero if inputs invalid.
Explore implementing a modern switch block in C# to rewrite a sine method from the math class, handling negative, zero, and positive values with return statements in Visual Studio.
Learn how C# division returns quotient and remainder using an out parameter, with modulo and integer types, inside Visual Studio 2017 console programs.
Learn how to prevent crashes in c# console programs by using try-catch to handle division by zero, catching System.DivideByZeroException, and displaying the exception message, source, and stack trace.
Define a method that takes a string parameter and returns a string, using substring(0,1) to obtain the first letter and handling potential argument out of range exceptions.
Create a method that returns a tuple by extracting parts from a string using substring and index of. Handle comma-delimited inputs like John Smith, 45 and prepare for using tuples.
Learn to encapsulate tuple-returning logic in a method, returning name and age as a tuple, and access the elements with dot notation to display them separately.
Explore using the where method from LINQ to filter a list of integers, returning an IEnumerable<int> of even numbers, and display results with foreach.
Wrap the prior example into a reusable method that returns IEnumerable<int> from a List<int>, using Where to filter and allowing a divisor parameter.
Learn to implement a C# params method that multiplies any number of inputs, initializing product to 1 and accumulating with product *= x.
Learn to use the split method on a string using a character array of separators to produce an array of substrings and print each name.
Explore how arrays and lists in C# are reference types; observe that A1 and A2 reference the same memory, and that list aliases share underlying values.
Learn how to create and fill an array, iterate with a for loop from index 0 to length-1, and read or display values safely using the array's length.
Explore how string arrays store references in memory, with multiple entries sharing the same address, unlike integers and decimals; learn to inspect memory in Visual Studio to understand these differences.
Extend a two-by-two to a three-by-three multidimensional array in C# using Visual Studio, iterating row and column indices and assigning values to each cell.
Learn how to populate a two-dimensional string array with nested for loops, using GetLength to adapt to any row and column sizes, and fill each cell with R{row}C{col}.
Learn to print a multidimensional array in c# using console programs by iterating rows and columns and formatting the output as a matrix.
Learn to create and print jagged arrays in C# by initializing arrays of grades and using nested foreach loops to display each student's grades on separate lines.
Very Important:
1. Friends, please take the time to review the curriculum carefully before buying so you can see exactly whether this is the right course for you. Please do not join until you have completed this step.
2. Please watch the free preview videos so you can see whether the presentation style works for you. Please remember I am just one person, and I make my videos often after I have been working for many hours already. PLease do not join until you have completed this step.
3. If something needs fixing, please let me know. Again, I'm just one person and not a big team of people. I will try to fix it as quickly as possible. Thank you.
Course Overview:
1. This course consists of standalone examples designed to illustrate specific skills. There are no big applications built in this course.
2. You must use Visual Studio 2017 to be sure you have the latest version of C# running. Lower versions of Visual Studio will cause errors because newer programming elements will not be found.
3. This is a beginners course, but I do not spare the details, even when they are very technical. This means in a few videos I show you the .NET Framework source code. I do this because it's important to look at things as they actually are, and not at an artificially simplified perspective.
4. I talk fairly slowly in some of the videos.
5. If you feel the way I talk is too slow for you, please watch at 1.25x, which you can set easily on the player.
6. I made the videos in 1080p HD. If you have trouble with the resolution, please try reloading the page a few times.
7. This course covers C# through console programs only. It does not have ASP.NET, Windows Forms, MVC, .NET Core or anything like that.
8. There are questions throughout the videos. At those times, please pause and try answering them. Success invariably results from understanding how the many small and intricate pieces of anything fit together. This takes time, consistent effort and a willing to push yourself. Success is the result of a whole-hearted effort, exerted daily and consistently. This is what years of struggle have taught me:)
9. The videos are just coding videos done in Visual Studio Community 2017. This is the free version of Visual Studio.
10. This is a course dedicated to code only, so you do not see any of the following: a talking head, PowerPoints or fancy graphics. To me, these are distractions that shift focus away from the things that truly matter.
11. Exercises start in video two. I have overlays embedded that say "Pause and try this: ...", with the specific question in place of the ellipses.
12. In some of the videos, there are several questions because I guide you through building a bigger piece of code.
13. Some of the videos don't have any questions.
14. All the code is written from scratch in the code editor window in Visual Studio Community 2017.
15. In some of the videos, I use the debugger to step through the code, line by line, and intricate detail by intricate detail.
16. I talk frequently about reading the various tips that show as you type in Visual Studio. You must learn how to read them because they provide valuable information.
17. In some of the videos, I show you how C# looks in your computer memory. You must look at the memory of your computer to truly understand what's happening. Just reading messages in the console window is not the same as truly understanding what they mean.
18. In some of the videos, I zoom in on various things I feel need special attention.
19. For the hearing-impaired, closed-captions are added automatically. I do not have control over those, so they might not be perfect.
On a personal note, I can tell you only that it is through consistent, WHOLEHEARTED effort, that something technical like a programming language can be learned. That's what I have learned from years of struggling. I would urge you to embrace this philosophy because it's a very powerful. I hope you will find great value in this course. Thank you for reading, and I will see you inside!
Tom