Microsoft Learning:

Exam 70-566:

UPGRADE: Transition your MCPD Windows Developer Skills to MCPD Windows Developer 3.5

Published:March 10, 2009
Language(s):English
Audience(s):Developers
Technology:Microsoft Visual Studio 2008
Type:Proctored Exam
About this ExamThis exam is for candidates who already hold a certification as an MCPD Windows Developer 2.0 and want to upgrade to the .NET Framework 3.5 version.
Audience Profile
Candidates for this exam work on a team in a development environment that uses Microsoft Visual Studio .NET 2008 and the Microsoft .NET Framework 3.5 to create Windows-based applications. Candidates should have at least one year of experience developing Windows-based applications by using the .NET Framework 2.0 and should be able to demonstrate the following:
  • a solid understanding of Windows Forms applications in the context of the.NET Framework 3.5 solution stack
  • experience programming against the System.Windows.Forms object model
  • experience creating graphical user interface applications
  • experience creating data-driven user interfaces (UI)
  • experience deploying Windows applications
Credit Toward CertificationWhen you pass Exam 70-566: UPGRADE: Transition your MCPD Windows Developer Skills to MCPD Windows Developer 3.5, you complete the requirements for the following certification(s):MCPD: Windows Developer 3.5
Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.
Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.
Creating a UI for a Windows Forms Application by Using Standard Controls
  • Add and configure a Windows Forms control
    This objective may include but is not limited to: Use the integrated development environment (IDE) to add a control to a Windows Form or other container control of a project at design time, add controls to a Windows Form at run time, configure controls on a Windows Form at design time to optimize the UI, modify control properties.
  • Create and configure menus
    This objective may include but is not limited to: Create and configure a MenuStrip component on a Windows Form, change the displayed menu structure programmatically, create and configure the ContextMenuStrip component on a Windows Form.
  • Create event handlers for Windows Forms and controls.
    This objective may include but is not limited to: Manage mouse and keyboard events within Windows Forms applications, create event handlers at run time to respond to system or user events dynamically, connect multiple events to a single event handler
Integrating Data in a Windows Forms Application
  • Implement data-bound controls
    This objective may include but is not limited to: Use the DataGridView control to display and update the tabular data contained in a data source, use a simple data-bound control to display a single data element on a Windows Form, implement complex data binding to integrate data from multiple sources, navigate forward and backward through records in a DataSet in Windows Forms, define a data source by using a DataConnector component, create data forms by using the Data Form Wizard
  • Manage connections and transactions
    This objective may include but is not limited to: Configure a connection to a database by using the Connection Wizard, configure a connection to a database by using Server Explorer, configure a connection to a database by using the Connection class, connect to a database by using specific database Connection objects, handle exceptions when connecting to a database, perform transactions by using the Transaction object.
  • Create, add, delete, and edit data in a disconnected environment
    This objective may include but is not limited to: Create a DataSet graphically, create a DataSet programmatically, add a DataTable to a DataSet, add a relationship between tables within a DataSet, navigate a relationship between tables, merge DataSet contents, copy DataSet contents, create a typed DataSet, create DataTables, manage data within a DataTable, create and use DataViews, represent data in a DataSet by using XML, use the OleDbDataAdapter object to access an ADO Recordset or Record, generate DataAdapter commands automatically by using the CommandBuilder object, generate DataAdapter commands programmatically, populate a DataSet by using a DataAdapter, update a database by using a DataAdapter, resolve conflicts between a DataSet and a database by using a DataAdapter, respond to changes made to data at the data source by using DataAdapter events, perform batch operations by using DataAdapters
Implementing Printing and Reporting Functionality in a Windows Forms Application
  • Manage the print process by using print dialogs
    This objective may include but is not limited to: Configure print options at run time, change printers attached to a user’s computer, configure the PrintPreviewDialog control, set page details for printing by using the PageSetupDialog
  • Construct print documents
    This objective may include but is not limited to: Configure the PrintDocument component, print a text document in a Windows form, print graphics in a Windows form, print a document by using the PrintDialog component, alert users to the completion of a print job
Enhancing Usability
  • Implement globalization and localization for a Windows Forms application
    This objective may include but is not limited to: work with resource files for localization, determine installed locales
  • Create and configure multiple-document interface (MDI) forms
    This objective may include but is not limited to: create parent and child forms, identify active child form, send data to an active child form, arrange child forms, create menus for an MDI application
  • Create, configure, and customize user assistance controls and components
    This objective may include but is not limited to: Configure the PropertyGrid component, configure the ProgressBar control, configure StatusStrip, configure ToolTip, configure ErrorProvider, configure HelpProvider controls, configure timer components
Implementing Asynchronous Programming Techniques to Improve the User Experience
  • Manage a background process by using the BackgroundWorker component
    This objective may include but is not limited to: Run a background process, announce completion of a background process, cancel a background process, report on the progress of a background component, request status of a background component
  • Implement an asynchronous method
    This objective may include but is not limited to: Create an asynchronous method, create a new process thread, implement advanced asynchronous techniques
Deploying Windows Forms Controls
  • Create a composite Windows Forms control
    This objective may include but is not limited to: create properties, methods and events, expose properties of constituent controls, create custom dialog boxes, customize a control’s paint and render, set visibility at run time, provide a toolbox bitmap
Configuring and Deploying Applications
  • Configure the installation of a Windows Forms application by using ClickOnce technology
    This objective may include but is not limited to: install a Windows Forms application on a client computer, install a Windows Forms application from a server, configure the required permissions of an application
  • Configure and work with Windows Vista User Account Control (UAC) by using ClickOnce deployments
  • Create a Windows Forms setup application

    This objective may include but is not limited to: configure setup project to add icons during setup, set deployment project properties, configure conditional installation based on operating system versions, set appropriate Launch Conditions based on the .NET Framework version, add custom actions to a setup project, add error-handling code to a setup project
    Configure security features in an application
  • Configure security features in an application
    This objective may include but is not limited to: Configure code access security, configure the application to work with UAC, configure Windows manipulation permissions, configure appropriate file access permissions for the application, control printing security for the application
Validating an application design against specifications
  • Analyze the technical feasibility of application design
    This objective may include but is not limited to: architecture (Windows vs. ASP), resourcing (staffing, skill sets, hardware, OS), network capacity and distribution, application extensibility, existing applications, exposing APIs, timeframe, Integration of third-party controls, applications, and external data sources
  • Evaluate testing requirements
    This objective may include but is not limited to: stress testing, testing against high activity and frequency of operations, testing with a true representative sample, building test cases
  • Evaluate design against available resources
    This objective may include but is not limited to: cost, timeframe, resources (local versus distributed teams), hardware resources, network resources, customer infrastructure (required hardware like servers, routers, RAM and required software like OS)
Planning Data Management
  • Plan data access strategy

    This objective may include but is not limited to: retrieve data from disparate data sources (XML data, flat files, and relational databases, manage class-generated data, LINQ), manage bulk imports and exports (ETL, data transformation), choose appropriate data access layer, manage data purity (revalidate data across trust boundaries), manage data asynchronously, leverage synchronization services, connection management
  • Select a data storage mechanism

    This objective may include but is not limited to: security, target data engine, target environment (workstation capabilities, OS, bandwidth, domain vs. workgroup, connectivity, reliability)
  • Plan data caching and persistence strategy

    This objective may include but is not limited to: managing data cache, managing data persistence(storing disconnected scenarios, managing offline data), mapping database to local cache (loading all customers locally), managing data state
Planning user interaction and presentation strategy
  • Plan data capture

    This objective may include but is not limited to: validating input (type converters, regular expressions, apply business rules), responding to mouse & keyboard input, pick list (combo boxes, list boxes, auto-fill text boxes)
  • Design user interface components

    This objective may include but is not limited to: common dialog boxes, designing navigation using menus, SDI and MDI (multiple monitor configuration, implementing master and detail), single vs. multiple instances of the application, implementing data binding, abstracting with custom controls (abstract base classes), using and creating user controls (extend a custom control to add functionality, creating a custom DataGridView column), integrating with non-Forms UI elements
  • Design a data binding strategy
    This objective may include but is not limited to: populating from XML, populating from SQL, populating from object data source & entity, lazy loads, updating bound data (concurrency management, late commits , lazy commits), data context
Designing security implementation
  • Design role-based security

    This objective may include but is not limited to: implementing security using IPrincipal and IIdentity, custom vs. platform security, managing user functionality, limit or gate access , data decoupling, designing security profiles
  • Design data transmission and storage
    This objective may include but is not limited to: SSL, encryption (offline data, password management)
  • Design authentication and authorization

    This objective may include but is not limited to: login mechanism (domain user accounts, SQL Server user accounts), role-based application configuration, security auditing & logging, file system rights & authorization, web service rights & authentication
Planning application deployment and maintenance
  • Plan for multiple component application deployment

    This objective may include but is not limited to: bootstrap installation, legacy applications, application suite, COM-visible assemblies
  • Plan performance monitoring strategy
    This objective may include but is not limited to: profiling, tracing, performance counters, audit trails
  • Plan exception management strategy

    This objective may include but is not limited to: implementing a framework for logging & exception handling, error handling and reporting, user feedback
Designing the application architecture
  • Design n-layer architecture

    This objective may include but is not limited to: logically separating concerns (business objects layer or tier, data tier), design project structure (effective use of sub projects)
  • Plan component reuse strategy

    This objective may include but is not limited to: sharing common resources, coupling of generic elements to specific elements, Object-Oriented modeling techniques, dealing with COM interoperability issues associated with existing legacy components
  • Plan Multi-threaded implementation and UI responsiveness

    This objective may include but is not limited to: implementing multi-threading and reporting progress, updating the UI from a background thread
Designing for optimized performance
  • Plan optimized data retrieval

    This objective may include but is not limited to: type data sets vs. un-typed data sets, entity models, ORM performance, performance monitoring of tiers for latency and chunkiness (batch retrieval; multiple small calls), roundtrip optimization, caching of frequently used data (pick List data, drop down data, list boxes)
  • Design state management

    This objective may include but is not limited to: storing application state, storing user state, managing server-side state
  • Plan resource management

    This objective may include but is not limited to: memory, GDI handles, unmanaged resources, resource disposition memory management, resource planning (skill set to project tasks), order of application component development
Preparation Tools and ResourcesTo help you prepare for this exam, Microsoft Learning recommends that you have hands-on experience with the product and that you use the following training resources. These training resources do not necessarily cover all of the topics listed in the "Skills Measured" tab.
Classroom Training There is no classroom training currently available.
Microsoft E-Learning There is no Microsoft E-Learning training currently available.
Microsoft Press Books There are no Microsoft Press books currently available.
Practice Tests
Have Questions? For advice about training and certification, connect with peers: For questions about a specific certification, chat with a Microsoft Certified Professional (MCP): To find out about recommended blogs, Web sites, and upcoming Live Meetings on popular topics, visit our community site:

How To Get It

Schedule your exam through the following exam provider:

Related Services