The Philosophy of .NET
- Understand the limitations of COM
- Enumerate the benefits of .NET
- The Common Type System (CTS)
- The Common Language Specification (CLS)
- The Common Language Runtime (CLR)
- Assemblies, metadata and manifests
- The Common Intermediate Language (CIL)
- Survey the .NET Namespaces
- Platform Independent .NET (Mono / DotGnu distributions)
- Choosing a managed language (C#, VB.NET, MC++)
- Developing with Visual Studio.NET 2003
- Developing with the C# command line compiler (csc.exe)
Building .NET Applications in C#
- Defining class types using C#
- Process command line arguments
- Looping and decision constructs
- Method overloading
- C# parameter modifiers (out, ref, params)
- Working with structured exception handling
Object Oriented Programming with C#
- Constructors and Finalizers
- Encapsulation via type properties
- Static fields, members and constructors
- The const and readonly modifiers
- Implementation Inheritance and virtual members
- Abstract base classes / abstract members
- Interface based polymorphism
- Explicit interface implementation
- Rules of type casting
- Nested types
- Operator overloading
Common Language Runtime Fundamentals
- Understand value types vs. reference types
- The role of System.Object
- Understand boxing and unboxing
- The role of System.Array, System.String and System.Enum
- Buidling custom namespaces
- Investigate System.Collections
- Building type indexers
- Understanding delegate types
- The delegate / event relationship
- Interact with the CLR garbage collector (System.GC)
Understanding .NET Assemblies
- Review the limitations of classic COM binaries
- Assembly Characteristics
- Contrast private and shared assemblies
- Deploying private assemblies
- Cross language inheritance
- Understanding strong names
- Deploying shared assemblies
- Author application configuration files
- Versioning policies and shared assemblies
- Understand publisher policy
- Working with codebase
Reflection and Attribute Based Programming
- The role of reflection
- The role of System.Type
- Dynamic loading of external assemblies
- Late binding under the .NET platform
- Understand attribute based programming
- The System.Attribute type
- Building custom attributes
Programming Windows Forms
- Understand the derivation of a Form type
- The Application class
- Build Menu Systems
- Handle keyboard events
- Handle mouse events
- Survey the Windows Form controls set
- The role of GDI+ (System.Drawing and friends)
- Learn how to build Windows Forms Dialog Boxes
- Understand Form Inheritance
|
|
Input, Output and Object Serialization
- Survey the System.IO namespace
- Learn to manipulate a directory and file structure.
- Open, read, write and close text files.
- The role of object serialization
- The [Serializable] attribute
- The BinaryFormatter / SoapFormatter types
Understanding Threads
- Define a thread and understand when multithreading is useful
- Discuss the issues of concurrency and synchronization
- Use C# and the CLR to spawn and control threads
- Synchronize threads using the lock keyword
- Synchronize threads using the Monitor and Interlocked class
- The role of the [Synchronization] attribute
- Run tasks asynchronously using delegates
- Schedule task using the built-in thread pool
Interoperability with Legacy Systems
- The System.Runtime.InteropServices namespace
- Understand how to call unmanaged APIs (PInvoke)
- Interacting with custom C-based DLLs
- Call COM types from .NET types (RCW)
- Call .NET types from COM types (CCW)
Data Access with ADO.NET
- Understand the ADO.NET object model
- Work with ADO.NET DataReaders
- Working with Command types
- Build parameterized queries
- Trigger strored proceedures via ADO.NET
- Work with ADO.NET DataSets and DataAdapters
- Understand ADO.NET DataRelation types
- Work with DataView types
Web Development with ASP.NET
- Examine the architecture of an ASP.NET Web Application
- Survey the ASP.NET namespaces
- Work with the `code behind'
- Understand the role of the Page type
- Work with ASP.NET Web Controls
- Interacting with the request / response
- Trace and debug ASP.NET applications
Building (and consuming) XML Web Services
- Understand the role of XML Web Services
- The role of the [WebMethod] attribute
- The role of the Web Service Description Language (WSDL)
- Expose custom types from an XML Web Service
- Generating client proxies
A Guide to Microsoft .NET Certification
- Discuss the role of certification
- List the requirements for MCP, MCAD, MCSD
- Look at the process for achieving MCAD and MCSD certification
- List Web sites, practice tests and other certification resources
|