Overview
This 5-day, lecture-and-lab course presents object-oriented programming with Visual Basic 2008. Key topics include the Visual Basic 2008 Express IDE (or Visual Studio 2008), classes, objects, encapsulation, interfaces, inheritance, polymorphism, abstract classes, creating class libraries, Language Integrated Query (LINQ), generic collections, event-driven programming, Windows Forms graphical user interfaces (GUIs), Windows Presentation Foundation (WPF) GUI and graphics, exception handling, file processing and generics. The object-oriented concepts in this course are presented with a focus on the differences between Visual Basic and other programming languages. Students create Visual Basic applications, understand Visual Basic object-oriented programming, learn to use various .NET Framework Class Library classes and participate in extensive laboratory assignments for hands on experience. The course offers extensive hands-on laboratory experience. Solutions are provided for laboratory exercises. The course includes approximately 60% lecture and 40% laboratory exercises. After taking this course, students will be prepared to take VB300—Advanced Visual Basic 2008.
Prerequisites
Object-oriented programming in a language such as C#, C++ or Java
Introduction
Review of Visual Basic syntax and concepts presented in the following chapters of Visual Basic 2008 How to Program:
- Chapter 2—Introduction to the Visual Basic Express 2008 IDE
- Chapter 3—Introduction to Visual Basic Programming
- Chapter 4—Introduction to Classes and Objects
- Chapter 5—Control Statements: Part 1
- Chapter 6—Control Statements: Part 2
- Chapter 7—Methods: A Deeper Look
- Chapter 8—Arrays
Introduction to LINQ and Generic Collections
- Querying an Array Using LINQ
- Introduction to Collections
- Querying a Generic Collection Using LINQ
- Deitel LINQ Resource Center
Classes and Objects: A Deeper Look
- Time Class Case Study
- Class Scope
- Object Initializers
- Default and Parameterless Constructors
- Time Class Case Study: Overloaded Constructors
- Partial Classes
- Composition
- Using Me to Access the Current Object
- Garbage Collection
- Shared Class Members
- Const and ReadOnly Members
- Object Browser
- Time Class Case Study: Creating Class Libraries
- Time Class Case Study: Extension Methods
- Delegates
- Lambda Expressions
- Anonymous Types
Object-Oriented Programming: Inheritance
- Base Classes and Derived Classes
- Protected Members
- Relationship between Base Classes and Derived Classes
- Creating and Using a CommissionEmployee Class
- Creating a BasePlusCommissionEmployee Class without Using Inheritance
- Creating a CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy
- CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using Protected Instance Variables
- CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using Private Instance Variables
- Constructors in Derived Classes
- Software Engineering with Inheritance
- Class Object
- Friend Members
Object-Oriented Programming: Polymorphism
- Polymorphism Examples
- Demonstrating Polymorphic Behavior
- Abstract Classes and Methods
- Case Study: Payroll System Class Hierarchy Using Polymorphism
- Demonstrating Polymorphic Processing, Expression TypeOf…Is, TryCast and Downcasting
- Summary of the Allowed Assignments between Base-Class and Derived-Class Variables
- NotOverridable Methods and NotInheritable Classes
- Case Study: Creating and Using Interfaces
- Common Interfaces of the .NET Framework Class Library
Exception Handling
- Exception-Handling Overview
- Example: Divide by Zero Without Exception Handling
- Example: Handling DivideByZeroExceptions and FormatExceptions
- Enclosing Code in a Try Block
- Catching Exceptions
- Uncaught Exceptions
- Termination Model of Exception Handling
- Flow of Control When Exceptions Occur
- .NET Exception Hierarchy
- Determining Which Exceptions a Method Throws
- Finally Block
- Exception Properties
- User-Defined Exception Classes
Graphical User Interfaces with Windows Forms: Part 1
- Windows Forms
- Event Handling
- A Simple Event-Driven GUI
- Another Look at the Visual Studio Generated Code
- Delegates and the Event-Handling Mechanism
- Other Ways to Create Event Handlers
- Locating Event Information
- Control Properties and Layout
- Labels, TextBoxes and Buttons
- GroupBoxes and Panels
- CheckBoxes and RadioButtons
- PictureBoxes
- ToolTips
- NumericUpDown Control
- Mouse-Event Handling
GUI with Windows Presentation Foundation
- Windows Presentation Foundation (WPF)
- XML Basics
- Structuring Data
- XML Namespaces
- Declarative GUI Programming Using XAML
- Creating a WPF Application in Visual Basic Express
- Laying Out Controls
- General Layout Principles
- Layout in Action
- Event Handling
- Commands and Common Application Tasks
- WPF GUI Customization
- Using Styles to Change the Appearance of Controls
- Customizing Windows
- Defining a Control’s Appearance with Control Templates
- Data-Driven GUIs with Data Binding
Graphics and Multimedia
- Controlling Fonts
- Basic Shapes
- Polygons and Polylines
- Brushes
- Transforms
- WPF Customization: A Television GUI
- Animations
Files and Streams
- Classes File and Directory
- Creating a Sequential-Access Text File
- Reading Data from a Sequential-Access Text File
- Serialization
- Creating a Sequential-Access File Using Object Serialization
- Reading and Deserializing Data from a Sequential-Access File
Data Structures and Generic Collections
- Generic Collections Overview
- Working with Generic Collections
- Generic Class LinkedList
- Generic Class Dictionary
- Generic Class SortedDictionary
- Introduction to Generic Classes and Methods
- Motivation for Generic Methods
- Generic Method Implementation
- Type Constraints
- Overloading Generic Methods
- Generic Classes
- Primitive-Type Structures; Boxing and Unboxing
Optional Object-Oriented Design (OOD) with the Unified Modeling Language (UML) Case Study
An optional topic for our object-oriented programming classes is our case study on object-oriented design using the UML in which we design and fully implement the software for a simple automated teller machine (ATM). We introduce a subset of the UML 2.0, then guide the reader through an end-to-end first object-oriented design and implementation experience which ends with a walkthrough of the complete code.
Price
- $12,995 lecture fee for up to 20 students maximum.
- Client purchases the books, at its own expense, directly from Pearson (the publisher) at the discounted Deitel rate.
- Instructor Travel Reimbursement (if travel is required).
Courses in the Visual Basic 2008 Curriculum
