Visual Studio

Programming with the Microsoft .NET Framework (Microsoft Visual Basic.NET)
(Microsoft Training Course: 2415) - 5 days - £2640 exc VAT

> Target Audience
The goal of this course is to help experienced, professional software developers understand the Microsoft .NET Framework. In addition to offering an overview of the .NET Framework and an introduction of key concepts and terminology, the course provides a series of labs, which introduce and explain .NET Framework features used to code, debug, tune, and deploy applications
> Course outline
  1. Overview of the Microsoft .NET Framework
  2. Introduction to a Managed Execution Environment
  3. Working with Components
  4. Deployment and Versioning
  5. Common Type System
  6. Working with Types
  7. Strings, Arrays, and Collections
  8. Delegates and Events
  9. Memory and Resource Management
  10. Data Streams and Files
  11. Internet Access
  12. Serialization
  13. Remoting and Web Services

Module 1: Overview of the Microsoft .NET Framework
  • Overview of the Microsoft .NET Framework
  • Overview of Namespaces
  • Describe the .NET Framework and its components.
  • Explain the relationship between the .NET Framework class library and namespaces.
Module 2: Introduction to a Managed Execution Environment
  • Writing a .NET Application
  • Compiling and Running a .NET Application
  • Create simple console applications in Visual Basic .NET.
  • Explain how code is compiled and executed in a managed environment.
  • Explain the concept of garbage collection
Module 3: Working with Components
  • An Introduction to Key .NET Framework Development Technologies
  • Creating a Simple .NET Framework Component
  • Creating a Simple Console Client
  • Creating an ASP.NET Client
  • Create a simple .NET Framework component in Visual Basic.
  • Implement structured exception handling.
  • Create a simple .NET Framework console application that calls a component.
  • Create a .NET Framework client application by using the Windows Forms library.
  • Create an .ASP.NET page that uses the previously developed .NET Framework component to create an ASP.NET application.
Module 4: Deployment and Versioning
  • Introduction to Application Deployment
  • Application Deployment Scenarios
  • Related Topics and Tools
  • Package and deploy simple and componentized applications.
  • Create strong-named assemblies.
  • Install and remove assemblies from the global assembly cache.
  • Configure applications to control binding based on assembly location and version data.
Module 5: Common Type System
  • An Introduction to the Common Type System
  • Elements of the Common Type System
  • Object-Oriented Characteristics
  • Describe the difference between value types and reference types.
  • Explain the purpose of each element in the type system, including values, objects, and interfaces.
  • Explain how the object-oriented programming concepts such as abstraction, encapsulation, inheritance, and polymorphism, are implemented in the Common Type System.
Module 6: Working with Types
  • System.Object Class Functionality
  • Specialized Constructors
  • Type Operations
  • Interfaces
  • Managing External Types
  • Apply attributes to control visibility and inheritance in classes and interfaces.
  • Create and use interfaces that define methods and properties.
  • Explain how boxing and unboxing work and when boxing and unboxing occur.
  • Use operators to determine types at run time and to cast values to different types.
  • Explain what features are available to work with unmanaged types, such as COM types
Module 7: Strings, Arrays, and Collections
  • Strings
  • Terminology - Collections
  • .NET Framework Arrays
  • .NET Framework Collections
  • Parsing, formatting, manipulating, and comparing strings.
  • Use the classes in the System.Array and System.Collections namespaces.
  • Improve the type safety and performance of collections by using specialized collections and class-specific code.
Module 8: Delegates and Events
  • Delegates
  • Multicast Delegates
  • Events
  • When to Use Delegates, Events, and Interfaces
  • Use the delegate class to create type-safe callback functions and event-handling methods.
  • Use the Event keyword to simplify and improve the implementation of a class that raises events.
  • Implement events that conform to the .NET Framework guidelines.
Module 9: Memory and Resource Management
  • Memory Management Basics
  • Non-Memory Resource Management
  • Implicit Resource Management
  • Explicit Resource Management
  • Optimizing Garbage Collection
  • Describe how garbage collection manages object memory.
  • Implicitly manage non-memory resources by using a destructor's finalize code.
  • Explicitly manage non-memory resources by using client-controlled deterministic release of resources.
  • Write code by using the temporary resource usage design pattern.
  • Programmatically control the behaviour of the garbage collection.
  • Describe advanced garbage collection features.
Module 10: Data Streams and Files
  • Streams
  • Readers and Writers
  • Basic File I/O
  • Use Stream objects to read and write bytes to backing stores, such as strings and files.
  • Use BinaryReader and BinaryWrite objects to read and write primitive types as binary values.
  • Use StreamReader and StreamWriter objects to read and write characters to a stream.
  • Use StringReader and StringWriter objects to read and write characters to strings.
  • Use Directory and DirectoryInfo objects to create, move, and enumerate through directories and subdirectories.
  • Use the FileSystemWatcher objects to monitor and react to changes in the file system.
  • Explain the key features of the .NET Framework's isolated storage mechanism.
Module 11: Internet Access
  • Internet Application Scenarios
  • The WebRequest and WebResponse Model
  • Application Protocols
  • Handling Errors
  • Security
  • Best Practices
  • Use the basic request/response model to send and receive data over the Internet.
  • Use the System.Net classes to communicate with other applications by using the Hypertext Transfer Protocol (HTTP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and Socket Internet protocols.
Module 12: Serialization
  • Serialization Scenarios
  • Serialization Attributes
  • Object Graph
  • Serialization Process
  • Serialization Example
  • Deserialization Example
  • Custom Serialization
  • Custom Serialization Example
  • Security Issues
  • Write an application that serializes an object graph by using either a binary or Simple Object Access Protocol (SOAP) XML format.
Module 13: Remoting and Web Services
  • Remoting
  • Remoting Configuration Files
  • Web Services
  • Write and configure distributed applications that use .NET Remoting.
  • Create a Web Service by using Visual Studio .NET and ASP.NET.
  • Consume a Web Service by using the Web Services Description Language tool (Wsdl.exe).
> Pre-Requisites
Before attending this course, students must meet the following prerequisites:
> Purpose
At the end of the course, students will be able to list the major elements of the .NET Framework and explain how they fit into the .NET platform, explain the main concepts behind the Common Language Runtime and use the features of the .NET Framework to create a simple application, create and use components in Windows Forms-based and ASP .NET-based applications, use the deployment and versioning features of the .NET Framework Common Language Runtime to deploy multiple versions of a component, create, use, and extend types by understanding the Common Type System architecture, create classes and interfaces that are functionally efficient and appropriate for given programming scenarios, use the Base Class Library to efficiently create and manage strings, arrays, collections, and enumerators, use delegates and events to have an event sender object signal the occurrence of an "action" to an event-receiver object, describe and control how memory and other resources are managed in the .NET Framework, read from and write to data streams and files, and serialize and deserialize an object graph, use the System.Net namespace classes to develop applications that use Internet resources, create distributed applications by means of Web Services and Object Remoting, identify the Microsoft Visual Studio® .NET development tool and .NET Servers that may be used to build .NET Framework applications.