(619) 876-4224 x210 info@otstraining.org

Microsoft Visual C#

Course length: 5 days

Overview: This course will get you started using Microsoft Visual C# in a productive, hands-on manner. We’ll cover the basics of programming, then move on to Object-Oriented Programming. We’ll also cover Graphical user Interface programming, and show how to connect to databases.

Prerequisites: Basic knowledge of Windows, as well as basic keyboarding skills.

Students will receive a USB flash drive so they can take the exercise files with them.

Class Fee: $2,249

Part 1: Fundamentals

Hello World

  1. Console.WriteLine
  2. Other Console Methods

Declaring Variables and Assigning Values

  1. Allowable Variable Names
  2. Primitive Data Types
  3. Default Values
  4. Constants
  5. Converting Between Data Types
  6. Nullable Data Types

Accepting Input from the User

  1. Accepting Whole Lines
  2. Dealing with Single Keypresses

Operators, Expressions and Statements

  1. Fundamental Mathematical Operators
  2. Precedence Table
  3. Assignment Operators
  4. Using the Math Library
  5. Bit-Shift Operations

Program Flow Control and Branching

  1. Boolean Logic
  2. Updated Precedence Table
  3. If…Then…Else…EndIf
  4. switch
  5. GoTo
  6. Shortened If

Iterations and Looping

  1. For…Next…Step
  2. For Each Loop
  3. Do While Loop
  4. Do Until Loop

Working with Strings

  1. Various String Methods
  2. Split and Join
  3. The StringBuilder Class

Formatting Strings for Output

  1. The Placeholder
  2. Choice

Functions and Helper Methods

  1. ByVal and ByRef Definitions
  2. Calling Functions
  3. Calling Subs
  4. Stacking Function Calls

Enumerations and Structures

  1. Using Select Case with Enumerations
  2. Using Structures

Commenting and Documenting Code

  1. The // and /* … */ Statements
  2. XML Tags

Arrays, Stacks, Queues and Dictionaries

  1. Using Arrays
  2. Using Multi-Dimensional Arrays
  3. Using Stacks
  4. Using Queues
  5. Using Dictionaries

Generic Lists

  1. Why Use Generic Lists?
  2. Adding and Removing Items
  3. Capacity and Count
  4. Finding Items in a Generic List
  5. Clearing Out Lists

Variable Scope

  1. Module-Level vs Method-Level

Reading and Writing Files

  1. Creating Files
  2. Reading From and Writing To Files
  3. Using StreamWriter
  4. Using StreamReader
  5. Getting FileInfo
  6. Other File Methods

Dates and Times

  1. DateTime Data Type and Now
  2. Formatting Data and Time Output
  3. Properties of DateTime
  4. Using TimeSpan

Generating Random Numbers

  1. Randomize
  2. Why Numbers Aren’t Really Random
  3. Generic Formula to Get Random Numbers

Handling Exceptions

  1. Try..Catch…Finally
  2. Why You Should Try to Avoid Erroroneous Input
  3. Creating Our Own Exceptions

Environment Variables

  1. Common Environment Variables
  2. Getting Computer Information

Command Line Arguments

  1. What Are Command-Line Arguments?
  2. Environment.GetCommandLineArgs Method

Creating Our Exe

  1. Overview of the Properties Panel
  2. Setting a Program Icon
  3. Setting Up the Windows PATH for command-line compiling
  4. Creating Our Documentation Automatically
  5. Difference between Executable and Installer

Part 2: Object-Oriented Programming

Introduction to OOP

  1. Overview
  2. Inheritance
  3. Polymorphism
  4. Encapsulation

Understanding and Creating Classes

Class Fields and Properties

  1. Difference between Fields and Properties
  2. Getters and Setters
  3. Public, Private, Protected, Shared

Class Methods

Understanding Instantiation

Understanding Inheritance

Overriding Class Methods

Overloading Class Methods

  1. A New ToString

Static Methods, Properties and Classes

Auto-Implemented Properties

Creating Constructors and Destructors

  1. Constructors
  2. Destructors
  3. Garbage Collection

Unified Modeling Language and Class Diagrams

  1. Using the IDE Class Diagram

Understanding Namespaces and Adding References to Assemblies

Part 3: GUI Programming

Introduction to Event-Driven Programming

Creating Forms and Setting their Properties

Handling Form Events

Adding Controls to a Form

Informational Controls

  • Label, LinkLabel, StatusBar

Command Controls

  • Button, MainMenu, ContextMenuStrip, ToolStrip

Grouping Controls

  • Panel, FlowLayoutPanel, GroupBox, TabControl, SplitContainer, TableLayoutPanel

Text Editing

  • TextBox, RichTextBox

List Selections

  • ComboBox, NumericUpDown, ListBox, ListView, TreeView

Setting Options

  • CheckBox, CheckedListBox, RadioButton, TrackBar

Dialog Controls

  • OpenFileDialog, SaveFileDialog, FontDialog, ColorDialog,
  • PrintDialog, PrintPreviewDialog, PageSetupDialog

Graphic Display

  • PictureBox, OvalShape, RectangleShape

Date Setting

  • DateTimePicker

Writing Code for Form Controls

Accessing the Clipboard

Using a Message Box and Input Box

Connecting to the Internet

  1. WebBrowser Control
  2. Sending Email
  3. Uploading and Downloading Files

Part 4: Database Programming

Introduction to Databases

  1. Overview
  2. When to Implement a Database

Failing to Plan is Planning to Fail

The A.C.I.D. Test

  1. Atomicity
  2. Consistency
  3. Isolation
  4. Durability

Creating Databases and Tables

  1. Creating Databases with the Server Explorer

SQL Server Data Types and Constraints

  1. Exact Numerics

               bigint, bit, decimal, int, money, numeric,

               smallint, smallmoney, tinyint

  1. Approximate Numerics

               float, real

  1. Date and Time

               date, datetime2, datetime, datetimeoffset,

               smalldatetime, time

  1. Character Strings

               char, text, varchar

  1. Unicode Character Strings

               nchar, ntext, nvarchar

  1. Binary Strings

               binary, image, varbinary

  1. Other Data Types

               cursor, hierarchyid, sql_variant, table,

               timestamp, uniqueidentifier, xml

Creating Table Relationships


  1. The Main Three Types


  1. Why Denormalize?

SQL Statements and LINQ

  • SELECT Statement
  • INSERT Statement
  • UPDATE Statement
  • DELETE Statement
  • WHERE Clause
  • Using LINQ for Database Access

Jump to Top of Page


If you would like to register for a course, call (619) 876-4224 ext 210 or you may register online.