Course Code: 19142

Object-Oriented Programming in C# (VS 2019)

Class Dates:
1/1/0001
Length:
5 Days
Cost:
$2495
Class Time:
Technology:
Developer
Delivery:
Instructor-Led Training, Virtual Instructor-Led Training

Overview

  • Course Overview
  • This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by .NET. This course emphasizes the C# language. It is current to Visual Studio 2019, .NET Framework 4.7.2 and C# 8.0. Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, asynchronous programming keywords, tuples, and nullable reference types are covered in a final chapter. Supplements cover Visual Studio 2019, the fundamentals of Language Integrated Query (LINQ), and unsafe code and pointers. This course is intended to be fully accessible to programmers who do not already have a strong background in object-oriented programming in C-like languages, such as C++ or Java. It is ideal, for example, for procedural programmers who desire to learn C#.
  • Audience
  • Programmers who need to design and develop C# for the .NET framework.

Prerequisites

Course Details

  • Module 1: Introduction to .NET
  • Libraries and Tools
  • Application Models
  • Managed Code
  • Visual Studio 2019
  • Creating a Console Application
  • Configure Your New Project
  • Program.cs Starter Code
  • Using VS Text Editor & IntelliSense
  • Builkd & Run the Project
  • Pausing the Output
  • Visual C# & GUI Programs
  • .Net Documentation
  • Module 2: First C# Programs
  • Hello, World
  • Program Structure
  • Namespaces
  • Exercise, Answer
  • Variables & Expressions
  • Calculations Using C#
  • Sample Program
  • Output & Input in C#
  • Input Wrapper Class
  • Echo Program
  • Multiple Files in Visual Studio
  • The .Net Framework
  • Module 3: Data Types in C#
  • Typing in C# & Strong Typing
  • C# Types
  • Integer Types, Type Range, & Literals
  • Floating Points & Literals
  • IEEE Standard for Floating Point
  • Decimial Type & Literals
  • Character Type & Literals
  • Escape Characters
  • Boolean Type
  • Implicit & Explicit Conversions
  • Conversions Example
  • Nullable Type
  • Module 4: Operators and Expressions
  • Operator Cardinality
  • Arithmetic Operators: Multiplication, Division, Addivite
  • Increment and Decrement
  • Example: A Small Calculator
  • Relational Operators
  • Conditional Operators
  • Short-Circuit Operator
  • Bitwise Operator
  • Bitwise Logical and Shift Operators
  • Expressions
  • Precedence
  • Associativity
  • Module 5 Control Structures
  • IF Test
  • Blocks
  • Loops, While Loops, & do/while Loops
  • for Loops & Fibonacci Examples
  • ForUp & ForDown Examples
  • Arrays
  • Foreach Loop
  • break & continue
  • goto
  • Structured Programming & Search Example
  • Multiple Methods
  • switch, switch in C# and C/C++
  • Module 6: Object-Oriented Programming
  • Objects & Object Models
  • Reusable Software Components
  • Objects In Software & The Real World
  • State and Behavior
  • Abstraction & Encapsulation
  • Classes
  • Inheritance Concept & Example
  • Relationships among Classes
  • Polymorphism
  • Object Oriented Analysis & Design
  • Use Cases
  • CRC Cards and UML
  • Module 7: Classes
  • Classes as Structured Data
  • Classes and Objects
  • Referenes & Assigning Object References
  • Instantiating and Using an Object
  • Methods & Method Syntax Example
  • Public & Private
  • Abstraction, Encapsulation, & Initialization
  • Initialization with Constructures
  • TestAccount Sample Program
  • Static Fields, Methods, & Constructors
  • this
  • Constant and Readonly Fields
  • Module 8: More about Types
  • Structures
  • Uninitialized Variables
  • Copying a Structure
  • Hotel.cs & HotelCopy.cs
  • Results of Hotel Copy
  • Classes and Structsq
  • EnumerationTypes & Examples
  • Reference & Class Types
  • objects, strings, & Arrays
  • Defualt Values
  • Boxing and Unboxing
  • Implicitly Types Variables & an Example
  • Module 9: Methods, Properties and Operators
  • Static and Instance Methods
  • Method Parameters
  • No "Freestanding" Functions in C#
  • Parameter Passing & Terminology
  • Reference & Output Parameters
  • Structure & Class Parameters
  • Method Overloading
  • Modifiers as Part of the Signature
  • Variable Lenth Parameter Lists
  • Properties & Examples
  • Auto-Implemented Properies & Examples
  • Operator Overloading in the Class Library
  • Module 10: Characters and Strings
  • Characters
  • Caracter Codes
  • ASCII and Unicode
  • Escape Sequences
  • Strings, String Classes, String Literals & Intializations
  • Concatenation
  • Index
  • Relational Operators
  • String Equality, Comparisons, & Input
  • String Methods and Properties
  • String Builder Class
  • Compand Line Arguments & Splitting a String
  • Module 11: Arrays and Indexers
  • Arrays
  • One Dimensional Arrays
  • System.Array
  • Random Number Generation
  • Next Methods
  • Jagged Arrays
  • Array Collections
  • Account & Bank Classes
  • Atm Class
  • Indexers
  • ColorIndex Example Program
  • Using the Indexer
  • Module 12: Inheritance
  • Inheritance Fundamentals
  • Inheritance in C#
  • Single Inheritance
  • Root Class - Object
  • Pubic & Internal Class Accessibility
  • Member Accessibility, Qualifiers, and Example
  • Method Hiding and Overriding
  • Initializations Fundamentals
  • Defualt & Overloaded Constructor
  • Base Class Initialization & Invoking
  • Accounts: Checking Accounts, & Savings Accounts
  • Test Account & Case Study
  • Module 13: Virtual methods and Polymorphism
  • Introduction to Polymorphism
  • Abstract and Sealed Classes
  • Virtual Methods and Dynamic Binding
  • Type Concersions in Inheritance
  • Converting Up & Down the Hierarchy
  • Virtual Method Cost and Example
  • Method Overriding
  • The Fragile Base Class Problem
  • Polymorphism Using "Type Tags" and Using Virtual
  • Heterogeneous Collections
  • Bank Case Study: Step 3
  • Account: Checking & Savings Account; Bank and Atm; TestBank
  • Module 14: Formatting and Conversion
  • Introduction to Formatting
  • ToString
  • ToString in Your Own Class
  • Using Placeholders
  • Controlling width
  • Format String
  • Curreny & Currency Format Example
  • String.Format
  • PadLeft and PadRight
  • Bank Case Study: Step 4
  • Type Conversions
  • Conversions Built-In & User Definied Types
  • Module 15: Exceptions
  • Introduction to Exceptions
  • Exception Fundamentals
  • .NET Exception Handling
  • Exception Flow of Control
  • Context and Stack Unwinding
  • Exception Example
  • System.Exception
  • User-Defined Exception Class & Example
  • Structured Exception Handling
  • Finally Block
  • Bank Case Study: Step 5
  • Check Integer Arithmetic & Example Program
  • Module 16: Interfaces
  • Interfaces in C# & Interface Inheritance
  • Prgramming with and Implementing Interfaces
  • Using an Interface & Demo: SmallInterface
  • Dynamic Use of Interfaces & Demo
  • is & as Operators
  • Bank Case Study: Step 6
  • Apparent Redundancy
  • IStatement & IStatement Methods
  • IChecking & ISavings
  • SavingsAccount
  • The Client
  • Resolving Ambiguity & Access Modifiers
  • Module 17: .NET interfaces and Collections
  • Collections
  • ArrayList Example
  • Count and Capacity
  • Foreach Loop & Duplicate Objects
  • Array Notation & Adding to the List
  • Remove & RemoveAt Methods
  • Collection Interfaces
  • IEnumberable and IEnumerator with Demo: AccountList
  • ICollection & IList
  • A Collection of User-Defined Objects & Duplicate Objects
  • Bank Case Study: Step 7
  • Copy Semantics and ICloneable also in C#
  • Module 18: Delegates and Events
  • Callbakcs and Delegates
  • Usage of and Declaring Delegates
  • Defining a Method
  • Creating and Calling a Delegate/Delegate Objects
  • Account.cs & DelegateAccount.cs
  • A Random Array
  • Lambda Expressions & an Example
  • Named and Anonymous Methods
  • Events in C# and .NET
  • Client Side Event Code
  • Chat Room Example
  • Module 19: Introductions to Windows Forms
  • Creating a Windows Forms App
  • Partial Classes
  • Windows Forms Event Handling
  • Add Events for a Control
  • Events Documentation
  • Closing a Form
  • ListBox Control
  • ListBox Example
  • Module 20: Newer Features in C#
  • dynamic Type
  • RunTime Error Exampledynamic vs object
  • Behavior of object
  • Behavior of dynamic
  • Named & Optional Arguments
  • Book Class
  • Using Optional Arguments
  • Variance in Generic Interfaces
  • Interfaces with variance Support
  • Contravariance Example
  • Asynchronous Programs in C# 5.0
  • Task and Task
  • Module 20: Additional Newer Features in C#
  • Aysnc Methods and an Example
  • Sychnronous Call
  • Async Class
  • Threading
  • New Ceatures in C# 6.0
  • Null-Conditional Operator
  • Composite Format String
  • Interpolated Strings
  • New Features in C# 7.0
  • Tuples
  • Nullable Reference Types
  • Nullable Reference Example Program