Introduction to C# and .NET
- The .NET Framework and .NET Core
- Compilation, the Common Language Runtime, and the Common Type System
- What is C#?
- Top-level statements
- Namespaces and using directives
- Navigating Visual Studio and basic debugging
Working with variables and data types
- Comments and identifiers
- Variables, built-in data types, and strings
- Value types vs reference types
- Scope and access modifiers
- Operators, parsing, and casting
Creating and using functions
- Code blocks and syntax basics
- Defining and calling functions
- Parameters and return types
- Method overloading
- Expression-bodied methods
Flow control
- If statements
- Switch statements and switch expressions
- Ternary conditional operator
Arrays, loops, and collections
- Arrays and looping constructs (for, foreach, while, do-while)
- Generic collections: List and Dictionary
- Collection operators
Introduction to unit testing
- Purpose and benefits of unit testing
- The green-red cycle
- Unit testing best practice
- Arrange, Act, Assert methodology
Object-oriented programming fundamentals
- Why object orientation matters
- Four key concepts overview
- Classes, instances, abstraction, and encapsulation
- Value vs reference type behaviour
- Null references
Methods, properties, and constructors
- Static vs instance methods
- Properties with backing fields
- Auto-implemented and calculated properties
- Accessing properties
- Object initialisers and the ‘this’ keyword
Exams and assessments
There are no formal exams for this course. Learners will complete practical coding exercises and interactive challenges to reinforce learning and assess progress.
Hands-on learning
This course includes:
- Instructor-led demonstrations of coding concepts
- Guided coding exercises to build working C# applications
- Hands-on practice with unit testing techniques
- Realistic programming scenarios to apply learned concepts