Object-Oriented Programming in C# Training in Winston Salem

Enroll in or hire us to teach our Object-Oriented Programming in C# class in Winston Salem, North Carolina by calling us @303.377.6176. Like all HSG classes, Object-Oriented Programming in C# may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Object-Oriented Programming in C# may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
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.
Course Length: 5 Days
Course Tuition: $2090 (US)

Prerequisites

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

Course Outline

 

1. Introduction to NET

  • What is .NET?
  • .NET Framework and .NET Core
  • Application Models
  • Managed Code
  • Visual Studio 2019
  • C# Console and GUI Programs

2. First C# Programs

  • Hello, World
  • Namespaces
  • Variables and Expressions
  • Using C# as a Calculator
  • Input/Output in C#
  • .NET Framework Class Library

3. Data Types in C#

  • Data Types
  • Integer Types
  • Floating Point Types
  • Decimal Type
  • Characters and Strings
  • Boolean Type
  • Conversions
  • Nullable Types

4. Operators and Expressions

  • Operator Cardinality
  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Bitwise Operators
  • Assignment Operators
  • Expressions
  • Checked and Unchecked

5. Control Structures

  • If Tests
  • Loops
  • Arrays
  • Foreach
  • More about Control Flow
  • Switch

6. Object-Oriented Programming

  • Objects
  • Classes
  • Inheritance
  • Polymorphism
  • Object-Oriented Languages
  • Components

7. Classes

  • Classes as Structured Data
  • Methods
  • Constructors and Initialization
  • Static Fields and Methods
  • Constant and Readonly

8. More about Types

  • Overview of Types in C#
  • Value Types
  • Boxing and Unboxing
  • Reference Types
  • Implicitly Typed Variables

9. Methods, Properties and Operators

  • Methods
  • Parameter Passing
  • Method Overloading
  • Variable-Length Parameter Lists
  • Properties
  • Auto-Implemented Properties
  • Operator Overloading

10. Characters and Strings

  • Characters
  • Strings
  • String Input
  • String Methods
  • StringBuilder Class
  • Programming with Strings

11. Arrays and Indexers

  • Arrays
  • System.Array
  • Random Number Generation
  • Jagged Arrays
  • Rectangular Arrays
  • Arrays as Collections
  • Bank Case Study—Step 1
  • Indexers

12. Inheritance

  • Single Inheritance
  • Access Control
  • Method Hiding
  • Initialization
  • Bank Case Study—Step 2

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

14. Formatting and Conversion

  • ToString
  • Format Strings
  • String Formatting Methods
  • Bank Case Study—Step 4
  • Type Conversions

15. Exceptions

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

16. Interfaces

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

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

18. Delegates and Events

  • Delegates
  • Anonymous Methods
  • Lambda Expressions
  • Events

19. Introduction to Windows Forms

  • Creating Windows Applications Using Visual Studio 2019
  • Partial Classes
  • Buttons, Labels and Textboxes
  • Handling Events
  • Listbox Controls

20. Newer Features in C#

  • Dynamic Data Type
  • Named Arguments and Optional Arguments
  • Variance in Generic Interfaces
  • Asynchronous Programming Keywords
  • New Features in C# 6.0 and C# 7.0
  • Nullable Reference Types

Appendix A.  Learning Resources

Electronic File Supplements

Supplement 1. Using Visual Studio 2019

  • Signing in to Visual Studio
  • Overview of Visual Studio 2019
  • Creating a Console Application
  • Project Configurations
  • Debugging
  • Multiple-Project Solutions

Supplement 2.  Language Integrated Query (LINQ)

  • What Is LINQ?
  • Basic Query Operators
  • Filtering
  • Ordering
  • Aggregation

Supplement 3.  Unsafe Code and Pointers in C#

  • Unsafe Code
  • C# Pointer Type

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

C# Programming Uses & Stats

C# Programming is Used For:
Windows Applications Business Enterprise Applications Software Development Web Applications
Difficulty
Popularity
Year Created
2000
Pros
In Demand: 
C# along with Java is one of the top languages in demand for employers. 
 
.Net Library:
C# is integrated with the .Net Library thereby providing access to a vast archive of functionality and support. 
 
Team Friendly:
Multiple developers can easily work together on a project. 
 
Compiled Language:
The code that is stored on a public-facing server is in binary form. In other words, if your server gets hacked, the hacker doesn't automatically have access to your source code. 
 
Transferable:
C# roots are derived from C which means that the structure is transferable to other languages like Java, Objective C, PHP and C++. 
Cons

Steep Learning Curve:
For beginners, C# is not the easiest program to start with. 

Windows Application Exclusively:
Any .NET application needs a Windows platform to execute which means that companies using Linux servers would need Windows hosting to run a .Net application. 
 
Lack of Support for Older .NET:
Many enterprise organizations keep older operating systems because of the many problems that an upgrade can bring to the platform. Microsoft stops supporting older .NET frameworks after a few operating systems upgrades. 
C# Programming Job Market
Average Salary
102000
Job Count
32916
Top Job Locations

New York City 
Mountain View
San Francisco 

Complimentary Skills to have along with C# Programming

Since the .NET development ecosystem spans a wide array of capabilities and tools, it is difficult for .NET developers to know which .NET development skills and training to pursue in order to increase their marketability — and earning potential.  For that reason, learning supplemental languages such as Java, JavaScript, Python, C/C++, and others is expected in today’s competitive skill-set driven playing field.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.