Call us at 1-800-413-0939
Hands On Technology Transfer
gsa

Learning to Program with C#

Attend face-to-face, remote-live, on-demand or on site at your facility.

On-Demand Training with Personal Facilitation
Top

Learning to Program with C#

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.

Pricing

Face-to-face or remote-live: $2495

On-demand: $1495

Discounts: We offer multiple discount options. Click here for more information.

Duration

Face-to-face or remote-live: 5 Days

On-demand: Approximately 35 hours of coursework with personal facilitation, to be completed in a four week span.

Registration

Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Using Visual Studio to create C# applications
  • Working with the .NET data types
  • Creating variables with the proper scope and using operators to build complex expressions
  • Using control structures such as if, while and for
  • Using procedures to build complex applications
  • Designing and using classes
  • Using arrays and .NET collections
  • Throwing and trapping exceptions using the C# try and catch statements
  • Using ADO.NET to access databases
  • Working with files and directories
  • Building simple Windows Forms applications
  • Building and using derived classes
  • Defining and implementing interfaces
  • Performing advanced string manipulation

Course 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 also contains "Thinking Like a Programmer" sections that provide students insight on how to develop common algorithms. The C# programming course for beginners covers console and file I/O, string and character manipulation, managing data using collections and fundamental object-oriented programming concepts. Error handling techniques are also emphasized. The C# programming course also introduces how to access databases using ADO.NET and illustrates how to build user interfaces using Windows Forms. Comprehensive hands on exercises are integrated throughout to reinforce learning C Sharp and develop real competency.

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#, ASP.NET Programming Using C# or Windows Presentation Foundation Programming Using C# instead of this more introductory course.

Course Prerequisites

Familiarity with computers.

Course Overview

Application Development Fundamentals
  • Overview of Programming Concepts
  • Understanding the Structure of a C# Program
  • Understanding Data Types
  • Working with Variables
  • Reading From and Writing to the Console
  • Overview of the .NET Framework
  • Using Visual Studio
  • Thinking Like a Programmer
    • Designing Algorithms
    • Finding Patterns in Code
Managing the Flow of an Application
  • Conditional Constructs
    • Working with if/else Constructs
    • Working with switch
  • Looping Constructs
    • Working with while Constructs
    • Working with for and foreach
  • Thinking Like a Programmer
    • Making Decisions
    • Designing Loops
Working with Data
  • Using Integer Data Types
  • Using Floating Point Data Types
  • Using Characters and Strings
  • Using Dates
  • Using Booleans
  • Working with Constants and Literals
Using Procedures to Modularize Code
  • Defining and Calling Subroutines
  • Defining and Calling Functions
  • Understanding Variable Scope
  • Overloading Procedures
  • Passing Parameters
  • Understanding by value vs by reference Parameters
  • Understanding the Call Stack
  • Thinking Like a Programmer
    • Finding the Procedures
    • Refactoring
    • Improving Productivity with Snippets
Object-Oriented Programming
  • Understanding Object-Oriented Concepts
  • Designing Classes
  • Coding Properties and Methods
  • Initializing Objects with Constructors
  • Overloading Constructors
  • Declaring and Instantiating Objects
  • Calling Properties and Methods
  • Understanding Value Types vs. Reference Types
  • Working with Shared Data Members and Methods
  • Thinking Like a Programmer
    • Finding your Classes
Understanding Namespaces
  • Understanding the Role of Namespaces
  • Understanding .NET Namespaces
  • Defining Custom Namespaces
  • Referencing Members in a Namespace
  • Using the using Statement
Working with Data Collections
  • Understanding Arrays
  • Declaring and Instantiating Arrays
  • Iterating through Arrays
  • Working with System.Array Methods
    • Copying, Sorting, Searching and Resizing
  • Passing Arrays to Methods
  • Working with param array Parameters
  • Working with Command-line Arguments
  • Understanding .NET Collections
  • Managing Data Using List
  • Managing Data Using Dictionary<TKey, TValue>
  • Working with LINQ
  • Making LINQ Queries
  • Enumerating LINQ Query Results
  • Working with Anonymous Types
  • Using Extension Methods with LINQ
Building Inheritance Hierarchies
  • Understanding Inheritance
  • Building Derived Classes
  • Understanding Constructors in Derived Classes
  • Defining and Using Protected Class Members
  • Understanding Polymorphism
  • Defining Overridable Methods
  • Overriding Methods
  • Understanding Abstract Classes
  • Defining Abstract Classes
  • Inheriting from Abstract Classes
Building GUIs with Windows Forms
  • Overview of Windows Forms
  • Designing Forms
  • Working with Controls
    • Using Labels and Textboxes
    • Using Buttons
    • Using Checkboxes and Radio Buttons
    • Using Menus
    • Using List Controls
  • Handling Events
Accessing Databases Using ADO.NET
  • Understanding the ADO.NET Object Model
  • Opening Connections
  • Executing Queries Using Commands
  • Iterating Through Results Using DataReaders
  • Calling Stored Procedures
  • Passing Parameters to Stored Procedures
  • Working with DataSets
  • Binding Data to Controls
Exception Handling
  • Understanding Exception Handling
  • Using try/catch to Handle Exceptions
  • Working with the Exception Class
  • Understanding Exception Propagation
  • Using finally to Manage Cleanup Processing
  • Throwing Exceptions
Working with Files, Directories and Streams
  • Using the System.IO Namespace
  • Discovering Drives
  • Working with Directories
  • Working with Files
  • Parsing a File Path
  • Understanding Streams
  • Working with FileStream
  • Reading and Writing Text Files
  • Understanding other Types of Streams
Working with Strings
  • Working with the String Class
  • Working with String Literals and Escape Sequences
  • Understanding String Manipulation Performance Issues
  • Working with the StringBuilder Class
  • Formatting Output with String.Format
Building N-Tier Applications
  • Building Large Scale Applications
  • Designing N-Tier Applications
  • Building .NET Assemblies
  • Referencing Assemblies

Reviews

This class was very beneficial to me this week. This class gave me the foundation of C# programming which I was missing. The instructor was great and was very knowledgeable in the course details. He was able to translate the COBOL language to the C# language which helped me greatly to understand C#.
— C.W., LexisNexis


Excellent instructor. I learned so much! What a great experience! This was such valuable training. Thank you to the instructor and HOTT for providing this service. I will tell everyone who's interested to consider your company. Great job!
— O.W., AAA NCNU Insurance Exchange


Hands down the best class and learning experience I have ever had.
— J.I., National Oilwell Varco


Excellent course and will be recommending to colleagues. Well-organized and very glad to get a student guide with good documentation. Instructor gave good examples to augment material in student guide. He seemed very knowledgeable and went at good pace. Exercises were very good to reinforce material from module and built on material learned in previous modules; liked that there were multiple for some modules covering slightly different things. But it was very important to have support to assist with any questions, so great that you offer that. The personal facilitator was GREAT; he responded promptly to emails and when things were more complicated, he joined me in Teamviewer to guide me.
— J.W., Export Development Canada

Course Schedule

Choose a city below to view a schedule and registration options. If you have any questions, please call us at 978-250-4299 between 9:00 am - 5:00 pm EST.