Overview
This five-day course provides an end-to-end learning journey through the C# programming language, from the fundamentals of procedural coding to advanced object-oriented techniques and data handling. Designed to prepare developers for creating robust, maintainable applications in the .NET Framework and .NET Core, the programme covers console applications, class libraries, unit testing, and database-first development using Entity Framework. Learners start with the essential syntax, structures, and object-oriented principles before progressing into inheritance, interfaces, delegates, LINQ, and exception handling. The course blends lectures, demonstrations, and hands-on exercises, ensuring participants gain practical experience at every stage. By the end of the week, learners will be ready to apply their skills to professional .NET development projects.
Prerequisites
Learners should have:
- Some prior exposure to programming concepts (equivalent to QA’s Programming Foundations course)
- Basic familiarity with using an IDE such as Visual Studio
- No prior object-oriented programming experience is required for the foundations section, but learners should be prepared to progress to more complex concepts over the week
Target audience
This course is designed for:
- Developers new to C# who want to progress quickly from the basics to more advanced topics
- Professionals building .NET applications who need a comprehensive, intensive introduction to C#
- Individuals seeking to consolidate and extend their programming skills in a structured progression
Learning Objectives
By the end of this course, learners will be able to:
- Write C# code using sequence, selection, and iteration constructs
- Declare and manage variables, data types, and operators effectively
- Create and use classes, structures, and methods with appropriate access modifiers
- Apply object-oriented principles including abstraction, encapsulation, inheritance, and polymorphism
- Implement and consume abstract classes and interfaces
- Work with generic collections and use lambda expressions
- Create and use delegates, including built-in delegate types
- Connect to databases using Entity Framework in a database-first approach
- Query and manipulate data using LINQ
- Implement robust exception handling with custom exceptions
- Apply unit testing principles to ensure code quality and maintainability
Course Outline
Day 1 – C# foundations
- Introduction to .NET and C#
- The .NET Framework and .NET Core
- Compilation, the Common Language Runtime, and the Common Type System
- Top-level statements, namespaces, and using directives
- Navigating Visual Studio and basic debugging
- Variables and data types
- Comments, identifiers, built-in data types, and strings
- Value types vs reference types
- Scope, access modifiers, operators, parsing, and casting
- Code blocks, parameters, return types, overloading, and expression-bodied methods
- Functions and syntax
Day 2 – Flow control, collections, and testing
- Flow control
- If statements, switch statements, switch expressions, and the ternary operator
- Arrays and loops
- for, foreach, while, and do-while loops
- Generic collections: List and Dictionary
- Collection operators
- Purpose and benefits of unit testing
- The green-red cycle and best practice
- Arrange, Act, Assert methodology
- Introduction to unit testing
Day 3 – Object-oriented programming principles
- Why object orientation matters
- Four key concepts: abstraction, encapsulation, inheritance, polymorphism
- Classes, instances, and object references
- Value vs reference type behaviour and null references
- Methods, properties, and constructors
- Static vs instance methods, auto-implemented properties, calculated properties, object initialisers, and the ‘this’ keyword
Day 4 – Advanced object-oriented techniques
- Inheritance and abstract classes
- Virtual members, overriding, invoking base class functionality, and casting types
- Interfaces
- Creating, implementing, and using multiple interfaces
- Applying polymorphism with interfaces
- Understanding delegates, built-in delegate types (Func, Action, Predicate), and lambda expressions
- Combining delegates and lambdas in practical examples
- Delegates and lambdas
Day 5 – Data access, LINQ, and exception handling
- Database access with Entity Framework
- ORM concepts, database-first vs code-first
- Models, contexts, connection strings, querying, updating, and configuration
- IEnumerable vs IQueryable
- Language Integrated Query (LINQ)
- Syntax, projections, joins, aggregations, deferred vs immediate execution, let clause, and OfType method
- LINQ best practices
- try, catch, finally, throw, execution flow, custom exceptions
- Creating robust applications with structured error handling
- Exception handling
Exams and assessments
There are no formal exams for this course. Learners will complete practical coding challenges, guided exercises, and unit tests to reinforce learning and measure progress.
Hands-on learning
This course includes:
- Guided coding exercises for both foundational and advanced topics
- Practical implementation of object-oriented patterns
- Building and querying databases with Entity Framework
- Writing and executing LINQ queries
- Applying structured exception handling to real-world scenarios
Frequently asked questions
How can I create an account on myQA.com?
There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.
If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".
If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.
Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.
How do QA’s virtual classroom courses work?
Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.
We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.
How do QA’s online courses work?
QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course.
Once you have purchased the Online course and have completed your registration, you will receive the necessary details to enable you to immediately access it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.
All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.
When will I receive my joining instructions?
Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.
When will I receive my certificate?
Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.