
Download files here
Trace the shift from DOS to Windows and the rise of dot net as a unified runtime that abstracts the Win32 API, enables multiple languages, and simplifies deployment with assemblies.
Explore a layered architecture in .NET, where each layer abstracts the one below it, with windows at the foundation and .NET programming languages on top.
Explore the dot net architecture layers, including the common language runtime, the base class library, languages, and assemblies; learn about just-in-time compilation and Visual Studio templates for Windows and web.
Explore the flexible .NET architecture, supporting diverse applications through a layered design and interchangeable parts, with C# granting access to every part of the .NET platform.
Explore building dotnet applications with command line compilers and plain text editors like notepad, and learn how to locate the dotnet compiler after installing Visual Studio or dotnet framework SDK.
Open the Visual Studio developer command prompt to access the .NET SDK tools and compile C# from any folder, then write a hello world in Notepad and build it.
Builds a simple .NET C# application by defining a public static void main method inside a class, using braces, comments, and Console.WriteLine to display Hello world.
Learn how the using statement can cause ambiguity when multiple namespaces contain the same class, triggering a compile time error unless you specify a single namespace for the class.
Explore how the dotnet framework disassembles managed code to reveal IL and assembly metadata, and compare IL with C# using a hello world example.
Explore why you rarely need to worry about intermediate language, while understanding what's happening behind the scenes to use C# and .NET more effectively; an IL understanding helps solve problems.
Explore how C-Sharp integrates strong typing, garbage collection, and object-oriented design to support robust, portable applications across hosted and embedded environments.
Explore Microsoft's C# runtime environment and tools, compare them with other implementations, and note implementation-specific differences as the cross-platform .NET ecosystem matures with open-source projects.
Download files here
Explore Visual Studio profiles, including built-in language profiles, and learn to export, import, and reset settings via the import/export wizard, while evaluating login benefits for cross-machine consistency.
Customize your Visual Studio setup to fit your workflow by exploring keystrokes and settings. Experiment with different combinations to find the configuration that works best for you.
Explore how to use Visual Studio to scaffold a simple hello world console application, highlighting key IDE features and a guided step-by-step build process.
Explore docking and layout options in Visual Studio and learn how to reset the window layout to the default, restoring the environment while noting that you'll lose customizations.
Identify and include the assembly that contains the System namespace, the root of the .NET Framework, and use Visual Studio to inspect and manage references.
Explore the solution's references and the reference manager, then use the object browser to navigate namespaces like system.io, inspect methods and overloads, and leverage intellisense for code creation.
Explore Visual Studio features like Intellisense that help you write quality code and learn about objects beyond properties. Microsoft expands these capabilities with each version, though pop up windows clutter.
Learn how to build and run a C# application by compiling into an executable, including intermediate language code and metadata, checking compiler flags and syntax errors, and verifying behavior.
Save changes to see green indicators, then build the solution to compile and use the output window for errors, while managing debug and release configurations for deployment.
Experience a complete integrated development environment with tools to write code, build project assemblies, and debug the application. See immediate problem information and how Visual Studio tools outperform plain editors.
Download files here
Diagnose syntax, runtime, and logic errors using Visual Studio, build a console app, and use input, conversion to int32, and if-else to determine if a user is a teenager.
Debug with Visual Studio by introducing intentional errors, using IntelliSense and the error list to locate undeclared variables, scope issues, and fix warnings efficiently.
Set breakpoints to pause execution at a location, enabling debugging of runtime problems in Visual Studio and inspecting variable values, calculation results, data reads, writes, and flow.
Explore Visual Studio debugging tools to move through code using breakpoints. Run the program at full speed to the suspected problem location, then identify and fix the issue.
Learn to identify and fix runtime errors using Visual Studio tools that help locate problems during application execution.
Learn to use Visual Studio to locate and resolve runtime errors, manage breakpoints, handle invalid user input with try-catch-finally blocks, and understand format exceptions and robust error messaging.
Explore why Dot Net languages raise exceptions as a mechanism, making errors impossible to ignore and enabling structured exception handling, easy to maintain, clear improvement over languages that lack support.
Download files here
Explore the anatomy of a C# program with a Hello World example, highlighting namespaces, using directives, the program class, and the console entry point.
Explore the anatomy of a C# program, including the program class, namespace, and main method as the static entry point. Understand static, void, and string[] args for console apps.
Understand how a c# program starts by finding a class with a static main method that accepts string[] args, then writes to the console and waits for a keystroke.
Explore how a console application uses a Visual Studio project template, revealing the project folders and files beyond the hello world code and why a full solution structure matters.
Explore how Visual Studio Solution Explorer reveals a dotnet project's structure, including the properties/assembly metadata, references, App.config, and the csproj file, with navigation tips for large code files.
Explore how variables power C# applications by writing code built from statements and expressions. Learn how different statements perform functions and how expressions yield values from variables, literals, and operators.
Explore how C-Sharp statements and expressions work, including declarations, initialization with the var keyword, embedded statements, and blocks, with a practical example calculating the hypothenuse via the Pythagorean theorem.
Explore the subtleties of expressions in C#, noting that assignment expressions have values and can affect code flow. Use expressions judiciously for terse, efficient code while avoiding unmaintainable cleverness.
Explore the basics of C-Sharp syntax and its structural elements that help you write well-crafted code, following the rules of modern programming languages.
Learn how to use C# comments—single line and block—to document code, comment out sections, and manage development tweaks, while understanding nesting limits and picking a readable style.
Explain how whitespace between tokens affects readability and compiler parsing in C# statements. Demonstrate readable formatting, including line breaks, alignment, and when single-line versus multi-line statements are valid.
Discover how whitespace enhances readability in C# code, and why the compiler strips extra spaces. Follow readable formatting and personal style choices to keep code maintainable for others.
Learn how the #define preprocessing directive creates compilation symbols that control code inclusion without values. Use symbols to build debug and release builds and enable free or paid features.
Define and manage compilation symbols in Visual Studio to control debug and trace behavior. Use #define, #undef, #if, #else, and #region to conditionally compile code and collapse regions.
Explore C# preprocessor directives, including #line to adjust file and line information and #pragma to suppress warnings. Use these esoteric tools to manage complexity and organize code as projects grow.
Download files here
Learn how the var keyword enables implicitly typed variables, why explicit typing improves readability, and how variable lifetime and scope affect memory, static methods, and class design in C#.
Identify that every piece of information has a type that defines how data is stored, used, and displayed. Recognize how different kinds of data flow through programs.
See how C# uses static typing and optional dynamic typing. Explore types from byte to decimal and bool within the dot net framework, including ranges, storage, and defaults.
Explore the rich variety of integer data types in C# and .NET, and learn to choose the right type for your needs by using each type's unique features.
Download files here
Compare the float, double, and decimal data types, noting precision and memory trade-offs for financial calculations and numeric work, and learn to use the M suffix and common decimal methods.
Explore the two main character data types, char and string, in C#, and learn how to store usernames, passwords, and address information as textual data.
Learn string handling in C# 6, including double quotes, escaping, and verbatim strings with @, plus how booleans and object types relate to value and reference types.
Avoid using the object type for variables; it slows data access and type checks. Use object only when you must store different value types in a single variable, rarely needed.
Explore constants, enumerations, and structures in C# 6 fundamentals to store unchanging values, define fixed sets of values, and build flexible custom data structures.
Explore constants versus variables, the use of enums to restrict values, and define structures for grouping related data, including the complex number type for immutable calculations.
Explore how to go beyond built-in C# data types by leveraging the .NET Framework's additional features to handle data and meet complex requirements.
The Programming C# 6: Fundamentals course covers everything to enable the students to get started with C# and Visual Studio. The course begins with basic compiling of a console application and moves on to the fundamentals of working with strings and numeric values. The course gives the students basic understanding to execute functionality provided in 3rd party libraries as well as to create their own methods. Classes, including class methods and properties are also introduced in this course. The course also provides an opportunity to learn about handling the exceptions and class libraries.
This course teaches the students to develop the essential programming skills that are required for developers to create Windows applications using the C# language. During this course, the students learn the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge as they build a real-world application. The Programming C# 6: Fundamentals course covers everything to enable the students to get started with C# and Visual Studio. The course begins with basic compiling of a console application and moves on to the fundamentals of working with strings and numeric values. The course gives the students basic understanding to execute functionality provided in 3rd party libraries as well as to create their own methods. Classes, including class methods and properties are also introduced in this course. The course also provides an opportunity to learn about handling the exceptions and class libraries.
This course teaches the students to develop the essential programming skills that are required for developers to create Windows applications using the C# language. During this course, the students learn the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge as they build a real-world application.