MA-2039: Intermediate C#

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

Welcome to the Intermediate C# Programming Course, tailored for seasoned developers eager to refine their C# and .NET framework skills. This comprehensive training dives into the more complex aspects of C# application development, preparing you to tackle advanced challenges with ease.

Throughout the course, we will explore sophisticated programming concepts and techniques with a focus on high-performance and robust application development. You will learn about advanced user interface design, effective data management with ADO.NET, and how to fully utilize the Entity Framework for enhanced data operations.

Our interactive sessions blend expert instruction with hands-on labs, ensuring a dynamic learning experience that fosters practical skills and deepens your programming knowledge.

By mastering these advanced elements, you will be equipped to develop cutting-edge applications that adhere to industry standards and respond to the evolving demands of the tech industry. Join us to elevate your C# proficiency and achieve new heights in your programming career.

This course is designed to take developers to the next level of C# by learning new features and filling the gaps. We will also revisit a number of very important concepts to ensure a solid foundation for future growth.

Audience Profile

Programmers who have completed an introductory level C# course and self-taught C# developers.

At Course Completion

Outline

C# Compilation

  • Manual builds and automation using VS and VSC.
  • Customizing the .CSPROJ file.
  • Compiler Directives

Visual Studio Tricks and Tips

  • Renaming a project
  • Power user shortcuts
  • Multi-cursor editing

C# Objects and OOP

  • Review of the family of C# objects
  • Anonymous Types
  • Records
  • The Four Pillars of OOP and how they are supported in C#
  • Inheritance vs. Composition

Patterns

  • SOLID
  • Creational, Structural, Behavioral, Architectural, Concurrency & Reactive, Domain-Driven Design

Parallel Operations

  • Concurrency vs. Parallelism
  • Async await
  • Task
  • For and Parallel.ForEach
  • Race conditions and Lock

Lambda Expressions

  • Expression, statement and parameterless lambdas

C# Patterns – switch, if

Developer Security Best Practices

  • Security standards
  • OWASP Top 10 web application security risks
  • SQL Injection and Input Validation
  • Exception Handling best practices
  • Defensive Programming

Memory Management

  • Garbage collection
  • The IDisposable pattern and the Using statement

Generic Types

  • Using .NET generic classes
  • Creating custom generic classes
  • Generics using Funcs and lambdas

Bonus Content (if time available)

  • Interesting Projects
    • Watermark and annotate images
    • Work with ZIP files: ZIP, list, read and write content
    • Add text-to-speech to a project
  • Chainable Classes
    • Create Fluent APIs
    • Create object Builders
  • Dynamic and Expand Objects

Prerequisites