Programming in C# VS 2012
Course ID
Course Description
Prerequisites
Audience
Course Content
- .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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- .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
- 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
- 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
- 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
- Appendix A Learning Resources
For More Information
For training inquiries, call 850-308-1376
or email us at eramos@gbsi.com
Course Details
Duration - 5 days
Price - $3095.00 USD
(Discounts may apply. Call for more information.)
Acceletrain Collaborative Learning Environment (formerly know as VILT) places industry certified and expert instructors, peers, learners and multi-media components into a "borderless classroom", and interactive learning environment that can span multiple physical locations. VILT combines the benefits of the traditional brick-and-mortar classroom with innovative learning techniques and the cost savings of internet-based training.