Specifically an MCPD, or a Microsoft Certified Professional Developer has an amalgamation of MCPD windows developer course and MCPD enterprise application course conjoined into one single course with the area of specialisation left to the student. This makes him a pro at PRO: designing and developing windows applications, an expert at Microsoft .NET Framework 2.0, in the application development foundation level as well as a windows-based client development pioneer.
Course Contents (30 sessions of 3hrs each)
Collections and Generics • Primary Collection Types • Collections and Collection Interfaces. • ArrayLists, Stacks, and Queues. • Enumerators and Comparers. • Hashtable and SortedList Key/Value collections. • Generic Collections • generic Lists, Stacks, and Queues. • linked and doubly linked lists. • generic Dictionary, SortedList, and SortedDictionary Key/Value collections. • Specialized Collections • type-safe specialized String collections. • high-performance specialized dictionarys. • specialized String-Based key collections. • Collection Base Classes • Create custom collections. using Collection Base classes. • Create custom dictionaries using Dictionary Base types.
Configuration and Installation • Assemblies • Create Assemblies. • Assign strong names. • Deploy to the Global Assembly Cache. • Install assemblies by using installer classes • Install assemblies using the Installer, AssemblyInstaller and ComponentInstaller. • Manage assembly installation using Installer Collection and Install Context. • Handle installation events • configuration classes and files • Configuration classes to manage application settings. • Manage configuration elements and actions. • Create custom configuration classes. • Configuring the .NET Framework runtime.
Monitoring and Debugging • Manage event logs • Read and write to an event log. • Manage Application Processes • Retrieve running processes and modules. • Retrieve information about the current process.Start and stop application processes. • Manage Application Performance • Debug and add application tracing • Microsoft Visual Studio® 2005 debugger for examining exceptions. • Programmatically debug applications. • Configure the Visual Studio 2005 debugger with debugger attributes. • StackFrame and StackTrace classes. • Embed Management and Instrumentation • management classes. • Subscribe applications to management events. • Retrieve system resource information via WMI.
File IO • Manage the File System • Streams, Stream reader and Stream writer classes to access data. • Manipulate strings efficiently
Gobalization • Culture Information by Using Globalization Classes • Access Culture and Region Information using CultureInfo and RegionInfo • Using DateTimeFormatInfo for format Dates • Using NumberFormatInfo to format numeric values • Comparing Information using CompareInfo • Create a Custom Culture • Build a Custom Culture with Culture and RegionInfoBuilder • Primary Encoding Classes • Using Encoding and EncodingInfo to encode characters • Encoding using ASCII and Unicode Standards • Advanced Encoding Classes • Handling Failure Events with Encoder and EncoderFallback • Handling Failure Events Using Decoder and DecoderFallback
Delegates and Events • Delegates, events Serialization • Serialize to Binary and SOAP • Using the SoapFormatter • Using the BinaryFormatter • Serialize to XML • Serializing objects using XmlSerializer • Customizing serialization with serialization attributes • Customizing serialization using IXmlSerializable • Handling XML Serialization Events • Create Custom Serialization Classes • Using Serialization interfaces • Creating custom formatters • Handling Serialization Events • Using ObjectManger to manage deserialized objects
GDI+ • Graphics, Brushes, Pens, Colors, and Fonts • Manipulate Shapes and Sizes • Images, Bitmaps, and Icons Code Access Security • Configure Code Access Security • Manage Security Policy • Manage Permissions • Manage Access Control • Manage User Identity Information Cryptography • Encrypt Data • Hash Data • Extend the Cryptographic Behavior • Manage Configuration Information with Cryptography Classes
Interoperability • Import a Type Library into .NET • COM Types in Managed Code • Compile and Deploying Interop applications • Call Win32 API Functions • Create Prototypes in Managed Code • Call COM Functions from managed code • Map exceptions to HRESULT • How pinvoke marshals data • Control data marshalling with Marshal and MarshalAsAttribute
Service Applications and Email • Create a Windows service using ServiceBase • Install a service using ServiceInstaller • Debug a service using Microsoft Visual Studio® • Control a service using ServiceController • E-mail Messages • Create a message using Mail classes • Add Attachments to a message • Send a Message with SmtpClient • Handle E-mail Exceptions • Handle the SendComplete
Display and edit data by using data-bound controls. • Binding Data to a Control • DataGridView Control • Explain simple and complex data binding. • Describe the scenarios in which the DataGridView control is used. • Add a data source to a project. • Bind data to a control at run time. • Use the BindingSource component and BindingNavigator control to create a data-bound Windows Form. • Use the DataGridView control to display and update tabular data from a data source. Provide user assistance and enhance usability. • Adding and Configuring User Assistance Controls • Implementing Accessibility Features • Implementing Globalization and Localization • Running a Procedure at Set Intervals • Displaying Data Source Errors
Create consistent applications by using dialogs and forms inheritance. • Dialog Boxes in a Windows Forms Application • Windows Forms Inheritance • Adding and Configuring Dialog Box Components • Creating a Custom Dialog Box • Implementing Windows Forms Inheritance • Modifying an Existing Form to Inherit from a Base Form (if time permits) Add print and report functionality to a Windows Forms application. • Printing in a Windows Forms Application • Reporting in a Windows Forms Application Perform asynchronous tasks by using the BackgroundWorker component. • Asynchronous Tasks in Windows Forms Applications
Deploy a Windows Forms application by using ClickOnce. • Windows Forms Application Deployment Options • ClickOnce Technology Overview • Publishing a ClickOnce Application • Installing and Testing a ClickOnce Application
Build MDI applications. • Creating MDI Parent and Child Forms • Displaying and Comparing Information on MDI Child Forms • Implementing Menu Merging in MDI Applications Customize Windows Forms and controls. • Creating a Control That Inherits from an Existing Control • Creating a Nonrectangular Windows Form • Creating a Custom User Control
Create customized print components. • Printing Features That Are Supported by .NET Framework 2.0 • Drawing Print Document Content by Using GDI+ Perform drag-and-drop operations and implement Clipboard support. • Implementing Drag-and-Drop Functionality in a Windows Forms Application • Adding Clipboard Support to an Application • Performing Drag-and-Drop Operations by Using TextBox and PictureBox Controls Perform asynchronous tasks in Windows Forms by using multithreaded techniques. • Loading a Bitmap Asynchronously • Performing Calculations by Using Multithreading
Enhance the presentation of Windows Forms applications. • Programming the DataGridView Control • Viewing and Persisting Application Settings by Using the PropertyGrid Control • Implementing a User Interface in the Style of Outlook by Using RAD Features
Connect to databases and read data. • Connecting to a Database • Saving a Connection String Securely in an Application Configuration File • Retrieving Data from a Database • Handling Connection Events and Exceptions • Configuring and Using Connection Pooling Query and update databases by using commands. • Creating and Running Query Commands • Creating and Running Parameterized Commands • Creating and Running Update Commands • Using Globalized Formats for Storing and Accessing Data
Perform transactional operations. • Performing Data Updates within a Transaction • Choosing an Appropriate Isolation Level for a Transaction • Enlisting in a Distributed Transaction • Managing Transactions in the Data Tier Perform disconnected operations programmatically. • Creating a DataSet Programmatically • Populating and Saving a DataSet • Adding, Modifying, and Deleting Data in a DataSet • Merging DataSets • Creating and Using DataViews Perform disconnected operations by using Visual Studio 2005 wizards. • Creating a Typed DataSet by Using the DataSet Designer • Loading, Displaying, and Saving Data in a Typed DataSet • Adding Code to a Typed DataSet • Creating a Typed DataSet by Using the Data Source Configuration Wizard • Adding Queries to a Table Adapter
Perform XML operations on disconnected data. • Saving a DataSet as XML Data • Loading a DataSet from XML • Saving and Loading DataSet Schema Information Read and write XML data. • Writing XML Data by Using XmlWriter • Reading XML Data by Using XmlReader Process XML data by using the Document Object Model DOM. • Reading XML Data by Using DOM • Writing XML Data by Using DOM Minimize and handle database operation conflicts. • Reading Committed Data by Using Locks • Reading Committed Data by Using Statement-Level Snapshots • Reading Committed Data by Using Transaction-Level Snapshots • Handling Data Concurrency by Using ADO.NET
Handle large objects. • Reading Large Values from SQL Server • Writing Large Values to SQL Server • Conserving Resources When Writing Large Values to SQL Server Enhance database performance. • Accessing Multiple Result Sets Concurrently • Performing Asynchronous Data Access Operations • Performing a Batch Update • Performing a Bulk Data Copy Create managed code objects for SQL Server 2005. • Creating Managed Stored Procedures and Triggers • Creating Managed User-Defined Functions • Creating a Managed Aggregate • Creating a Managed User-Defined Type • Importing Existing Assemblies into SQL Server 2005
Query XML by using XPath. • The XPath Data Model • The Process for Selecting and Editing XML Data by Using XPathNavigator • The Process for Evaluating XPath Expressions by Using XPathNavigator Transform XML by using XSLT style sheets. • Transforming an XML Document by Using an XSLT Style Sheet • Resolving External Resources During XSLT Processing • Passing Parameters into an XSLT Style Sheet • Creating and Using Extension Objects
Designing and Developing a User Interface • layout for the visual interface. • Evaluate a strategy for implementing a common layout throughout the UI. • Choose an appropriate control based on design specifications. • Choose an appropriate data validation method at the UI layer. • Choose appropriate user assistance and application status feedback techniques. • Choose an appropriate mechanism to deliver multimedia data from an application.
Designing and Developing a Component • create a single component or multiple components. • Decide which tier of the application a component should be located. • Decide which type of object to build. • Establish the life cycle of a component. • Decide whether to use established design patterns for the component. • Decide whether to create a prototype for the component. • Document the design of a component by using pseudo code, class diagrams, sequence diagrams, activity diagrams, and state diagrams.
• Develop the public API of a component. • Decide whether existing functionality can be implemented or inherited. • Decide how to handle unmanaged and managed resources. • Decide which extensibility features are required. • Decide whether a component must be stateful or stateless. • Decide whether a component must be multithreaded. • Decide which functions to implement in the base class, abstract class, or sealed class. • Develop an exception handling mechanism. • Analyze data relationships. • Analyze the data handling requirements of a component. • Develop a component to include profiling requirements.
Designing and Developing an Application Framework • Identify a reusable software component from available components to meet the requirements. • reusable software component needs to be extended. • reusable software component needs to be wrapped. • Identify whether any existing functionality needs to be hidden. • Test the identified component that is based on the requirements. • Current exception handling mechanism. • New exception handling technique. • data storage mechanism. • data flow structure. • decision flow structure. • Decide whether to log data. Considerations include policies, security, requirements, and debugging.
• Choose a storage mechanism for logged events. For example, database, flat file, event log, or XML file. • Choose a systemwide event logging method. For example, centralized logging, distributed logging, and so on. • Decide logging levels based on severity and priority. • Monitor specific characteristics or aspects of an application. • Choose event monitoring mechanisms, such as System Monitor and logs. • Decide monitoring levels based on requirements. • Choose a systemwide monitoring method from the available monitoring mechanisms. • Decide which configuration attributes to store. • Choose the physical storage location for the configuration attributes. • Decide in which format to store the configuration attributes. • Choose when to use ASP.NET Administrative tools.
Testing and Stabilizing an Application • Perform a code review. • Create the unit testing strategy. • Evaluate the integration testing strategy. • Evaluate the stress testing strategy. • Evaluate the performance testing strategy. • Evaluate the test environment specification. • Describe the testing scenarios. • Decide coverage requirements.
• Evaluate when to use boundary condition testing. • Decide the type of assertion tests to conduct. • Determine if the component works as intended in the target environment. • Identify component interactions and dependencies. • Verify results. • Resolve a bug. • reported bug. • Reproduce a bug. • Fix a bug.
Deploying and Supporting an Application • Performance spikes. • Performance trends. • Track page response times. • Track logon times. • Monitor and analyze resource usage. • Monitor and analyze security aspects.
• Track bugs that result from customer activity. • Choose when to use ASP.NET 2.0 Health Monitoring APIs. • Evaluate the deployment plan. • Deployment dependencies. • Scripting requirements for deployment.
• Create an application flow-logic diagram. • Validate the production configuration environment. • Considerations include load balancing, Web farms, and Web gardens. • Verify networking settings. • Verify the deployment environment.