LOGO For Immediate Assistance Call 855-211-9361

Open Enrollment

Intermediate & Advanced .NET Programming (640)

Price: $1,750.00

Call for availability 855-211-9361

PB Tech's Advanced .NET Programming Capstone Series teaches students to work with intermediate and advanced features in the .NET framework. The first part of 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. It uses examples in a number of execution contexts including the Web (ASP.NET) and Windows Forms. The second part of the class provides an in-depth look at a number of advanced technologies in .NET, with a focus on features of the .NET framework that emphasize multi-tier and distributed architectures.

Courses in this Capstone series include:

661 Intermediate .NET Programming using VB.NET and C#
662 Advanced .NET Programming using VB.NET and C#


Students can choose to enroll in this 5-day course or choose to attend classes individually. By enrolling in the Capstone Series instead of the individual courses, students benefit from a $100 savings off the total tuition. Students who successfully complete the class exercises and/or Capstone project will receive the PB Tech Certification along with real-world sample code.

Course Overview

By the end of the class students will be able to:

  • Understand and work with advanced OO concepts such as Aggregation, Namespaces, and Reflection
  • Learn about Delegates and Events
  • Learn about .NET's support for multi-threading and thread synchronization
  • Learn advanced ADO.NET and XML support
  • Learn how to create and consume components, and work with COM components
  • Learn to work with the Messaging and Remoting architectures
  • Understand .NET support for transaction management
  • Learn about the classes to support advanced networking
  • Understand advanced security and deployment in .NET
  • Learn how to deploy applications using .Net and VS.NET

Prerequisites

Prior programming experience in at least one object-oriented language such as a .NET language (e.g., C#, VB.NET), Java, C++, or SmallTalk, or significant programming experience in a modern language such as MS Visual Basic.

Course Outline

  • Reflection

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

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

    • Understanding 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’s 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
  • Overview of the .NET Framework – A Refresher

    • Introduction
    • .NET Framework Base Class Library (BCL)
    • Common Language Runtime (CLR)
    • Common Type System
    • Common Language Specification
    • Namespaces
    • Assemblies
    • Application Domains
  • The .NET Distributed Architecture

    • Introduction
    • The Progression of Application Design
    • Remote Processing
    • The World Wide Web
    • The .NET Solution
    • Roles in Distributed .NET Development
  • Setting Up Course Exercise Solutions

    • Create a Blank Solution
  • Messaging

    • Messaging Architecture
    • Messaging Network Setup
    • Creating and Referencing Message Queues
    • Sending Messages
    • Receiving Messages
    • Message Queue Security
    • Sending and Receiving Complex Objects
    • Example: Message Queue Inspector
  • Remoting

    • Remoting Architecture
    • Instantiating Using Activator Methods: GetObject() and CreateInstance()
    • Communicating From the Remote Object Using Events
    • Asynchronous Calls
  • Transactions

    • What are Transactions?
    • How does .NET provide support for transactions?
    • Manual Transactions
    • Automatic Transactions
  • Networking in .NET: WebClient, WebRequest, and WebResponse

    • System.NET Namespace
    • The WebClient Class
    • HTTP Derivations of WebRequest and WebResponse
    • TCP and Socket Classes
  • .NET Security

    • Why do we need security?
    • Code Access Security
    • Cryptographic Security
    • Web Service Security
    • ASP.NET Web Forms User Authentication and Authorization
  • Deployment

    • Overview of Deployment in .NET
    • VS.NET Build Configurations
    • Copying a Web Application
    • Creating a Web Setup Project
  • Deployment Settings Using Conditional Compilation With Compile-Time Constants

    • Compile-Time Compilation Constants
    • Use Build Configurations In Your Projects
    • Suggested Build Configuration Model
    • Example: Using Bulid Configuration Settings to Show and Hide Controls
  • Refresher: 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
  • 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