Object-Oriented Programming in C# 2017
CLASS DATE(s):
6/22/2020 - 6/26/2020

COURSE LENGTH: 5 Days

COURSE COST: $2495

COURSE TIMES: 9:00am - 4:30pm

Printable version of this course
print
Register for this course
register

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 2017, .NET Framework 4.7 and C# 7.0.
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).

AUDIENCE AND PREREQUISITES

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#.

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

PREREQUISITE COURSESFOLLOW UP COURSES  

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: learn@vtec.org or call: 207.775.0244.

COURSE TOPICS:


Module 1: .NET: What You Need To Know
.NET Executables and the CLR
A .NET Testbed for C# Programming
Using Visual Studio 2017

Module 2: First C# Programs
Hello, World
Namespaces
Variables and Expressions
Using C# as a Calculator
Input/Output in C#
.NET Framework Class Library

Module 3: Data Types in C#
Data Types
Integer Types
Floating Point Types
Decimal Type
Characters and Strings
Boolean Type
Boolean Type
Nullable Types

Module 4: Operators and Expressions
Operator Cardinality
Arithmetic Operators
Relational Operators
Logical Operators
Bitwise Operators
Assignment Operators
Expressions
Checked and Unchecked

Module 5: Control Structures
If Tests
Loops
Arrays
Foreach
More about Control Flow
Switch

Module 6: Object-Oriented Programming
Objects
Classes
v
Polymorphism
Object-Oriented Languages
Components

Module 7: Classes
Classes as Structured Data
Methods
Constructors and Initialization
Static Fields and Methods
Constant and Readonly

Module 8: More about Types
Overview of Types in C#
Value Types
Boxing and Unboxing
Reference Types
Implicitly Typed Variables

Module 9: Methods, Properties and Operators
Methods
Parameter Passing
Method Overloading
Variable-Length Parameter Lists
Properties
Auto-Implemented Properties
Operator Overloading

Module 10: Characters and Strings
Characters
Strings
String Input
String Methods
StringBuilder Class
Programming with Strings

Module 11: Arrays and Indexers
Arrays
System.Array
Random Number Generation
Jagged Arrays
Rectangular Arrays
Arrays as Collections
Bank Case Study—Step 1
Indexers

Module 12: Inheritance
Single Inheritance
Access Control
Method Hiding
Initialization
Bank Case Study—Step 2

Module 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 3

Module 14: Formatting and Conversion
ToString
Format Strings
String Formatting Methods
Bank Case Study—Step 4
Type Conversions

Module 15: Exceptions
Exception Fundamentals
Structured Exception Handling
User-Defined Exception Classes
Inner Exceptions
Bank Case Study—Step 5

Module 16: Interfaces
Interface Fundamentals
Programming with Interfaces
Using Interfaces at Runtime
Bank Case Study—Step 6
Resolving Ambiguities

Module 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 8

Module 18: Delegates and Events
Delegates
Anonymous Methods
Lambda Expressions
Events

Module 19: Introduction to Windows Forms
Creating Windows Applications Using Visual Studio 2017
Partial Classes
Buttons, Labels and Textboxes
Handling Events
Listbox Controls

Module 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