Object-Oriented Programming in C# 2013
Request a Class
9:00am - 4:30pm
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 developed in a way that leverages its object orientation. A case study is used to illustrate creating a complete systemusing C# and .NET.
AUDIENCE AND PREREQUISITES
Programmers who need to design and develop C# for the .NET framework.
The student should have programming experience in a high-level language.
*Course Cost listed does not include the cost of courseware or lunch, required in your registration. Please refer to your Enrollment Sales Order or Invoice for the additional cost. If you have any questions, please contact us (firstname.lastname@example.org or 207-775-0244). Course is subject to minimum enrollment.
.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 ProjectFirst C# Programs Hello, World Compiling, Running (Command Line) Program Structure Namespaces Exercise Answer Variables Expressions Alignment 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 The .NET FrameworkData Types in C# Strong Typing Typing in C#, C++, Visual Basic 6 C# Types Integer Types, Integer Type Range, and Integer Literals Floating Point Types and Floating Point Literals IEEE Standard for Floating Point Decimal Types, Decimal Literals Character Type, Character Literals string Escape Characters Boolean Type, Nullable Types Implicit Conversions, Explicit ConversionsOperators and Expressions Operator Cardinality Arithmetic Operators Muliplication, 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, Prededence, Associativity, CheckingControl Structures If Test Blocks Loops while Loop do/while Loops for Loops Arrays foreach Loop break, conttinue, goto Structural Programming Multiple Methods switch, switch in C# and C/C++Object-Oriented Programming Objects Objects in the Real World, Object Models Reuseable Software Components Objects in Software State and Behavior Abstration, Encapsulation Classes Inheritance Concepts Relationships amoung Classes Polymorphism Object-Oriented Alalysis and Design CRC Cards and UMLClasses Class Structure Data Classes and Objects References Instantiating and Using an Object Garbage Collection Methods Public and Private Abstration, Encapsulation, Initialization, Initialization with Constructors Default Constructor this Static Methos, Static Constructor Constant and Readonly FieldsMore 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 Implicity Types VariablesMethods, Properties, and Operators Static and Instance Methods Method Parameters No "Freestanding" Functions in C# Classes with All Static Methods Parameter Passing Parameter Terminology Value, Reference, Output, Structure, adn Class Parameters Method Overloading Modifiers as Part of the Signature Variable Length Parameter Lists Auto-Implemented Properties Operator OverloadingCharacters and Strings Characters and Character Codes ASCII and Unicode Escape Sequences Strings, String Class, String Literals and Initialization Concatenation Relational Operators String Equality, String Comparisons, String Input String Methods and Properties StringBuilder Class, StringBuilder Equality Command Line Arguments and Command Line Arguments in the IDE Command Loops Splitting a StringArrays and Indexers Arrays and One Dimensional Arrays System.Array Random Number Generation Next Mthods Jagged Arrays, Rectangular Arrays Arrays as Collections Account Class Bank Class TestBank Class ATM Class Running the Case Study Indexers, Using the IndexersInheritance Inheritance Fundamentals Inheritance in C#, Single Inheritance Root Class - Object Access Control Public Lass Accessibility, Internal Class Accessibility, Member Accessibility, Member Accessibility Qualifiers Method Hiding and Overriding Initialization Fundamentals Defualt Construtor, Overloaded Constructors Invoking Base Class Constructors Bank Case Study Analysis Account, CheckingAccount, SavingsAccount, TestAccount Running the Case StudyVirtual Methods Introduction to Polymorphism Abstract and Sealed Classes Visual Methods and Dynamic Binding Type Conversions in Inheritance Converting Down the Hierarchy, Converting Up the Hierarchy Virtual Methods, Virtual Methods 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 TestBankExceptions Introduction to Exceptions Exception Fundamentals .NET Exception Handling Exception Flow of Control Contect and Stack Unwinding System.Exception User-Defined Exception Classes Structure Exception Handling Finally BLock Inner Exceptions Checked Integer ArithmeticInterfaces Interfaces in C# Interface Inheritance Programming with Interfaces Implementing Interfaces Using and Interface is Operator as Operator Common Use of Interfaces in Case Study - IAccount Apparent Redundancy IStatement IStatement Methods IChecking. ISavings The Implementation 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 of User-Defined Objects Copy Semantics and ICloneable Copy Semantics in C# SHallow Copy and Deep Copy Reference Copy Memberwise Clone Using ICloneable Comparing Objects Sorting and 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 Object Initializers, Collection Initializers Anonymous TypesDelegates and Events Overview of Delegates and Events Callbacks and Delegates Use of Delegates, Declaring a Delegate Defining a Method Creating a Delegate Object Calling a Delegate A Random Array Anonymous Method Combining Delegate Objects Account.cs DelegateAccount.cs Lambda Expressions. Named Method Anaonymous Method Events Events in C# and .NET Client Side Event CodeIntroduction to Windows Forms Creating a Windows Forms App Partial Classes Windows Forms Events Handling Add Events for a Control Events Documentation Closing a Form ListBox ControlNew 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 in IComparer Interfaces with Variance Support Asynchronous Programs in C# 5.0 Task and Task Async Methods, Synchronous Call, Async Call, Theading