Object-Oriented Programming in C# 2017
Request a Class
9:00am - 4:30pm
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 2017, .NET Framework 4.7 and C# 7.0.
AUDIENCE AND PREREQUISITES
Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, asynchronous programming keywords, and tuples are covered in a final chapter. A supplement covers the fundamentals of Language Integrated Query (LINQ).
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#.
PREREQUISITE COURSESFOLLOW UP COURSES
The student should have programming experience in a high-level language.
Course cost doesn't include courseware. Course to run is subject to a minimum enrollment. Couse may run as a virtual instructor led course if minimum enrollment is not met. For more information, please contact: email@example.com or call: 207.775.0244.
Module 1: .NET: What You Need To Know .NET Executables and the CLR A .NET Testbed for C# Programming Using Visual Studio 2017Module 2: First C# Programs Hello, World Namespaces Variables and Expressions Using C# as a Calculator Input/Output in C# .NET Framework Class LibraryModule 3: Data Types in C# Data Types Integer Types Floating Point Types Decimal Type Characters and Strings Boolean Type Boolean Type Nullable TypesModule 4: Operators and Expressions Operator Cardinality Arithmetic Operators Relational Operators Logical Operators Bitwise Operators Assignment Operators Expressions Checked and UncheckedModule 5: Control Structures If Tests Loops Arrays Foreach More about Control Flow SwitchModule 6: Object-Oriented Programming Objects Classes v Polymorphism Object-Oriented Languages ComponentsModule 7: Classes Classes as Structured Data Methods Constructors and Initialization Static Fields and Methods Constant and ReadonlyModule 8: More about Types Overview of Types in C# Value Types Boxing and Unboxing Reference Types Implicitly Typed VariablesModule 9: Methods, Properties and Operators Methods Parameter Passing Method Overloading Variable-Length Parameter Lists Properties Auto-Implemented Properties Operator OverloadingModule 10: Characters and Strings Characters Strings String Input String Methods StringBuilder Class Programming with StringsModule 11: Arrays and Indexers Arrays System.Array Random Number Generation Jagged Arrays Rectangular Arrays Arrays as Collections Bank Case Study—Step 1 IndexersModule 12: Inheritance Single Inheritance Access Control Method Hiding Initialization Bank Case Study—Step 2Module 13: 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 3Module 14: Formatting and Conversion ToString Format Strings String Formatting Methods Bank Case Study—Step 4 Type ConversionsModule 15: Exceptions Exception Fundamentals Structured Exception Handling User-Defined Exception Classes Inner Exceptions Bank Case Study—Step 5Module 16: Interfaces Interface Fundamentals Programming with Interfaces Using Interfaces at Runtime Bank Case Study—Step 6 Resolving AmbiguitiesModule 17: .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 8Module 18: Delegates and Events Delegates Anonymous Methods Lambda Expressions EventsModule 19: Introduction to Windows Forms Creating Windows Applications Using Visual Studio 2017 Partial Classes Buttons, Labels and Textboxes Handling Events Listbox ControlsModule 20: Newer Features in C# Dynamic Data Type Named Arguments Optional Arguments Variance in Generic Interfaces Asynchronous Programming Keywords New Features in C# 6.0 and C# 7.0