Email Us   Phone : 503-259-0312   
  Home    |    Instructor-led Training    |    Self-Paced Learning    |    Online Training     


Contact Us   -   Why Choose Wintrac   -   Clients    

Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
Business Analysis
Business Intelligence
Business Objects
Business Skills
C++ programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Datawarehousing
DB2
Desktop Application Software
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Microsoft technologies
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Object-Oriented Programming in C# (VS 2012)
.NET Training 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 2012 and .NET 4.5. 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 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. 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.

.NET Training Prerequisites

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

.NET Training Audience

Programmers who need to design and develop C# for the .NET framework.

.NET Training Course duration

5 days

.NET Training 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 2012
  • 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 Visual Studio
  • The .NET Framework
  • Lab 2
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
  • Lab 3
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
  • Lab 4
5. Control Structures
  • If Test
  • Blocks
  • 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++
  • Lab 5
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
  • Relationships 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
  • Lab 7
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
  • Lab 8
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
  • Lab 10
11. Arrays and Indexers
  • Arrays
  • One Dimensional Arrays
  • System.Array
  • Random Number 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
  • Lab 11
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
  • Lab 12
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
  • Lab 13
14. Formatting and Conversion
  • Introduction to Formatting
  • ToString
  • ToString in Your Own Class
  • Using Placeholders
  • Format Strings
  • Controlling Width
  • Format String
  • Currency
  • String.Format
  • PadLeft and PadRight
  • Type Conversions
  • Conversion of Built-In Types
  • Conversion of User-Defined Types
  • Lab 14
15. Exceptions
  • Introduction to Exceptions
  • Exception Fundamentals
  • .NET Exception Handling
  • Exception Flow of Control
  • Context and Stack Unwinding
  • System.Exception
  • User-Defined Exception Classes
  • Structure Exception Handling
  • Finally Block
  • Inner Exceptions
  • Checked Integer Arithmetic
  • Lab 15
16. Interfaces
  • Interfaces in C#
  • Interface Inheritance
  • Programming with Interfaces
  • Implementing Interfaces
  • Using an Interface
  • Dynamic Use of 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
  • The Use of Dynamic Type Checking
  • Implementing IComparable
  • Running the Program
  • Complete Solution
  • Lab 17A
  • Writing Generic Code
  • Using a Class of object
  • Generic Types
  • Generic Syntax in C#
  • Generic Client Code
  • System.Collections.Generic
  • Lab 17B
  • Object Initializers
  • Collection Initializers
  • Anonymous Types
18. Delegates and Events
  • Overview of Delegates and Events
  • Callbacks and Delegates
  • Usage of Delegates
  • Declaring a Delegate
  • Defining a Method
  • Creating a Delegate Object
  • Calling a Delegate
  • A Random Array
  • Anonymous Methods
  • Combining Delegate Objects
  • Account.cs
  • DelegateAcount.cs
  • Lambda Expressions
  • Named Method
  • Events
  • Events in C# and .NET
  • Client Side Event Code
  • Lab 18
19. Introduction to Windows Forms
  • Creating a Windows Forms App
  • Partial Classes
  • Windows Forms Event Handling
  • Add Events for a Control
  • Events Documentation
  • Closing a Form
  • ListBox Control
  • Lab 19
20. New Features in C# 4.0 and C# 5.0
  • dynamic Type
  • dynamic versus object
  • Behavior of object
  • Behavior of dynamic
  • Names Arguments
  • Optional Arguments
  • Book Class
  • Using Optional Arguments
  • Variance in Generic Interfaces
  • Variance with IComparer
  • Interfaces with Variance Support
  • Asynchronous Programs in C# 5.0
  • Task and Task
  • Aysnc Methods
  • Synchronous Call
  • Async Call
  • Threading
21. Appendix A – Learning Resources
 
About us
Contact us
Careers at Wintrac
Our Clients
Why Wintrac


Register for a free training CD-ROM drawing
Refer a client or instructor and earn $$$


Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
 
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy