
Install and configure Visual Studio 2017 Community by downloading the installer, selecting desktop development options, and adjusting text editor fonts, statement completion, and environment fonts for easy reading.
Learn how to create a C# server page, add a page directive, define a label control, and update its text on page load using a C# page_load method.
See how a single variable represents changing heights in C# 7, using double data types, string interpolation, and a label to display arch and lady heights at runtime.
Format output in C# 7 by displaying currency, percent, and date/time values using C, P, D, and T formats on a label, with double typing rules.
Explore using data types in C# by rendering an image on a web page and describing it with string, int, bool, and decimal values, including currency formatting.
Learn to create computed variables in C# by combining salaries, using decimal types and implicit conversions, and displaying total and average salaries with currency formatting on a web page.
Explore how a web image button runs inside a server-side form, handles click events, and reports x and y coordinates by using sender, event args, and string conversions.
Explore method chaining in C# to apply multiple string operations in one line, trimming whitespace and converting to uppercase or lowercase for display in a web page span.
Read numeric input from a text box, convert it with double.Parse, perform a calculation, and display the result in a label on a postback web form.
Understand logical conditions in C#, where true or false results come from comparing x and y using operators like >, ==, and !=.
Use if/else with a checkbox to show or hide a label on a web page. Toggle visibility by handling the checkbox change event and evaluating its boolean state.
Learn how to increment an integer variable by one, using pre- and post-increment operators, and display updates in a label.
Learn how while loops compress repetitive code in C# by using a loop counter, a boolean condition, and increment operations to print numbers 1 through 100 and display results efficiently.
Learn how to repeat code efficiently with for loops in C#, initialize loop counters in the header, and fill a list box with values.
Learn to iterate over a string as a collection of characters with a for-each loop, access each character, and build output without manual loop counters.
Explore how to use switch blocks to make decisions by evaluating a string variable against cases like apples, pears, and bananas, with breaks and a default.
Explore using switch blocks in C# 7.0, including declaring a local variable in a case label and using when conditions to determine income tax rates such as 25% or 30%.
Explore combining foreach loops with if/else to split a string into lines by spaces, appending characters to a label from a text box in a form.
Build a simple calculator interface with two text boxes, a button, and a label, using try parse and a ternary operator to safely convert input and show the result.
Explore variable scope in C#, showing how an outer variable remains accessible across page_load and submit_click, while inner blocks create isolated scopes and can’t access outer names.
Explore how curly braces in a for each influence output, and use breakpoints and step-into debugging in Visual Studio to trace character selection, conditions, and comma formatting.
Learn to declare and initialize integer arrays in C#, access and modify elements by index, and understand zero-based indexing and common range errors.
Iterate over a double array with a for each loop, accumulate the sum using plus equals, and display the result on a label when the button is clicked.
Learn to iterate over arrays with for loops in C# 7, compute sums by indexing array values, and understand zero-based indices through practical code examples.
Create a simple single-parameter method and call it to return an integer result. Explore arrow-bodied syntax, parameter handling, and type compatibility when adding or subtracting values.
Create a decimal-based method that accepts two decimal parameters and returns their sum using an expression-bodied member; then show calling it with a and b and define an average method that.
Learn to implement a void event handler that uses a switch on the button id detected from the sender, leveraging C# 7.0 features and string interpolation to display results.
Learn to create a tryDivide method in C# with three parameters (top, bottom, rounding) that returns a formatted string, handles division by zero, and uses Math.Round for flexible decimal results.
Create a C# division method using an out double quotient and boolean return to mimic try parse, returning true when bottom nonzero and quotient set, else false with quotient zero.
Explore how reference type variables work in C# with a person having multiple names, and how arrays pass references to a shared memory block.
Learn how to create and use local methods in C# to find the maximum of three doubles with a nested local function and stepwise comparisons.
Learn how to extend C# with Python using the dynamic keyword, IronPython, and a script engine to run Python expressions at runtime within a Visual Studio 2017 project.
Learn how to define and traverse two dimensional arrays in C#, using rows and columns, row and column indices, and nested loops to display elements with Excel-inspired intuition.
Learn to use C# string methods such as index of and contains to find substrings in a big text, determine the start index, and handle not-found cases with if-else.
Update Visual Studio 2017 to .NET Framework 4.7.1 by selecting individual components in the installer to add the targeting pack and software development kit. Close Visual Studio to complete.
Learn how to return multiple values from a single method using tuples in C# 7, with an example returning interest and final amount, and formatting currency in a financial app.
Define a C# Archer class with a private arrow count, implement a public constructor to initialize arrows, and provide a get arrow count accessor.
Demonstrate that each Archer object Bob, Jerry, and Amidala has a private instance variable copy of a short arrow count, set by the constructor and accessed via get arrow count.
Explore how view state preserves values between page loads by saving a variable with a key, then retrieving and casting it during subsequent loads.
Build a public Archer class and persist it with view state in an ASP.NET web form; mark the class serializable, store, retrieve, and fire arrows with zero-count protection.
Learn old style C# properties by building a circle class with a private radius and a public get/set property, including validation and circumference calculation using Math.PI.
Explore modern object properties in C#, using a square class with automatic properties, learn how to read side values, compute area, and refactor with a dedicated area method.
Model and interact with a person class in C#, using private fields, a constructor, a speak method, and a public age property, while exploring object instances and string interpolation.
Learn to reference a dynamic link library, access a namespace and static math class, and call the tax method to compute tax using the dot operator and decimal values.
Explore how virtual methods centralize life points display in the player base class, enabling archers and dragons to override get details with their own specifics. Override get details in the dragon and archer classes to show arrow counts and fireballs, reusing base details via base.getDetails for code reuse.
Centralize life points and details in a base player class to enable inheritance for Archer and Dragon, and implement class-specific methods like fire arrow and fireball.
Model a person with a single tuple backing field for first name, last name, and nullable age, then expose it through a compact C# 7 get/set property.
Explore abstract classes and abstract methods by implementing a shape hierarchy with squares and circles, computing area and perimeter using shape-specific formulas.
Implement an abstract circle class that inherits from a 2D shape, validates a positive radius, and overrides perimeter and area using pi in Visual Studio 2017.
Learn how polymorphism lets a single method summarize area and perimeter for any two-dimensional shape. From squares to circles, a base shape parameter enables cleaner, scalable code.
Explore interfaces in C# to group classes by behavior, implement the printable interface with print method, and use polymorphism to manage a list of printable objects like documents and people.
Implement IComparable from the .NET framework by building a Temperature class that implements CompareTo, handles object parameter conversion, and returns negative, zero, or positive values when comparing readings.
Explore indexers as indexed constructs that let you access objects in a list, override to string for meaningful output, and use polymorphism with monsters, orcs, and dragons.
Explore method overloading with four Parse overloads for the double struct, including string inputs, number styles, and an IFormatProvider, plus exception awareness.
Contrast how structs, as value types, copy on assignment, unlike arrays as reference types, which share memory; explore fields, properties, and behavior in memory using simple x value examples.
Learn to overload operators in C# by implementing a vector class with x and y, defining plus and minus operators, and overriding ToString for readable output in game development.
Learn how enumerations provide named constants with underlying data types, cast to numbers for calculations, and compute hours in a time period (week, year, leap year) with practical examples.
Connect methods to delegates to handle button and image click events in the .NET framework by wiring event handlers to events. Learn how event arguments, sender, and e shape responses.
Learn to create and use a generic method with a type parameter T, perform a swap, return a generic tuple, and demonstrate with int, decimal, and string types.
Explore a generic list class in C# by examining List<T>, its array backing, capacity handling, and interface contracts like IList and IEnumerable.
Demonstrate using the action delegate to represent method shapes, apply an action to each array element with a generic for each, and test with doubles and decimals.
Demonstrates finding the intersection of two lists using the intersect method on IEnumerable<T>. Shows converting the result to a list with ToList and iterating with foreach to process elements.
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.
Video Information:
1. These are straightforward coding videos
2. I explain things sometimes in excruciating detail
3. There are questions embedded throughout the videos
4. There is no talking head or fancy graphics
5. There are zips under lesson resources with the project files where needed
6. If you want to push your skills up, you have to type and run the code just as I do. Experience is the greatest and most effective teacher.
7. As you create the code, stop and ask yourself this question: can you make one meaningful change to the code to produce a new effect or to show something slightly different? If you do this repeatedly, even if slowly at first, your programmer's "brain" will grow much faster.
8. This course uses classic ASP.NET, and NOT MVC or anything like that where the templates are already very elaborate. My code is built from scratch, line by line.
9. For the hearing-impaired, closed-captions are added automatically. I do not have control over those, so they might not be perfect.
I'm the author of "Beginning C# Hands-On The Core Language" and "C# Hands-On The Advanced Features", both from PACKT.