Object Oriented Programming C# (VS 2022)

Course Number:

NTX – 200

Microsoft .NET is an advance in programming technology that greatly simplifies application development, both for traditional, proprietary applications and for the emerging paradigm of Web-based services. .NET 6 is a unified platform, for browser, cloud, desktop, IoT, and mobile apps. It is based on .NET Core, the package-based implementation that is cross-platform, running on Mac and Linux besides Windows. 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 2022, .NET 6 and C# 10. Important newer features such as dynamic data types, named and optional arguments, tuples, asynchronous programming keywords, nullable reference types, record types, and top-level statements are covered. Throughout the course we’ll be discussing pivotal Object-Oriented concepts, best practices, and patterns.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#.An important thrust of the course is to teach C# programming from an object-oriented perspective. It is often difficult for programmers trained originally in a procedural language to start “thinking in objects.” This course introduces object-oriented concepts early, and C# is developed in a way that leverages its object orientation.A case study is used to illustrate creating a complete system using C# and .NET. Besides supporting traditional object-oriented features, such as classes, inheritance, and polymorphism, C# introduces several additional features, such as properties, indexers, delegates, events, and interfaces that make C# a compelling language for developing object-oriented and component-based systems. This course provides thorough coverage of all these features.C# as a language is elegant and powerful. But to utilize its capabilities fully, you need to have a good understanding of how it works with the .NET Framework. The course explores several important interactions between C# and the .NET Framework, and it includes an introduction to major classes for collections, delegates, and events. It includes a succinct introduction to creating GUI programs using Windows Forms. The course concludes with a chapter covering the newer features in the language.Numerous programming examples and exercises are provided, including the case study. The student will receive a comprehensive set of materials, including course notes and all the programming examples

Audience:

Course Duration:
5 Days

Prerequisites:

The student should have programming experience in a high-level language.

Course Objectives:
  • Acquire a working knowledge of C# programming
  • Learn how to implement programs using C# and classes from the .NET Framework
  • Gain an understanding of the object-oriented programming paradigm
  • Learn how to implement simple GUI programs using Windows Forms
  • Gain a working knowledge of important newer features in C
Course Outline:
  1. Introduction to NET
  • What is .NET?
  • .NET Framework, NET Core and .NET 6
  • Application Models
  • Managed Code
  • Visual Studio 2022
  • Console Programs and New Console Template
  • GUI Programs
  1. First C# Programs
  • Hello, World
  • Namespaces
  • Variables and Expressions
  • Using C# as a Calculator
  • Input/Output in C#
  • .NET Class Library
  1. Data Types in C#
  • Data Types
  • Integer Types
  • Floating Point Types
  • Decimal Type
  • Characters and Strings
  • Boolean Type
  • Conversions
  • Nullable Types
  1. Operators and Expressions
  • Operator Cardinality
  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Bitwise Operators
  • Assignment Operators
  • Expressions
  • Checked and Unchecked
  1. Control Structures
  • If Tests
  • Loops
  • Arrays
  • Foreach
  • More about Control Flow
  • Switch
  1. Object-Oriented Programming
  • Objects
  • Classes
  • Inheritance
  • Polymorphism
  • Object-Oriented Languages
  • Components
  1. Classes
  • Classes as Structured Data
  • Methods
  • Constructors and Initialization
  • Static Fields and Methods
  • Constant and Readonly
  1. More about Types
  • Overview of Types in C#
  • Value Types
  • Boxing and Unboxing
  • Reference Types
  • Implicitly Typed Variables
  1. Methods, Properties and Operators
  • Methods
  • Parameter Passing
  • Method Overloading
  • Variable-Length Parameter Lists
  • Properties
  • Auto-Implemented Properties
  • Operator Overloading
  1. Characters and Strings
  • Characters
  • Strings
  • String Input
  • String Methods
  • StringBuilder Class
  • Programming with Strings
  1. Arrays and Indexers
  • Arrays
  • System.Array
  • Random Number Generation
  • Jagged Arrays
  • Rectangular Arrays
  • Arrays as Collections
  • Bank Case Study—Step 1
  • Indexers
  1. Inheritance
  • Single Inheritance
  • Access Control
  • Method Hiding
  • Initialization
  • Bank Case Study—Step 2
  1. Virtual Methods and Polymorphism
  • Virtual Methods and Dynamic Binding
  • Method Overriding
  • Fragile Base Class Problem
  • Polymorphism
  • Abstract Classes
  • Sealed Classes
  • Heterogeneous Collections
  • Bank Case Study—Step 3
  1. Formatting and Conversion
  • ToString
  • Format Strings
  • String Formatting Methods
  • Bank Case Study—Step 4
  • Type Conversions
  1. Exceptions
  • Exception Fundamentals
  • Structured Exception Handling
  • User-Defined Exception Classes
  • Inner Exceptions
  • Bank Case Study—Step 5
  1. Interfaces
  • Interface Fundamentals
  • Programming with Interfaces
  • Using Interfaces at Runtime
  • Bank Case Study—Step 6
  • Resolving Ambiguities
  1. .NET Interfaces and Collections
  • Collections
  • Bank Case Study—Step 7
  • IEnumerable and IEnumerator
  • Copy Semantics and ICloneable
  • Comparing Objects
  • Generic Types
  • Type-Safe Collections
  • Object Initializers
  • Collection Initializers
  • Anonymous Types
  • Bank Case Study—Step 8
  1. Delegates and Events
  • Delegates
  • Anonymous Methods
  • Lambda Expressions
  • Events
  1. Introduction to Windows Forms
  • Creating Windows Applications Using Visual Studio 2019
  • Partial Classes
  • Buttons, Labels and Textboxes
  • Handling Events
  • Listbox Controls
  1. Newer Features in C#
  • Dynamic Data Type
  • Named and Optional Arguments
  • Variance in Generic Interfaces
  • Asynchronous Programming Keywords
  • New Features in C# 6 and C# 7
  • Nullable Reference Types
  • Record Types
  • Top-level Statements

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!