Intermediate .NET Programming

Course ID


Course Description

This intermediate class provides a deeper look at a number of intermediate and advanced tools and techniques in .NET. The class provides in-depth coverage on a number of intermediate and advanced tools and techniques in .NET including reflection, delegates and events, threads, and a deeper look at ADO.NET and XML support. For Web developers, learn to create custom server controls, and leverage caching for performance enhancement. The course also teaches advanced techniques in working with data bound controls using ADO.NET and SQL Server. Note: Taught using .NET 2.0 and Visual Studio.NET 2005.


    Prior programming experience in one of the following:
  • At least one object-oriented language such as a .NET (C#, VB.NET), Java, C++, SmallTalk
  • or significant programming experience in a modern language such as MS Visual Basic


Web Developers

Course Content

  • Understanding Reflection
  • Using the Type Class
  • Invoking Members and Instantiating Objects

  • What are Delegates
  • Defining, Instantiating, and Invoking Delegates
  • Example: Using Delegates and Multicast Delegates

  • Understanding Events
  • Common Existing Events
  • Creating Event Handlers to Respond To Events
  • Defining Your Own Events
  • Example: Defining and Raising Events

    Introduction to Multi-Threaded Programming in the .NET Framework
  • What are Threads
  • The .NET Thread Class
  • Controlling a Thread
  • Storing Thread References and GetHashCode()
  • The Form's Invoke Method
  • Example: Looking At a Thread
  • Timer Threads

    Thread Synchronization
  • The Challenge of Multi-Threaded Programming
  • Thread Synchronization
  • Method Synchronization
  • Synchronizing Collection Objects
  • Lock/SyncLock Keywords and the Monitor Class
  • Synchronizing with the ReaderWriterLock
  • Synchronization Using Events

    Intermediate OO: Aggregation, Namespaces, and Advanced Scope
  • What is Aggregation
  • Example: A Generator Modeled In Software
  • Namespaces
  • Advanced Access and Scope
  • Example: Our Generator in an Assembly

    Refresher: ADO.NET Introduction
  • What is ADO.NET
  • An Overview of Relational Database Concepts
  • What is an RDBMS
  • The ADO.NET Object Model
  • Getting the Data Out
  • The IDataReader Interface
  • Introducing the Database Used for the Course
  • Example: Selecting Records Using a DataReader

    Refresher: ADO.NET DataSets and the Disconnected Model
  • What is a DataSet
  • Accessing Data Through a DataSet Tables and Rows
  • Example: Selecting Records from a Database using a DataSet

    ADO.NET Commands and Stored Procedures
  • What is the Command class
  • Executing a Stored Procedure or Query
  • Passing Input Parameters to a Stored Procedure or Query

    ADO.NET Inserts, Updates, and Deletes
  • Modifying Data

    Introducing XML
  • What is XML
  • XML Logical Structure
  • XML Physical Structure
  • XML Design Patterns
  • Applications of XML (and related technologies)

    Parsing XML in .NET with the Xml Namespace
  • Overview of Classes for Parsing XML
  • Parsing XML With XmlReader Classes
  • Parsing XML With the XmlDocument Class

    Advanced: Modifying and Saving XML Using the XmlDocument
  • A Refresher on the XML DOM and the .NET XmlDocument
  • Modifying an XmlDocument
  • Example: Storing Window Positions in an XML Preferences File

    Producing XML from Database Data via ADO.NET
  • Example: Generate and View XML from a DataSet

    Reading XML Data into a DataSet
  • The ReadXml() Method

    Importing XML into the Database
  • XML -> DataSet -> Database

    Introduction to Serialization in .NET
  • What is Serialization
  • Different Serialization Techniques
  • Automatic Serialization with the Formatter
  • Controlling What Gets Serialized
  • Handling Multiple Versions, Forward and Backward
  • Manual Serialization with ISerializable

    Serializing To XML
  • What is XML Serialization
  • Advantages and Disadvantages to XML Serialization
  • Serialization of Complex and Derived Types
  • Shaping the XML
  • Example: An Adult MovieViewer, with a Collection
  • XML Schema Definition Tool (xsd.exe)

    Introducing Components
  • Why Are Components Useful
  • Using Assemblies to Package and Deploy Components

    COM Interoperability With .NET
  • Refresher on OLE Automation
  • COM Interop Example: Automating Excel

For More Information

For training inquiries, call 850-308-1376

or email us at

Course Details

Duration - 5 days
Price - $2995.00 USD

(Discounts may apply. Call for more information.)

Course Actions

Acceletrain Collaborative Learning Environment (formerly know as VILT) places industry certified and expert instructors, peers, learners and multi-media components into a "borderless classroom", and interactive learning environment that can span multiple physical locations. VILT combines the benefits of the traditional brick-and-mortar classroom with innovative learning techniques and the cost savings of internet-based training.