Hands On Technology Transfer Inc - 1-800-413-0939

Learn C#

Discounts
Travel Packages
Guarantees
Testimonials
Why HOTT
Free Reports

Microsoft Certified Partner

Print FriendlyE-mail a Friend

Learning to Program with C#

Duration: 5 Days | Price: $2495 | Class Dates:

Students Will Learn:
  • Fundamental Elements of Programming
  • Classes, Objects and Methods
  • Structured Programming Techniques
  • Arrays and Data Structures
  • Exception Handling
  • String Handling
  • Fundamental Algorithms
  • GUI Programming Concepts

Description: This hands on C# Programming course provides an introduction to programming using the C# language. Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course introduces important algorithmic constructs, string and character manipulation, dynamic memory allocation, standard I/O, and fundamental object-oriented programming concepts. The course explains the use of inheritance and polymorphism early on so the students can practice extensively in the hands on labs. Structured programming techniques and error handling are emphasized. The course includes the processing of command line arguments and environment variables so students will be able to write flexible, user-friendly programs.

This class is intended for non-programmers. Students who already understand fundamental structured programming and object-oriented techniques should attend either Windows Forms Programming Using C# or ASP.NET Programming Using C# instead of this more introductory course.

Prerequisites: Familiarity with computers.

Learning to Program with C# Course Overview:

Fundamentals of the Program Development Cycle
  • Computer Architecture
  • The Notion of Algorithms
  • Source Code vs. Machine Code
  • Compile-Time vs. Run-Time
  • Software Program Architecture
    • Standalone
    • Client/Server
    • Distributed
    • Web-Enabled
  • IDE (Interactive Development Environment) Concepts
Application Development Fundamentals
  • Structure of a C# Program
  • Memory Concepts
  • Fundamental Data Type Declarations
  • Fundamental I/O Concepts
  • Fundamental Operators
    • Arithmetic Operators
    • Logical Operators
    • Precedence and Associativity
  • Building and Deploying a C# Program
Introduction to Classes and Objects
  • Classes, Objects and Methods
  • Object Instances
  • Declaring and Instantiating a C# Object
  • Declaring Methods
  • set and get Methods
  • Initiating Objects with Constructors
  • Value Types vs. Reference Types
Flow Control
  • Conditional Constructs
  • Looping Constructs
    • Counter-Controlled Repetition
    • Sentinel-Controlled Repetition
  • Nested Control Constructs
  • break and continue Statements
  • Structured Programming Best Practices
Writing Methods (Functions)
  • Static vs. Dynamic Allocation
  • Declaring Methods
  • Declaring Methods with Multiple Parameters
  • Method-Call Stack
  • Scope of Declarations
  • Argument Promotion and Casting
  • Designing Methods for Reusability
  • Method Overloading
Arrays
  • Purpose of Arrays
  • Declaring and Instantiating Arrays
  • Passing Arrays to Methods
  • Multidimensional Arrays
  • Variable-Length Argument Lists
  • Using Command-Line Arguments
  • Using Environment Variables
Deeper Into Classes and Objects
  • Controlling Access to Class Members
  • Referencing the Current Object Using this
  • Overloading Constructors
  • Default and No-Argument Constructors
  • Composition of Classes
  • Garbage Collection and Destructors
  • The finalize Method
  • Static Class Members
Defining Classes Using Inheritance
  • Superclasses and Subclasses
  • Advantages of Using Inheritance
  • protected Class Members
  • Constructors in Subclasses
Increasing Convenience by Using Polymorphism
  • Purpose of Polymorphic Behavior
  • The Concept of a Signature
  • Abstract Classes and Methods
  • Non-Inheritable Methods and Classes
  • Purpose of Interfaces
  • Using and Creating Interfaces
  • Common Interfaces of the .NET Framework
Files and Streams
  • Concept of a Stream
  • Class File
  • Sequential Access
  • Object Serialization to/from Sequential Access Files
  • Using LINQ to Query Information from a File
Fundamental Searching and Sorting
  • Introduction to Searching Algorithms
    • Linear Search
    • Binary Search
  • Introduction to Sorting Algorithms
    • Selection Sort
    • Insertion Sort
    • Merge Sort
Fundamental Data Structures
  • Dynamic Memory Allocation
  • Linked Lists
  • Stacks
  • Queues
  • Trees
Exception Handling
  • Types of Exceptions
  • Exception Handling Overview
  • Exception Class Hierarchy
  • Extending Exception Classes
  • When to Throw or Assert Exceptions
Formatted Output
  • Conversion Characters
  • Specifying Field Width and Precision
  • Controlling Appearance with the IformatProvider Interface
  • Printing Literals and Escape Sequences
  • Formatting Output with the String.Format Method
Strings, Characters and Regular Expressions
  • Fundamentals of Characters and Strings
  • String Class
  • String Operations
  • StringBuilder Class
  • Char Structure
  • Regular Expressions
    • Regular Expression Syntax
    • RegExp Class
    • Match Class
    • System.Text.RegularExpressions Namespace
Fundamental GUI Programming Concepts
  • Overview of Windows Forms
  • Displaying Text and Graphics in a Window
  • Implementing Event Handlers
  • Control Properties and Layout
  • Mouse Event Handling
  • Implementing Menus


Northeast/New England Southeast Midwest West/Southwest Canada United Kingdom
CT - Hartford
CT - New Haven
CT - Stamford
DC - Washington
MA - Boston
MA - Chelmsford
MA - Quincy
MA - Springfield
MA - Waltham
MA - Woburn
MA - Worcester
MD - Baltimore
MD - Columbia
NH - Manchester
NH - Nashua
NJ - Jersey City
NJ - Newark
NJ - Princeton
NY - Albany
NY - Binghamton
NY - Buffalo
NY - Ithaca
NY - Manhattan
NY - Rochester
NY - Syracuse
PA - Harrisburg
PA - Philadelphia
PA - Pittsburgh
RI - Providence
AL - Huntsville
FL - Fort Lauderdale
FL - Jacksonville
FL - Miami
FL - Orlando
FL - Pensacola
FL - Sarasota
FL - Tampa
FL - West Palm Beach
GA - Atlanta
GA - Savannah
LA - Shreveport
NC - Charlotte
NC - Raleigh-Durham
NC - Winston-Salem
SC - Charleston
VA - Alexandria
VA - Fairfax
VA - Norfolk
VA - Richmond
VA - Williamsburg
AR - Little Rock
IA - Cedar Rapids
IA - Des Moines
IL - Chicago
IL - Schaumburg
IL - Springfield
IN - Indianapolis
KY - Louisville
MI - Detroit
MI - Lansing
MN - Minneapolis
MO - Kansas City
MO - St. Charles
MO - Springfield
NE - Omaha
OH - Cincinnati
OH - Cleveland
OH - Columbus
OH - Dayton
OK - Oklahoma City
OK - Tulsa
TN - Memphis
TN - Nashville
WI - Milwaukee
AZ - Phoenix
AZ - Tucson
CA - Bakersfield
CA - Fresno
CA - Irvine
CA - Los Angeles
CA - Modesto
CA - Oakland
CA - Riverside
CA - Sacramento
CA - San Diego
CA - San Francisco
CA - San Jose
CA - Santa Clarita
CA - Santa Monica
CA - Temecula
CO - Denver
ID - Boise
NM - Albuquerque
NM - Las Cruces
NV - Las Vegas
OR - Portland
TX - Austin
TX - Corpus Christi
TX - Dallas
TX - El Paso
TX - Fort Worth
TX - Houston
TX - San Antonio
UT - Salt Lake City
WA - Seattle
WA - Spokane
AB - Calgary
AB - Edmonton
BC - Vancouver
MB - Winnipeg
QC - Montreal
QC - Quebec City
ON - Kingston
ON - Mississauga
ON - Ottawa
ON - Toronto
SK - Regina

Birmingham
Bristol
Chelmsford
Edinburgh
Glasgow
Leeds
Liverpool
London
Manchester

Germany

Berlin
Bremen
Köln
Dortmund
Duisburg
Düsseldorf
Essen
Frankfurt
Hamburg
Hannover
München
Stuttgart


Hands On Technology Transfer, Inc.
1 Village Square, Suite 8
14 Fletcher Street
Chelmsford, MA 01824
1-800-413-0939 | 1-978-250-4299

Copyright© Hands On Technology Transfer, Inc.