Object-Oriented Programming in C# Training in Helena

Enroll in or hire us to teach our Object-Oriented Programming in C# class in Helena, Montana 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.

Answers to Popular Questions:

 
Yes, this class can be tailored to meet your specific training needs.
Yes, we provide C# consulting services.
Yes, group discounts are provided.

Course Description

 
This thorough and comprehensive 5 day 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 2013 and .NET 4.5.1. Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, and asynchronous programming keywords are covered in a final chapter. A supplement covers the fundamentals of Language Integrated Query (LINQ). 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 develo ped 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 seve ral 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. 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 new features in C# 4.0 and C# 5.0.
Course Length: 5 Days
Course Tuition: $2090 (US)

Prerequisites

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

Course Outline

 

1. .NET: What You Need to Know
Getting Started
.NET: What is Really Happening
.NET Programming in a Nutshell
Viewing the Assembly
Viewing Intermediate Language
Understanding .NET
Visual Studio 2013
Creating a Console Application
Adding a C# file
Using the Visual Studio Text Editor
IntelliSense
Build and Run the Project
Pausing the Output
Visual C# and GUI Programs
.NET Documentation

2. First C# Programs
Hello, World
Compiling, Running (Command Line)
Program Structure
Namespaces
Exercise
Answer
Variables
Expressions
Assignment
Calculations Using C#
More About Output in C#
Input in C#
More About Classes
InputWrapper Class
Echo Program
Using InputWrapper
Compiling Multiple Files
Multiple Files in Vi
sual Studio
The .NET Framework

3. Data Types in C#
Strong Typing
Typing in C#
Typing in C++
Typing in Visual Basic 6
C# Types
Integer Types
Integer Type Range
Integer Literals
Floating Point Types
Floating Point Literals
IEEE Standard for Floating Point
Decimal Type
Decimal Literals
Character Type
Character Literals
string
Escape Characters
Boolean Type
Implicit Conversions
Explicit Conversions
Nullable Types

4. Operators and Expressions
Operator Cardinality
Arithmetic
Operators
Multiplication
Division
Additive Operators
Increment and Decrement
Relational Operators
Conditional Logical Operators
Short-Circuit Evaluation
Ternary Conditional Operators
Bitwise Operators
Bitwise Logical Operators
Bitwise Shift Operators
Assignment Operators
Expressions
Precedence
Associativity
Checking
 
5. Control Structures
If TestBlocks
Loops
while Loop
do/while Loops
for Loops
Arrays
foreach Loop
break
continue
goto
Structure Programming
Multiple Methods
switch
switch in C# and C/C++

6. Object-Oriented Programming
Objects
Objects in the Real World
Object Models
Reusable Software Components
Objects in Software
State and Behavior
Abstraction
Encapsulation
Classes
Inheritance Concepts
Rel
ationships among Classes
Polymorphism
Object-Oriented Analysis and Design
Use Cases
CRC Cards and UML

7. Classes
Classes as Structure Data
Classes and Objects
References
Instantiating and Using an Object
Assigning Object References
Garbage Collection
Methods
Public and Private
Abstraction
Encapsulation
Initialization
Initialization with Constructors
Default Constructor
this
Static Fields and Methods
Static Methods
Static Constructor
Constant and Readonly Fields

8. More about Types
Overview of Types in C#
Structures
Uninitialized Variables
Copying a Structure
Hotel.cs
HotelCopy.cs
Classes and Structs
Enumeration Types
Reference Types
Class Types
object
string
Arrays
Default Values
Boxing and Unboxing
Implicitly Types Variables

9. Methods, Properties, and Operators
Static and Instance Methods
Method Parameters
No “Freestanding” Functions in C#
Classes with All Static Methods
Parameter Passing
Parameter Terminology
Value Parameters
Reference Parameters
Output Parameters
Structure Parameters
Class parameters
Method Overloading
Modifiers as Part of the Signature
Variable Length Parameter Lists
Properties
Auto-Implemented Properties
Lab 9B
Operator Overloading
Operator Overloading in the Class Library

10. Characters and Strings
Characters
Character Codes
ASCII and Unicode
Escape Sequences
Strings
String Class
String Literals and Initialization
Concatenation
Index
Relational Operators
String Equality
String Comparisons
String Input
String Methods and Properties
StringBuilder Class
StringBuilder Equality
Command Line Arguments
Command Line Arguments in the IDE
Command Loops
Splitting a String

11. Arrays and Indexers
Arrays
One Dimensional Arrays
System.Array
Random Num
ber Generation
Next Methods
Jagged Arrays
Rectangular Arrays
Arrays as Collections
Account Class
Bank
Class
TestBank Class
ATM Class
Running the Case Study
Indexers
Using the Indexer

12. Inheritance
Inheritance Fundamentals
Inheritance in C#
Single Inheritance
Root Class–Object
Access Control
Public Class Accessibility
Internal Class Accessibility
Member Accessibility
Member Accessibility Qualifiers
Method Hiding
Method Hiding and Overriding
Initialization
Initialization
Fundamentals
Default Constructor
Overloaded Constructors
Invoking Base Class Constructors
Bank Case Study Analysis
Account
CheckingAccount
SavingsAccount
TestAccount
Running the Case Study

13. Virtual Methods and Polymorphism
Introduction to Polymorphism
Abstract and Sealed Classes
Virtual Methods and Dynamic Binding
Type Conversions in Inheritance
Converting Down the Hierarchy
Converting Up the Hierarchy
Virtual Methods
Virtual Method Cost
Method overriding
The Fragile Base Class Problem
override Keyword
Polymorphism
Polymorphism Using “Type Tags”
Polymorphism Using Virtual
Abstract Classes
Sealed Classes
Heterogeneous Collections
Case Study Classes
Run the Case Study
Account
CheckingAccount, SavingsAccount
Bank and ATM TestBank

14. Formatting and Conversion
Introduction to Formatting
ToString
ToString in Your Own Class
Using Placeholders
Format Strings
Simple Placeholders
Controlling Width
Format String
Currency
String.Format
PadLeft and PadRight
Type Conversions
Conversion of Built-In Types
Conversion of User-Defined Types

15. Exceptions
Introduction to Exceptions
Exception Fundamentals
.NET Exception Handling
Exception Flow of Control
Context and Stack Unwinding
System.Exception
User-Defined Except
ion Classes
Structure Exception Handling
Finally
Block
Inner Exceptions
Checked Integer Arithmetic

16. Interfaces
Interfaces in C#
Interface Inheritance
Programming with Interfaces
Implementing Interfaces
Using an Interface
Dynamic Use o
f Interfaces
is Operator
as Operator
Common Interfaces in Case Study–IAccount
Apparent Redundancy
IStatement
IStatement Methods
IChecking
ISavings
The Implementation
SavingsAccount
The Client
Resolving Ambiguity
Access Modifier
Explicit
Interfaces Test Program

17. .NET Interfaces and Collections
Overview
Collections
Count and Capacity
foreach Loop
Array Notation
Adding to the List
Remove Method
RemoveAt Method
Collection Interfaces
IEnumerable and IEnumerator
ICollection
IList
A Collection of User-Defined Objects
Duplicate Objects
A Correction to AccountList (Step 1)
Copy Semantics and ICloneable
Copy Semantics in C#
Shallow Copy and Deep Copy
Reference Copy
Memberwise Clone
Using ICloneable
Comparing Objects
Sorting an Array
Anatomy of Array.Sort
Using the is Operator

 

Course Directory [training on all levels]

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

C# Uses & Stats

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

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.