
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Begin your C# master class by creating a Windows Forms application in Visual Studio, selecting the language and project template, and naming the project and solution.
Create your first C# Windows Forms project in Visual Studio and explore the Solution Explorer and folders, set a button text and font, and locate the output executable.
Explore creating a c# windows forms project by wiring a button to display a hello world message box, handling errors that prevent compiling, and adjusting font color.
Develop our first quiz game with random arithmetic problems under a time limit, generating numbers with the random class, triggering timer events, and controlling flow with false statements.
Design a maths quiz game interface in a Windows Forms project by configuring form size, borders, and controls such as labels and numeric up-downs, and arranging them with alignment guides.
Add the start button, apply camelCase naming for variables, set the button text to start the quiz, and adjust UI controls and positions for proper layout.
Design and code a simple game interface by creating objects with new, a randomizer to generate numbers with next, and display results in left and right labels.
Add a countdown timer to a C# form with a time left variable and a 1000 ms interval, updating the time label and showing time is up when it ends.
Implement a private boolean method to verify the user's answer by adding values and comparing to the numeric up-down control, then use the timer tick to show a congratulatory message.
Code the subtraction problem by generating random minus one and minus two values, compute their difference, and validate with the logical and operator to ensure both answers are correct.
Add multiplication and division problems by randomizing numbers, wiring the start button to generate problems, and validate answers in a C# Windows Forms quiz with timers and feedback.
Define threads as the execution path of a program and recognize that each thread creates a unique flow of control, enabling multi-threading to run lightweight threads concurrently.
Understand the thread life cycle by examining creation and started states, the ready and runnable phases, blocking by sleep or wait, and the final dead state.
Create a simple console app in Visual Studio that uses System.Threading to access the current thread, assign the main thread name, and print it to the console.
Explore thread properties to manage culture, execution context, and behavior. Learn to read or set current culture and current ui culture, and inspect is alive, is background, and thread state.
Create, manage, and destroy multiple threads and child threads in a C# program, invoking thread methods, starting threads, and printing console output from main and child threads.
learn how to manage threads using the sleep method to pause a thread for a set time. observe a thread resume after sleep and experiment with different millisecond durations.
Demonstrates destroying threads in C# with the abort method, which throws a thread abort exception that cannot be caught, transferring control to the finally block.
Learn to manage program flow with multithreading and synchronous processing in c# and the .net framework, using the thread class, synchronization, and context switching to keep apps responsive.
Learn to create and start new threads and call a thread method. Use thread join to wait for completion and understand foreground and background threads and basic priorities.
Explore background threads in C# by using the parameterized thread start overload to pass data, distinguish foreground from background threads, and control termination with thread abort.
Start a thread controlled by a stop boolean; it runs while stop is false, sleeps 2000 ms, and joins. Each thread has call stack and local variables, private to its thread.
Explore thread safety in C# by contrasting a shared static counter across two threads with per-thread data using thread local storage.
Explore thread local storage that initializes per thread and how the thread pool reuses threads to queue work, preventing server overload and managing resources.
Discover how tasks represent work that finishes and returns a result, and how the task scheduler and thread pool offload work from the user interface to keep the app responsive.
Explore continuation tasks in c# by chaining actions with continue with, handling exceptions, and attaching child tasks to a parent, so a final task runs only after all children finish.
Learn to use the parallel class for processing with Parallel.For and Parallel.ForEach, replacing loops when suitable, measure results to decide if parallelism helps, and understand Break and Stop via ParallelLoopState.
Learn how async and await enable asynchronous operations, returning a task object and allowing a continuation when an io operation finishes. The compiler turns async methods into a state machine.
Learn to implement async and await with an http client to download content from the web, returning a task to the caller and using continuations to shape the code flow.
Learn 3 tips for MCSD 70-483 exams: proper async use, avoid void returns, and when to use async and await to improve responsiveness and scalability.
Discover parallel LINQ (PLINQ) in C# to turn queries into parallel execution, using operators such as where, select, group by, join, order by, and controlling with execution mode and parallelism.
Explore how to write PLINQ in C# to run queries in parallel, preserve ordering with as sequential or ordered, use take and foreach, and handle aggregate exceptions.
Explore how the garbage collector manages memory in C# by handling the object lifecycle, distinguishing managed and unmanaged resources, and optimizing performance with generation zero and mark-and-sweep techniques.
Master SQL basics and advanced concepts across major relational DBMS using a three-step process, covering MySQL, MariaDB, SQL Server, Oracle, PostgreSQL, and more.
Explore why SQL is the standard language for relational databases, enabling data access, definition, manipulation, and the creation or dropping of tables, within popular apps and web platforms.
Install and configure XAMPP to set up a cross-platform web server with Apache and MySQL/MariaDB, and optionally enable FTP, Mercury Mail Server, and SQLyog for database management.
Use the control panel to start the Apache web server and the MySQL/MariaDB service, monitor the process ID and the default port 3306, and verify the server status.
Connect to a local MySQL server as root with an empty password in a test setup, create a new database via query or GUI, and inspect tables, views, and procedures.
Create a students table with id integer primary key not null and name varchar(30) not null, then include age, grade, degree; write and fix the create table query.
Learn how to drop tables with the drop table statement, verify results by refreshing and performing a select, then use insert into to add new rows to a table.
Learn how to use the insert into statement to add data to a table, specifying columns or omitting them to insert all values, and verify results by refreshing the table.
Create a new table from an existing one using a select statement, e.g., create table students2 as select * from students, copying all data to the new table.
Learn the basic semantics of the select statement by choosing columns from a table, with examples like select * from students and select name, AIDS from students.
Learn how to use the where clause to filter records, such as selecting name and AIDS from students where AIDS equals 10, with quotes for strings.
Learn to filter student data with sql operators, using greater than, less than, and equal to variants, and combine conditions with and or for precise queries.
Learn to use the update query to modify records, set new values with the set clause, and filter rows with a where condition, shown by updating a student's name.
Learn how to use the delete statement to remove specific records with a where clause or delete all records with delete from table, and refresh results in a SQL editor.
Use the like operator with wildcards to filter data by name patterns, such as %MAL% to contain MAL and Greece% to start with Greece.
Explore how to limit query results using top, limit, and Oracle approaches, with examples from SQL Server, MySQL, and Oracle showing top three, limit three, and Oracle's method.
Learn how the order by clause sorts query results in ascending or descending order using one or more columns.
Learn how the group by clause works with the select statement to group identical data, followed by the order by clause; see examples by name and summing ages.
Learn how the distinct keyword eliminates duplicate records with select distinct to return only unique values. Apply this to a students table to list unique names and avoid duplicates.
Explore delete from students, truncate table, and drop and recreate tables to manage data and structure, with a basic overview of sql concepts and application integration.
Discover variables as storage locations with symbolic names that hold values and can change during runtime, enabling references to data and basic assignment in programming.
Explore core data types and value types, including boolean, integer, character, floating point, double, and string, with memory allocation, type systems, and assignment versus equality.
Master how variables store and update data while applying arithmetic, relational, and logical operators to build expressions, compute remainders, concatenate strings, and evaluate boolean results.
Explore conditional logic with if statements to direct program flow based on boolean conditions, using if, else if, and else in practical examples like a calculator.
Learn how loops execute statements repeatedly using while and do-while forms to print hello world five times and control loop conditions.
Explore how arrays simplify storing many integers by using a single-dimensional array, indexing elements from 0 to size-1, initializing and accessing values, and printing them with loops.
Explore two-dimensional and three-dimensional arrays and how they extend one-dimensional arrays. Understand indices, size, and length while modeling data such as classes and schools.
Explore two-dimensional arrays in C# by indexing rows and columns, use a rating matrix to illustrate reviewers and movies, and cover out-of-bounds handling and type consistency.
Define functions as reusable code blocks that take input and return output. Learn about function headers, return types, parameters, and built-in versus user-defined functions.
Learn file input and output, including reading from and writing to files. See common modes like read, write, append, and read and write, with C++, Java, and Python examples.
Explore how object oriented programming centers on objects with data attributes and methods, how objects interact, and how analysis, design, and programming map to object models and inheritance.
Objects are instances of classes, which define data and methods in object oriented programming; this paradigm uses objects with state and behavior, such as a circle with coordinates and radius.
Explore methods in object oriented programming, including class variables, instance variables, member variables, and class and instance methods, with clear definitions and distinctions for practical use.
Encapsulation binds data and the functions that manipulate it to protect against external interference; data hiding uses public and private access to expose data only via methods.
Explore method passing and dynamic dispatch as objects communicate via message passing, using directional calls and multiple dispatch across object types.
Explore inheritance and object composition in object-oriented programming by extending base classes into derived subclasses, using single, multiple, multilevel, hierarchical, and hybrid inheritance, and leveraging methods and attributes.
Learn polymorphism, where subtyping lets code treat different shapes and animals uniformly; see circle and square compute area differently under a common interface.
Explore generalization and specialization, forming higher-level superclasses from shared traits and creating specialized subclasses. Use is-a relationships, like car as a kind of land vehicle, to guide design.
Explore links and associations in object oriented design, defining a link as an instance of an association and detailing one-to-one, one-to-many, and many-to-many cardinalities.
**** This course contains pretty much everything you need to pass the exams. ****
This course is designed to get you ready to take and pass any Microsoft 70-483 C# Exams!
This course includes also an overview of the Microsoft 70-483 C# Exams methodology used in a programming environment.
The majority of people that consider C# Programming as a qualification do so for career and personal development reasons.
*** I am excited to start this C# journey together! ***
Microsoft is considered to be the No1 certification program that will boost your career.
**** Become a C# Programmer and learn one of employer's most requested skills of 2020! ****
Whether you have never programmed before, already know basic syntax, or want to learn about the advanced features of C# , this course is for you! In this course we will teach you C#.
This course will teach you C# in a practical manner, with every lecture comes a full coding screencast! Learn in whatever manner is best for you!
This course comes with a 30 day money back guarantee! If you are not satisfied in any way, you'll get your money back. Plus you will keep access to the Notebooks as a thank you for trying out the course!
So what are you waiting for? Learn C# in a way that will advance your career and increase your knowledge, all in a fun and practical way!