AT-OO-V - Object Oriented Programming in Visual Basic (VS 2008)

This course is a practical introduction to programming in Visual Basic and the use of services provided by .NET. It emphasizes the Visual Basic language and how to build Visual Basic applications from an object-oriented perspective. It is current to Visual Studio 2008 and .NET 3.5, which introduces important new features such as local type inference, extension methods, lambda expressions and Language-Integrated Query (LINQ). The new features are covered in a new chapter.

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »


Some programming experience. Previous knowledge of Visual Basic is not essential.

Detailed Class Syllabus

.NET: What You Need to Know

.NET: What Is Really Happening
.NET Programming in a Nutshell
Viewing the Assembly
Viewing Intermediate Language
Understanding .NET
Creating a Console Application
Visual Studio Solutions
Starter Code
Using the Visual Studio Text Editor
Build and Run the Project
Pausing the Output
Visual Basic and GUI Programs
.NET Documentation

Fundamentals of Visual Basic Programming

Visual Basic
Hello, World
Compiling, Running (Command Line)
Program Structure
Project Imports
Startup Object
Naming Standards
Multiple-File Program Structure
Using Procedures
Data Types
IEEE 754 Floating Point Standard
Data Type Ranges
Initialization of Variables
Type Checking
Data Conversions
Operators and Expressions
Arithmetic Operators
String Operators
Relational Operators
Logical Operators
Bitwise Operators
Assignment Operators
Operator Precedence
Console I/O
Console Input
Console Output

Control Structures

Control Structures
If/Then Statement
If/Then/Else Statement
Select Case Statement
Do/Loop Statement
Exiting Do Loops Prematurely
While Statement
For/Next Statement
Continue Statement


ByVal Parameters
ByRef Parameters
Access, Modules, and Scope
Static Variables
Optional Parameters
Variable Length Parameter Lists

Advanced Data Types

Initializing Arrays
Using UBound
Multi-Dimensional Arrays
Arrays are a Reference Type
Reference Assignment Issues
Jagged Arrays
Dynamic Arrays
Releasing Memory for the Array
System.Array Functions
System.Enum Functions
With Statement
Structure Assignment
Pass-by-Value versus Pass-by-Reference
Value Types vs. Reference Types
Using ByVal with Value Types
Using ByRef with Value Types
Using ByVal with Reference Types

Exception Handling

Handling Errors
Visual Basic Exception Handling
Exception Flow of Control
Handling Multiple Exceptions
Throwing Exceptions
Types of Exceptions
Context and Stack Unwinding
Exception Handling Strategies
Fahrenheit/Celsius Version 1
Fahrenheit/Celsius Version 2
Fahrenheit/Celsius Version 3
Fahrenheit/Celsius Version 4
Inner Exceptions
Custom Exceptions

Object-Oriented Programming

Object-Oriented Programming
Objects in Software
Abstraction and Encapsulation
Defining a Class in Visual Basic
Defining Data Members
Defining Methods
Creating Objects
Using Objects
Assigning Object References
Garbage Collection
Defining Properties
ReadOnly Properties
WriteOnly Properties
Shared Attributes
Shared Methods and Properties
Constructors and Initialization
Defining Constructors
Default Constructor
Shared Constructor
ReadOnly Members
Constant Members
Defining Events
Restrictions on Event Procedures
Raising Events
Trapping Events Using WithEvents
Trapping Events Dynamically
ToString in User-Defined Classes
Operator Overloading


Inheritance Hierarchy
Defining a Derived Class
.NET’s Object Class
Controlling Base Class Construction
Derived Class Construction
Derived Class Constructors
Need For Protected Access Modifier
Access Control
Using Protected Access
Defining Custom Exceptions
Using Custom Exceptions
Shadowing Base Class Methods
Defining a Method as Overridable
Overriding a Method
Using Heterogeneous Collections with Polymorphic Methods
Abstract Classes
Not Inheritable Classes
Type Conversions in Inheritance

Interfaces and Collections

Components and OO in Visual Basic
Interfaces in Visual Basic
Implementing an Interface
Using an Interface
Multiple Interfaces
Using Multiple Interfaces
TypeOf ... Is and Dynamic Interfaces
Interfaces in Visual Basic and COM
Resolving Ambiguity in Interfaces
.NET Interfaces
Arrays of User-Defined Objects
Implementing IComparable
ArrayList Methods
IEnumerable and IEnumerator
Using Enumerators.
Collections of User-Defined Objects
Account Class
Collection Interfaces
Default Properties
Using the Item Property
Writing Generic Code
Using a Class of Object
Generic Types
Generic Client Code

Introduction to Windows Forms

Windows Forms
Creating a Windows Forms App
Aligning Controls
Setting the Tab Order
Partial Classes
Windows Forms Event Handling
Add Events for a Control
Events using the Wizard Bar
Events Documentation
Closing a Form
ListBox Control
Command Line Arguments

Windows Forms Controls

Common Properties
Common Events
Event Handling
Using a Label
Using Mnemonics
Using a Text Box
Using a Button
Using a Radio Button and Group Box
Using a Check Box
Using the ToolTip Control
Using a ListBox Control
Adding ListBox Items
Removing ListBox Items
Selecting an Item in a List Box
Using a ComboBox Control
Flexible Events Handlers
Timer Control

User Interface Features

Dialog Boxes
Custom Dialogs
Adding a Custom Dialog
Using DialogResult
Displaying a Dialog
Tab Order and Focus
Initializing a Custom Dialog
Changing the Behavior of a Button’s DialogResult
Modeless Dialogs
Managing the Relationship between Forms
Programming the Apply and Close Buttons
Enabling / Disabling the Apply Button
Common Dialogs
Using a Common Dialog Control
MenuStrip Control
Calculator Starter Code
Attaching a Menu to a Form
Configuring Items in a Menu
Testing the Menu
Responding to Menu Events
Changing Menu Item Appearance
Modified SetOperation()
ContextMenuStrip Control
Context Menu Events
Handling Multiple Events

Database Programming

ADO.NET Architecture
.NET Data Providers
Programming with ADO.NET Interfaces
.NET Namespaces
Connected Data Access
ADO.NET Class Libraries
Connecting to an OLE DB Data Provider
Using Commands
Creating a Command Object
Using a Data Reader
Disconnected Datasets
Data Adapters
Data Bound Controls
DataGridView Control
Performing a Query

New Features in Visual Basic 2008

Local Type Inference
Object Initializers
Array Initializers
Anonymous Types
Partial Methods
Partial Method Definition
Partial Method Implementation
Main Program
Extension Methods
Lambda Expressions
Named Method
Language-Integrated Query (LINQ)
Using IEnumerable