Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

CourseHorse

C# Programming Level 1: Introduction for Programmers (Live Online)

via CourseHorse

Overview

This live, instructor-led training course is intended for programmers with prior programming experience who wish to develop proficiency in the C# language. Participants will learn how C# functions and its position within the broader programming language landscape, its integration with the Common Language Infrastructure and .NET Framework, C# data types and operators, writing selection statements and iteration loops, generic programming techniques, working with collections, data processing strategies, and error handling approaches. This course uses C# 8 as the baseline version for all demonstrations and practical exercises.

Audience:

Programmers new to the C# language who possess established experience with other programming languages.

Prerequisites:

This course is specifically designed for individuals with prior programming experience. You should have working familiarity with Object Oriented Programming concepts. If you have no prior programming background or lack familiarity with Object Oriented Programming, consider our alternative course, "C# Programming Level 1: Introduction for Non-Programmers" instead.

Course Outline:

Starting with the Building Blocks of C#

  • The history of C#
  • Understanding the CLI
  • Common Type System (CTS)
  • Common Language Specification (CLS)
  • Common Intermediate Language (CIL)
  • Virtual Execution System (VES)
  • The .NET family of frameworks
  • .NET Framework
  • .NET Core
  • Xamarin
  • Assemblies in .NET
  • Global Assembly Cache (GAC)
  • Runtime package store
  • Understanding the basic structure of a C# program

Data Types and Operators

  • Basic data types
  • The integral types
  • The floating-point types
  • The decimal type
  • The char type
  • The bool type
  • The string type
  • The object type
  • Variables
  • Naming conventions
  • Implicitly-typed variables
  • Understanding the scope and lifetime of variables
  • Understanding constants
  • Reference types and value types
  • Value types
  • Reference types
  • Boxing and unboxing
  • Nullable types
  • Arrays
  • One-dimensional arrays
  • Multi-dimensional arrays
  • Jagged arrays
  • Type conversion
  • Implicit type conversion
  • Explicit type conversion
  • User-defined type conversions
  • Conversions with helper classes
  • Operators
  • Arithmetic operators
  • Relational operators
  • Logical operators
  • Bitwise and shift operators
  • Assignment operators
  • Other operators

Control Statements and Exceptions

  • Understanding control statements
  • Selection statements
  • Iteration statements
  • The jump statements
  • Exception handling
  • Summary
  • Test what you learned

Understanding the Various User-Defined Types

  • Classes and objects
  • Fields
  • Methods
  • Constructors
  • Properties
  • Indexers
  • The this keyword
  • The static keyword
  • The ref, in, and out parameters
  • Methods with a variable number of arguments
  • Named and optional arguments
  • Access modifiers
  • Partial classes
  • Structures
  • Enumerations
  • Namespaces

Object-Oriented Programming in C#

  • Understanding OOP
  • Abstraction
  • Encapsulation
  • Inheritance
  • Virtual members
  • Abstract classes and members
  • Sealed classes and members
  • Hiding base class members
  • Interfaces
  • Polymorphism
  • Method overloading
  • Operator overloading
  • SOLID principles

Generics

  • Understanding generics
  • Generic types
  • Generic classes
  • Inheritance with generic classes
  • Generic interfaces
  • Variant generic interfaces
  • Generic structures
  • Generic methods
  • Type parameter constraints

Collections

  • Introducing the System.Collections.Generic namespace
  • The ListT collection
  • The StackT collection
  • The QueueT collection
  • The LinkedListT collection
  • The DictionaryTKey, TValue collection
  • The HashSetT collection
  • Choosing the right collection type
  • Using thread-safe collections
  • IProducerConsumerCollectionT
  • BlockingCollectionT
  • ConcurrentQueueT
  • ConcurrentStackT
  • ConcurrentBagT
  • ConcurrentDictionaryTKey, TValue
  • Choosing the right concurrent collection type

Files, Streams, and Serialization

  • Overview of the System.IO namespace
  • Working with paths
  • Working with files and directories
  • Working with streams
  • Overview of the stream classes
  • Working with file streams
  • Working with memory streams
  • Serializing and deserializing XML
  • Serializing and deserializing JSON
  • Using Json.NET
  • Using System.Text.Json

Error Handling

  • Errors
  • Exceptions
  • Catching exceptions
  • The exception objects
  • Conditional catch
  • Throwing exceptions
  • Creating a custom exception type
  • Rethrowing an exception
  • The finally block
  • Debugging and monitoring exceptions
  • Debugging second-chance exceptions
  • Debugging first-chance exceptions
  • AppDomain exception events
  • Logging exceptions

Taught by

ONLC Training Centers

Reviews

4.3 rating at CourseHorse based on 8 ratings

Start your review of C# Programming Level 1: Introduction for Programmers (Live Online)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.