C# The programming language Fundamentals

C# The programming language Fundamentals

Course Summary

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.

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

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

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

No

This course is delivered by QA.

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

Course Overview

26 950 kr

3 days

Can’t find a (suitable) date, but are interested in the course? Send in an expression of interest and we will do what we can to find a suitable opportunity.

Customized Courses

The course can be adapted from several perspectives:

  • Content and focus area
  • Extent and scope
  • Delivery approach

In interaction with the course leader, we ensure that the course meets your needs.

Skicka intresseanmälan för utbildningen

Send an expression of interest for the training