This course provides a complete introduction to C# and .NET, starting with programming basics, Visual Studio setup, and best practices. You’ll learn core C# syntax, debugging, GitHub usage, and key concepts like operators, conditionals, loops, error handling, and string manipulation. As you advance, the course covers methods, arrays, collections, and object-oriented programming, along with tools like Maven and Gradle to improve workflow. By the end, you’ll be equipped to build and deploy dynamic, scalable applications using C# and .NET for modern software development.
Who should take this course?
This course is ideal for developers, software engineers, and students who want to learn the latest features of C# 12 and .NET 8. It’s perfect for those looking to build modern, scalable, and high-performance applications using the latest Microsoft technologies.
What you will learn
Master the basics of C# programming and .NET framework.
Utilize operators, conditional and repetition statements in C#.
Perform string and DateTime manipulations.
Create and use methods, arrays, and collections.
Apply object-oriented programming principles using C#.
Work with Maven and Gradle for project management.
Course Outline
Introduction to Programming with C#
Introduction
What is Programming?
What are C# and .NET?
Best practices
Development Environment Setup
Section Overview
Install Visual Studio 2022 Community Edition
Visual Studio 2022 Community Edition Tour
Introduction to Visual Studio Code and .NET SDK
Install Visual Studio Code and .NET SDK
Visual Studio Code Tour
Basic C# Syntax
Understanding C# Syntax and principles
Top level statements
Producing output to users
Understanding datatypes and variables
Using variables - Part 1
Using variables - Part 2
Receiving input from users
Coding Exercise: Completing a full program
Section Review
Introducing GitHub
Introduction to GitHub
Create GitHub Account
Commit and push code to GitHub (Visual Studio)
Commit and push code to GitHub (Visual Studio Code)
Next Steps
Debugging and Troubleshooting Techniques
Section Overview
Improve Existing Program
Explore Syntax Errors
Explore Logic Errors
Using Breakpoints
Using Variable Watch
Section Review
Operators in C#
Section Overview
Arithmetic Operators
Basic Math Operators
Logic Operators
Basic Logic Operations
Assignment Operators
Basic Assignment Operations
Code Review and GitHub Commit
Section Review
Conditional Logic in C#
Section Overview
Why Use Conditional Statements
Simple If Statements
If...Else If...Else Statements
Complex Conditions with AND and OR
Ternary Operators
Switch Statements
Understanding Variable Scope
Coding Exercise - Functional Calculator
Code Review and GitHub Commit
Section Review
Mastering Repetition in C#
Section Overview
Why Use Repetition Statements?
For Loops
While Loops
Do...While Loops
Important Theory and Keywords
Coding Exercise - Enhancing the Calculator
Code Review and GitHub Commit
Section Review
Error and Exception Handling in C#
Section Overview
What Are Exceptions?
Introducing the try..catch
Using the try...catch block
Coding Exercise - Add Exception Handling to the Calculator - Part 1
Coding Exercise - Add Exception Handling to the Calculator - Part 2
Code Review and GitHub Commit
Section Review
Mastering String and DateTime Manipulation in C#
Section Overview
Why Are Strings So Special?
String Initializations and Uses - Best Practices and Techniques
String Manipulation Methods
Understanding Date and Time Types
Explore DateTime Manipulations
Explore DateTimeOffset and TimeZones
Exploring DateOnly and TimeOnly
DateTime Comparisons (Logic)
Coding Exercise - User Information Collection
Code Review and GitHub Commit
Section Review
Unleashing the Power of Methods in C#
Section Overview
What Are Methods?
Void Methods
Value Returning Methods
Method Parameters - Required
Method Parameters - Optional and Nullable
Coding Exercise - Adding Methods to the Calculator
Code Review and GitHub Commit
Section Review
Navigating Arrays and Collections in C#
Section Overview
Why Do We Need Collections?
Arrays
Lists
Generic vs. Non-Generic Collection Types
Coding Exercise - Using Lists and Arrays
Code Review and GitHub Commit
Section Review
Object Oriented Programming (Classes and Objects)
Section Overview
What is Object Oriented Programming?
What are Classes?
Creating Classes
What are Objects?
Using Objects
Constructors
Method Overloading
Inheritance
Abstract Classes
Interfaces
Working with Namespaces
Partial Classes
Static Classes
Additional Access Modifiers
Additional Concepts
Coding Exercise - Modifying User Input Demo - Part 1
Coding Exercise - Modifying User Input Demo - Part 2