C# Practical courses

Hochschule der Medien Hochschule Esslingen Agfa Kopie Turck Freenet Gothaer HUK COBURG PTB

CUSTOMIZED C# TRAINING

Does your team regularly work with the C# programming language? If so, we have just the thing for you! Customized training courses are also available for C# users and programmers. Get the most out of your projects. Thanks to individual modules, your development team can receive personalized training.

We are sure to find the optimal combination for your team's needs. Bring all your questions. We are happy to take the time to advise you individually.

All courses live

In the Academy or online

Your Team Benefits at a Glance

  • Customized Topics

  • Flexible Dates and Training Formats

  • Experienced Trainers

  • Certificate for Active Participation

  • Learning Material

  • Practice-oriented, Compact and Lively

C# topics and modules

Just to clarify upfront: Any topic can be explored in depth as per your request. Your needs take precedence. You decide what your team needs. We create the concept. If your team just wants an overview, then you can choose quite a lot of topics. However, it will likely be difficult for the team to put into practice what they have learned afterwards.

So, if you want to work with C# seriously and professionally, then, based on our experience, it is better to select fewer topics and discuss them in depth during the training and conduct sufficient practical workshops. In fact, "less is more!" here. We can best identify the topics that are goal-oriented for your team and your projects together in a consultation.

We don't preach theory, we solve problems! Get the maximum knowledge for your team. Compile the topics according to your previous knowledge and needs, depending on the project. Because individual learning brings the desired success!

C# Basics

Here, the basic language elements and concepts of the C# programming language are treated in a practical, compact and lively manner. The theory is optimized to the essentials, varied examples and tasks that increase in difficulty make the introduction to C# not only easy, but also very exciting. With a lot of fun you will enjoy your first sense of achievement and afterwards you will be able to program small C# programs consisting of several classes. Here you will master the most important basics of C# and C# development environments.

The C# Basics module includes the following focus areas:

  • C# development environments: .NET
  • Introduction to .NET (CLR and BCL)
  • Data types and operations
  • OOP Pillar I: Encapsulation Principle, Classes and Objects
  • Control Flow: Conditions and loops
  • Constructors and methods
  • Structs, enums, arrays
  • OOP Pillar II: Inheritance and abstract classes
  • OOP Pillar III: Polymorphism and Interfaces
  • Collections I: List, Queues, Stacks, and Set
  • Collections II: Dictonaries, Customizable Collections, and Proxies
  • Exception handling (error handling)

Advanced C# topics

Only with the topics of this module you can successfully realize and implement demanding programs and projects in C#.

The Advanced C# topics module includes the following focus areas:

  • Lambda Expressions
  • LINQ Queries
  • LINQ Operators
  • LINQ to XML
  • XML und JSON data formats in C#
  • REST/JSON
  • Streams and Input/Output: I/O
  • Networking
  • Databases and C#
  • Assemblies
  • Reflection and Metadata
  • Dynamic Programming
  • Cryptography
  • UI with XAML
  • Layouts & Events
  • Regular Expression
  • Concurrency and Asynchrony
  • Parallel Programming
  • Advanced Threading
  • Native and COM Interoperability

Effective C#: Clean Code and Unit Test

This is the top class module! Your team has very good and solid C# knowledge, can implement industrial and demanding projects in C#?

Yet errors and bugs are piling up? Your team spends more time debugging and correcting than developing more features? Every new requirement becomes a challenge? A small change in one place causes code to break in other places? The team has many quality discrepancies? Only a few people know code very well, so the whole project depends on them? Worse, these experienced people are unhappy? Because they have to be permanently available even on vacation and have to jump in every time a new bug occurs?

It is exactly in such cases that it makes sense for your entire C# team to master the art of writing Clean Code and Clean Unit Test and put it into practice in their daily work. As a result, the code is permanently improved and more understandable for all team members, code quality and productivity increase. Because if every developer produces above-average code, the quality of the code improves from day to day. As a positive side effect, this makes it easier for new employees in your team to get started and familiarize themselves with the code base.

With Clean Code and Clean Unit Test, your team produces effective C# code, high-quality code that is easy to extend, test, and understand, and can respond quickly to new requirements. Your team's productivity and quality, as well as your customers' satisfaction, increase when you can meet deadlines, deliver stable software, and set certain quality standards in the process.

The Effective C#: Clean Code and Unit Test topics module includes the following focus areas:

  • How can I recognize bad code?
  • Clean Code and Risk Management
  • SOLID and OOP Code Principles
  • Clean Code Rules for names, comments, functions
  • Clean Code rules for classes, objects, data structures
  • Clean Code rules for exception handling
  • Functional programming in C#
  • Functional programming in C#
  • Effective C#: Best Practice
  • .NET Core Unit Testing: MSTest, NUnit, xUnit
  • NUnit Foundation: Annotation, Assertion, Parameterized Test
  • Finding test data: Equivalence classes and boundary data test
  • Naming test methods
  • Test Driven Development (TDD)
  • Test Double techniques: Mocks, Fakes, Stubs, and Dummies.
  • Mocking Frameworks: Moq Framework

Object orientation, design and architecture

While the topics in the Effective C# module ensure that your team can write classes with structured and good code and thus produce above-average quality, the focus in the OOP, Design and Architecture module ensures that the relationships between the various classes and the design remain agile and flexible, so that new requirements, that are not quite compatible with the design can still be implemented correctly, well and quickly with manageable effort, by allowing your team to apply proven software architecture solutions such as design patterns as well as very effective object-oriented design principles such as SOLID, dependency inversion, hexagonal architecture or even microservices here.

The topics in this module should not only be mastered by every good software architect, but also by every C# software developer, because with them every developer is able to understand the interfaces to other classes as well as the software architecture and to adapt and extend it if necessary. The topics in this module round out and effective C# best practices and rules and significantly increase the productivity and quality of your team.

The Object orientation, design and architecture module includes the following focus areas:

  • Basic concepts of object orientation
  • Inheritance, abstract classes and interfaces
  • Practice-relevant software architecture
  • Entwurfsmuster (Design Patterns) in C#
  • Designing, structuring, and implementing large projects:
  • SOLID
  • GRASP
  • Architectural styles, hexagonal architecture
  • Microservices in C#
  • Behavior Driven Development (BDD)

Working with legacy code in C#

Do you need to understand a complex C# code base without a test suite and implement further requirements based on it? Your team doesn't dare to change the existing code because side-effects can occur, the changes may affect other modules and cause errors in other places? In other words, you need to work with C# legacy code and want to learn the best strategies and techniques to first build a safety net so that you can gradually understand the existing code and refactor it into clean code? Then this module contains the right focus for you! Having to understand and work with an old complex code base without a test suite is by far the most unpleasant thing software developers have to deal with on a daily basis. But not if you have mastered the techniques for working with legacy code. With the appropriate know-how and practical best practices, this challenging task becomes one of the most interesting tasks.

The Working with legacy code in C# module includes the following focus areas:

  • Safeguarding tests
  • Incremental improvement of code and tests
  • Seams and their specifics in C#
  • Refactoring patterns for legacy code

Working effectively as a team

These modules cover techniques that help make teamwork more productive and improve the quality of the resulting software.

The Working effectively as a team module includes the following focus areas:

  • Version control (Git)
  • Docker
  • Continuous Integration (CI)
  • Workflows: Issue Tracking, Pull/Merge Requests
  • Example: working with a local GitLab instance in Docker
  • Kubernetes
  • Elasticsearch/Kibana (OpenSearch/Dashboards)

EXAMPLES: CUSTOMIZED C# COURSES

The following examples show how some courses can be structured for typical customer requirements.

Example 1: Modern C#

You are starting a C# project, but some of the team members have knowledge of Java or C++, but not C#. To get these team members to a level where they could productively work on the code base, a course with the following modules would be appropriate:

  • Introduction to .NET Framework
  • Date types and operations
  • Variables and Properties
  • Classes and Objects
  • Arrays, Enum and String
  • Methodes and control flow
  • Abstrakt Classes and Interfaces
  • Data Structure: List, Map
  • Lambda Expressions
  • LINQ, REST/JSON
  • Concurreny and Asynchrony

Example 2: Clean Softwarearchitektur in C#

You are a team of experienced developers for whom neither the C++ programming language itself nor the basics of object orientation are new territory. But you want to better structure the large software project you are currently working on and prepare it for future requirements. Then the following modules might be right for you:

  • Practice-relevant software architecture
  • Design patterns in C#
  • Designing, structuring, and implementing large projects:
  • SOLID
  • GRASP
  • Architectural styles, hexagonal architecture

YOUR TRAINERS

Dr. Max Meier
Dr. Max Meier

Expert: .NET/C#, Software Architecture, Microservice

Dr. Willhelm Berghorn
Dr. Willhelm Berghorn

Expert: C++, C#, JavaScript, ReactJS, Clean Code

Allaithy Raed
Allaithy Raed

Expert: Java, Python, Clean Code, Unit Test, Clean Design

Questions and answers about C# trainings

What course formats are available?

3-day on-site course at the Coding Academy

The course takes place in our modern and top-equipped training rooms. We provide each participant with a modern laptop during the training. Drinks are provided by the Coding Academy. You will receive access to the materials no later than the first day of the course.

3-day in-house training on-site at your location

Our trainers are also happy to come to you if this is expressly desired by you and you have a good training room and the necessary infrastructure for the training.

3-day online course

The course takes place online. All you need is a computer with internet access; however, for some courses, it may be necessary to install the software used; this is indicated in the description of the respective course. You will receive access to the materials no later than the first day of the course.

4-Week Training Program

A new and innovative learning concept. You can find more information about the 4-Week Training Programm here.

What is the formal process (ordering, training, invoice)?

  • If you are interested in a training course, it is best to contact us so that we can clarify the technical topics.
  • If you would like to take the training course with us, we will be happy to send you a non-binding offer.
  • If the offer suits you, please accept it (a short confirmation by email is sufficient).
  • If you need an order confirmation, we will be happy to send it to you.
  • Afterwards, we will find a date that fits well for your team.
  • For online training, we will provide you with the link: MS-Teams, BBBServer, or Zoom.
  • A few days after the training, you will receive an invoice with a payment term of two weeks.
  • Upon active participation in the training, participants will receive their certificates by email afterwards.

Do graduates of the C# courses receive a certificate?

Of course, as a participant in a C# course, you will receive a certificate. The prerequisite for this is full participation in all course units and programming tasks, and the successful programming of a small final project. However, after an intensive C# course, this will certainly bring you more joy than stress.

What distinguishes courses at the Coding Academy?

  • Individual: We specifically address your needs and take into account your previous knowledge, desired topics, and focus areas.
  • Developed by experts using the RAED teaching method®
  • Compact, lively, and entertaining
  • Structured and easy to understand
  • A lot of practice: You can immediately apply the knowledge learned in the course.
  • Theory optimized to the essentials
  • Many examples and tasks, the difficulty of which increases linearly
  • Small groups: max. 8 participants in the 3-day course; max. 15 participants in online coaching
  • Highly qualified trainers with up to 30 years of experience in industry and teaching at German universities and colleges
  • For on-site trainings, we provide modern laptops to the participants at no additional cost.

Customer Testimonials

We thank our customers for their trust. 

When our employees ask me about training courses in the field of coding and clean code, there is now only one contact name and that is of course you: the Munich Coding Academy! In your courses you have scored with a super performance and great communication, our employees are happy and learn a lot, it could not be better!

Herr Tim Stuckmann,
VW

Astrid Elbe 02 lrg web

My joint projects with the Coding Academy have been very successful and absolutely reliable. The course catalog includes the programming languages that are currently most relevant in companies. The courses on improving software quality and productivity are particularly noteworthy. I can recommend the Coding Akademie as very competent, flexible and professional.

Dr. Astrid Elbe,
Vice President Aviat Networks und ehemalige Managing Director Intel Labs Europe

NO QUESTION REMAINS UNANSWERED HERE!

We are very happy to take time for you. Use our contact form for a written contact. Our team will respond quickly and within 24 hours at the latest. In case of technical questions and to clarify the focal points, which are target-oriented for your team, please use the possibility of a non-binding consultation appointment.