Download It
Upcoming SlideShare
Loading in...5
×
 

Download It

on

  • 2,770 views

 

Statistics

Views

Total Views
2,770
Views on SlideShare
2,770
Embed Views
0

Actions

Likes
1
Downloads
41
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Download It Download It Document Transcript

  • DRILL DESCRIPTIONS A complete guide to the topics, prerequisites, and technical level associated with the latest InnerWorkings Drills.
  • Contents Introduction .....................................................................................................................................1 What the levels mean .............................................................................................................................................................................. 1 Recommended Books .............................................................................................................................................................................. 1 Browse our catalog ................................................................................................................................................................................... 1 ASP.NET Web Development with Visual C#/Visual Basic 2005/2008 .............................. 2 Drill Title: Working with ASP.NET 2.0 Web Forms ...................................................................................................................... 3 Drill Title: State Management and Page navigation .................................................................................................................. 4 Drill Title: Exception Handling and User Input Validation ...................................................................................................... 5 Drill Title: Rich Controls and Services ............................................................................................................................................ 6 Drill Title: Master Pages and Site Navigation ................................................................................................................................ 7 Drill Title: Personalization and Themes ......................................................................................................................................... 8 Drill Title: Web Parts.............................................................................................................................................................................. 9 Drill Title: Creating ASP.NET 2.0 Controls .................................................................................................................................... 10 Drill Title: Reading and Writing XML Data ................................................................................................................................... 12 Drill Title: Consuming and Manipulating data with ADO.NET............................................................................................... 13 Drill Title: Data Source Controls and Data Binding ................................................................................................................... 14 Drill Title: Using Data-bound controls............................................................................................................................................ 16 Drill Title: Membership, Login Controls and Forms Authentication.................................................................................... 18 Drill Title: Authorization and Roles ................................................................................................................................................. 19 Drill Title: Web Application Attacks................................................................................................................................................ 20 Drill Title: Securing and Monitoring ASP.NET Applications .................................................................................................. 22 Drill Title: Styling Websites with Cascading Stylesheets (CSS) ........................................................................................... 24 Developing Web Applications with ASP.NET AJAX ............................................................ 26 Drill Title: The Microsoft ASP.NET AJAX Extensions................................................................................................................. 27 Enterprise Library for .NET Framework 2.0 using Visual C#/Basic 2005/2008............ 28 Drill Title: Working with the Enterprise Library Application Blocks Part 1 ..................................................................... 29 Drill Title: Working with the Enterprise Library Application Blocks Part 2..................................................................... 30 Object-Oriented Design & Development with .NET Framework .......................................31 Drill Title: Object-Oriented Development Fundamentals ...................................................................................................... 32 Drill Title: Input-output ....................................................................................................................................................................... 33 Drill Title: Generics/Collections ....................................................................................................................................................... 35 Drill Title: System Services ................................................................................................................................................................ 36 Drill Title: The .NET Runtime ............................................................................................................................................................ 38 Drill Title: Events and Structural Design Patterns ...................................................................................................................40 Drill Title: Behavioral Design Patterns .......................................................................................................................................... 41 Drill Title: Creational Design Patterns .......................................................................................................................................... 42 Drill Title: Enterprise Patterns.......................................................................................................................................................... 43 Drill Title: Domain-Driven Design Patterns................................................................................................................................. 44
  • Programming Windows Communication Foundation ...................................................... 46 Drill Title: Windows Communication Foundation Fundamentals....................................................................................... 47 Drill Title: Creating Reliable Services with Windows Communication Foundation................................................... 48 Drill Title: Windows Communication Foundation Security ................................................................................................. 49 Programming Windows Presentation Foundation ............................................................. 51 Drill Title: Basic Controls and Layout............................................................................................................................................. 52 Drill Title: Styles and Control Templates ......................................................................................................................................53 Drill Title: Data Binding .......................................................................................................................................................................54 Drill Title: Graphics and Animation ............................................................................................................................................... 55 Drill Title: UserControls and Custom Controls with WPF ...................................................................................................... 56 Programming Windows Workflow Foundation using Visual C#/Basic 2005/2008.... 57 Drill Title: Windows Workflow Foundation Fundamentals ................................................................................................. 58 Drill Title: Programming Sequential Workflows....................................................................................................................... 59 Drill Title: Programming State Machine Workflows................................................................................................................ 60 Drill Title: Developing Custom Activities ...................................................................................................................................... 61 Drill Title: Programming Runtime Services and Hosts ............................................................................................................62 Programming with Visual Studio Team System using Visual C#/Basic 2005/2008 .... 63 Drill Title: Unit Testing with Visual Studio Team System...................................................................................................... 64 Drill Title: Static Analysis, Profiling, and Code Coverage with Visual Studio Team System..................................... 65 Transact-SQL Development using Visual C#/Visual Basic 2005/2008............................ 66 Drill Title: Transact-SQL Fundamentals in SQL Server............................................................................................................ 67 Drill Title: Transact-SQL Enhancements in SQL Server 2005............................................................................................... 68 Silverlight 2 Programming using Visual C#/Visual Basic 2005/2008............................. 69 Drill Title: Managed Code in Silverlight 2 ...................................................................................................................................... 70 Drill Title: Working with Data in Silverlight 2 ............................................................................................................................... 71 .NET Framework 3.5 Programming using Visual C# 2008 / Visual Basic 2008............. 72 Drill Title: New features in C# 3.0/VB 9.0 .................................................................................................................................... 73 Drill Title: LINQ to SQL......................................................................................................................................................................... 74 Drill Title: LINQ to XML........................................................................................................................................................................ 75 Drill Title: ASP.NET Dynamic Data .................................................................................................................................................. 76 Drill Title: ADO.NET Data Services .................................................................................................................................................. 77 Threading in C# / VB using Visual C# 2008 / Visual Basic 2008...................................... 78 Drill Title: Threading in the .NET Framework ............................................................................................................................. 79 Drill Title: Concurrency Patterns..................................................................................................................................................... 80
  • Unit Testing with Visual Studio 2005/2008 using Visual C# /Visual Basic ................... 81 Drill Title: Unit Testing with Visual Studio................................................................................................................................... 82 Drill Title: Unit Testing with NUnit.................................................................................................................................................. 83 Drill Title: Unit Testing with xUnit.net .......................................................................................................................................... 84 Performance in the .NET Framework using Visual C# / Visual Basic ............................ 85 Drill Title: Improving Performance in .NET Framework Applications............................................................................... 86 ASP.NET MVC using Visual C# / Visual Basic....................................................................... 87 Drill Title: ASP.NET MVC Fundamentals...................................................................................................................................... 88 Microsoft Certifications Study Guide with .NET 2.0............................................................ 89 Exam 70-536: Microsoft .NET Framework - Application Development Foundation .................................................... 90 Exam 70-528: Microsoft .NET Framework 2.0 - Web-Based Client Development......................................................... 91 Exam 70-526: Microsoft .NET Framework 2.0 - Windows-Based Client Development ............................................... 92 Exam 70-529: Microsoft .NET Framework 2.0 - Distributed Application Development............................................... 93 Exam 70-547: Designing and Developing Web Applications by using the Microsoft .NET Framework................ 94 Exam 70-548: Designing and Developing Windows Applications by using the Microsoft .NET Framework ..... 95 Exam 70-549: Designing and Developing Enterprise Applications by Using the Microsoft .NET Framework... 96 JavaScript Development with jQuery..................................................................................... 97 Drill Title: Developing with jQuery New!..................................................................................................................................... 98
  • Introduction Recommended Books This document provides a detailed description of InnerWorkings has compiled a recommended list of books InnerWorkings Drills to help you identify which areas of our for those seeking to achieve the required foundation skills for catalog are of greatest interest and relevance to your specific our Drills. For general background applicable to all Drills, we needs. The descriptions also indicate the prerequisites recommend the following books for Visual C# developers: required for each Drill so that you can assess the skills and knowledge necessary to complete individual tasks. • Learning C# 2005 by Jesse Liberty, Brian MacDonald, published by O’Reilly Media, ISBN 0596102097 Each Drill description includes the following information: (Further details at http:// innerworkings.safaribooksonline.com/0596102097) • Overview – a summary of the Drill and what it will enable you to do • Mastering Visual Studio .NET by Jon Flanders, Ian Griffiths, Chris Sells, published by O’Reilly Media, • Audience – a general description of the audience who ISBN 0596003609 (Further details at http:// might be interested in the Drill innerworkings.safaribooksonline.com/0596003609) • What you’ll learn – a description of the key learning • Programming C# 4th Edition by Jesse Liberty, outcomes of each Drill published by O’Reilly Media, ISBN 0596006993 • Is this the Drill you need? – a checklist of Drill (Further details at http:// content that allows you to confirm relevance innerworkings.safaribooksonline.com/0596006993 • What you’ll cover – a listing of the topics covered For Visual Basic developers, we recommend the following: • What you’ll need to know – recommended • Programming Visual Basic 2005 by Jesse Liberty, prerequisites published by O’Reilly Media, ISBN 0596009496 • Drill Details – key Drill details such as the associated (Further details at http:// Developer Program, duration, and level allocated innerworkings.safaribooksonline.com/00596009496) • Mastering Visual Studio .NET by Jon Flanders, Ian What the levels mean Griffiths, Chris Sells, published by O’Reilly Media, ISBN 0596003609 (Further details at http:// InnerWorkings Drills are allocated a rating that indicates the innerworkings.safaribooksonline.com/0596003609) technical level of the topics covered. The overall level classification scheme is as follows: The prerequisite-oriented books listed above can be purchased at your preferred retail store or accessed through Level Description Safari Books Online (if that option is available). Additional books associated with specific Developer Programs are also 1 Suitable for beginners and above. This level addresses listed throughout this document. Many of these specially introductory programming concepts. selected books are freely available through reference links 2 Suitable for programmers with basic (or higher) built into InnerWorkings Drills. programming skills. This level develops essential skills and experience in the basic programming framework. Browse our catalog 3 Suitable for programmers with intermediate (or higher) programming skills. This level explores more For the current listing of all released Drills, browse our advanced topics, or probes more deeply into level 2 catalog at http://www.innerworkings.com/Catalog/ frameworks. Catalog.aspx 1
  • ASP.NET Web Development with Visual C#/Visual Basic 2005/2008 This Developer Program contains the following Drills: • Working with ASP.NET 2.0 Web Forms • State Management and Page navigation • Exception Handling and User Input Validation • Rich Controls and Services • Master Pages and Site Navigation • Personalization and Themes • Web Parts • Creating ASP.NET 2.0 Controls • Reading and Writing XML Data • Consuming and Manipulating Data with ADO.NET • Data Source Controls and Data Binding • Using Data-bound Controls • Membership, Login Controls and Forms Authentication • Authorization and Roles • Web Application Attacks • Securing and Monitoring ASP.NET Applications • Styling Websites with Cascading Stylesheets (CSS) The following books cover the recommended prerequisites for this particular Developer Program: • Programming ASP.NET, 3rd Edition by Jesse Liberty, Dan Hurwitz, published by O’Reilly Media, ISBN 059600916X (Further details at http://innerworkings.safaribooksonline.com/059600916X) • Programming Visual Basic 2005 by Jesse Liberty, published by O’Reilly Media, ISBN 0596009496 (Further details at http://innerworkings.safaribooksonline.com/00596009496) • Writing Secure Code, 2nd Edition by Michael Howard, David C. LeBlanc, published by Microsoft Press, ISBN 0735617228 (Further details at http://innerworkings.safaribooksonline.com/0735617228) 2
  • Drill Title: Working with ASP.NET 2.0 Web Forms Drill Details Status Overview Released This Drill lets you create and configure ASP.NET 2.0’s web server controls and work on techniques involving data binding, dynamic property manipulation, accessibility and dynamic control creation. Developer Program Audience ASP.NET Web This Drill is for developers who want to be able to understand and work comfortably with ASP.NET Development with web server controls and user controls at both design time and run time. Visual C#/Visual Basic 2005/2008 What you’ll learn You will be able to implement and attach event handlers to web server controls. You will also be Number of Tasks able to create a user control and work with its properties and events. After completing this Drill, 6 you’ll also have gained the skills necessary to make web controls more accessible. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • configure basic web server controls and examine how ASP.NET converts these controls to HTML at run time Programming Language • create event handlers and attach them to server control events at design time Visual C# 2005/ • utilize multiple types of list boxes when creating an e-mail contact list 2008 and Visual • add web server controls to a Web Form dynamically, and set their properties and event Basic 2005/2008 handlers programmatically at run time System • make web server controls more accessible to users with disabilities Requirements • create a user control that can be dragged onto a web page at design time, and set properties SQL Server 2000 or and respond to events from that control 2005 What you’ll cover Level 2 • Introduction to ASP.NET web server controls • Using the TextBox, Button and Image controls Drill Code • Using web server control events and implementing Page.IsPostBack property • D0022A-CS • Working with the Command and SelectedIndexChanged events • D0022A-VB • Working with the ListBox, DropDownList and CheckBoxList server controls • Dynamically creating web server controls • Adding a Label and a RadioButtonList control to a PlaceHolder control at runtime • Web control accessibility • Setting the tab order and access keys on server controls • User controls and adding web server controls to a user control, which in turns gets added to a web page What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 3
  • Drill Title: State Management and Page navigation Drill Details Status Overview Released The ASP.NET Framework provides several options for managing state, which include keeping information on the client and storing information on the server between round trips. This Drill Developer allows you to explore these options in detail. Program ASP.NET Web Audience Development with This Drill is for developers who want to be able to understand and work comfortably with state Visual C#/Visual management techniques in ASP.NET 2.0. Basic 2005/2008 What you’ll learn Number of Tasks 5 You will be able to implement various state management techniques in applications using HttpCookies, ViewState, and session state. You will have gained the ability to maintain page state Duration after cross-page posting to another page has occurred. In addition, you will be able to implement 2.5 hours (based on the caching feature in an ASP.NET application and use it in association with SQL cache dependency. estimated coding time of 30 mins per task) Is this the Drill you need? Take this Drill if you want to Programming Language • use HttpCookies for state management and use Request to read HTTP POST and GET Visual C# 2005/ parameters 2008 and Visual • use ViewState for managing persistent user state in your ASP.NET application Basic 2005/2008 • create an ASP.NET web application that maintains access to the page state after cross-page posting to another page System Requirements • use the Session object to persist data in ASP.NET SQL Server 2000 or • persist data using the Cache object and to create SQL Server-based dependencies on 2005 cached items Level What you’ll cover 3 • State management with HttpCookies and reading parameters from Request Drill Code • Using members of the Request and Response objects • D0022B-CS • Working with the HttpCookie class (Visual C# • State management with View State 2005/2008) • Adding to and retrieving from the View State • D0022B-VB (Visual Basic • Implementing cross-page posting and state management 2005/2008) • Managing session state and using the HttpSessionState class • Using SQL Cache Dependency and the SQLCacheDependency class • Working with the caching element of the Web.Config file What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development, server page technology and basic knowledge of SQL Server would also be useful. 4
  • Drill Title: Exception Handling and User Input Validation Overview Applications must be able to handle errors that occur during execution uniformly. The tasks in this Drill Details Drill let you work on useful structured error-handling techniques in your web application. Status Audience Released This Drill is for developers who want to be able to implement structured exception handling techniques and validate user input in ASP.NET 2.0 applications using validation controls. Developer Program What you’ll learn ASP.NET Web You will be able to implement structured exception handling techniques and validate user input in Development with Visual C#/Visual ASP.NET 2.0 applications using validation controls. Basic 2005/2008 Is this the Drill you need? Number of Tasks Take this Drill if you want to 6 • implement error handling to throw and catch exceptions of specific types Duration • create, throw, and catch a custom exception and implement application-level exception 3 hours (based on handling estimated coding time • enforce mandatory fields and perform data comparison and range checks using ASP.NET of 30 mins per task) validation controls Programming • validate the format and content of user input using regular expressions and custom Language validation controls Visual C# 2005/ • validate parts of a web form using validation groups 2008 and Visual Basic 2005/2008 What you’ll cover • Structured exception handling and working with the ArgumentOutOfRangeException, System FileNotFoundException, Exception and Stream classes Requirements SQL Server 2000 or • Creating a custom exception and adding the Serializable attribute 2005 • Throwing and catching a custom exception in your application • Handling ASP.NET application-level errors and working with the customErrors element of Level the Web.Config file 2 • Implementing Global.asax and using the HttpServerUtility and Exception classes Drill Code • Validating user input in Web Forms and implementing the RequiredFieldValidator, CompareValidator, RangeValidator, and Validation summary controls. • D0022C-CS • Using the Page.IsValid property and validating user input using regular expressions and • D0022C-VB custom validation controls • Implementing the RegularExpressionValidator, CustomValidator, and Validation summary controls • Validation Groups and assigning the ValidationGroup property on a number of web server controls • Implementing the RequiredFieldValidator, RegularExpressionValidator, and Validation summary controls What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 5
  • Drill Title: Rich Controls and Services Drill Details Overview Status This Drill lets you work with some of the rich controls in ASP.NET 2.0 (including web wizards) and Released highlights useful techniques such as generating images dynamically. Developer Program Audience ASP.NET Web This Drill is for developers who want to learn about some of the new rich server controls available Development with in ASP.NET 2.0 and how to use them in their applications. It is also for those who want to learn how Visual C#/Visual to implement localization in an ASP.NET 2.0 application. Basic 2005/2008 What you’ll learn Number of Tasks You will be able to implement many of the rich controls available in ASP.NET 2.0 such as the 6 Wizard, FileUpload, AdRotator, Calendar, TreeView, Object Data Source, and FormView. In addition, you’ll be able to localize a web application by creating resource files. You will also have Duration learned how to use client callbacks to update server controls without causing a full page postback. 3 hours (based on estimated coding time of 30 mins per task) Is this the Drill you need? Take this Drill if you want to Programming • use the Wizard control to present a data entry process in a structured manner using Language individual wizard steps and to use the FileUpload control to send files to the server Visual C# 2005/ 2008 and Visual • use the AdRotator and Calendar Web server controls to create an advertisement web page Basic 2005/2008 and to track and gather usage information • create a TreeView control that is data bound to a hierarchical data source control System • use the ObjectDataSource and FormView web server controls to bind to and display Requirements SQL Server 2000 or business objects to the user for manipulation 2005 • create localized resources for French language cultures, both for data and UI elements • use client callbacks to update server controls without causing a full page postback Level 2 What you’ll cover • Using the Wizard and FileUpload controls Drill Code • D0022D-CS • Working with the properties and events of the Wizard control (Visual C# • Using the properties of the FileUpload control 2005/2008) • Using the AdRotator and Calendar controls • D0022D-VB • Using the TreeView control, the DataSource component and data controls (Visual Basic 2005/2008) • Working with the ObjectDataSource component and FormView control • Localization and implementing localization in an application through resource files • Client callbacks What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 6
  • Drill Title: Master Pages and Site Navigation Drill Details Overview Status Released This Drill lets you reuse common code within pages using master pages. Sitemap navigation, sitemap aware controls, and custom provider techniques are also covered. Developer Program Audience ASP.NET Web This Drill is for developers who want to be able to implement master pages in an ASP.NET 2.0 Development with application and use its navigation web server controls. Visual C#/Visual Basic 2005/2008 What you’ll learn You will be able to implement master pages that allow you to define an overall look for every page Number of Tasks of your application using just one file. You will also be able to easily create web page navigation 6 structures using the new site navigation controls and features available with ASP.NET 2.0. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • define the overall layout of your web application using a master page Programming • manipulate the properties and controls of a master page from content pages at runtime Language • use the navigation web server controls and built-in SiteMap providers Visual C# 2005/ • filter site-map nodes based on authorization rules 2008 and Visual Basic 2005/2008 • programmatically modify the site navigation data returned by site-map providers • implement and use a custom file system site-map provider System Requirements What you’ll cover SQL Server 2000 or • Using master pages and working with .master files 2005 • Associating a web form with a master page Level • Using the Content and ContentPlaceHolder controls 2 • Working with master page properties and controls • Using the Page_PreInit event handler of the Page class Drill Code • D0023A-CS • Using the CustomMaster and LayoutMaster classes (Visual C# • Using the navigation web server controls 2005/2008) • Working with the Menu, Treeview, SiteMapPath, and SiteMapDataSource controls • D0023A-VB • Using .sitemap files and working with the sitemap node of the Web.Config file (Visual Basic 2005/2008) • Site navigation security and using the site navigation API • Working with the SiteMap and SiteMapNode classes • Creating a custom site map provider What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 7
  • Drill Title: Personalization and Themes Drill Details Overview Status This Drill enables you to work on the personalization features of ASP.NET 2.0. Using realistic Released programming scenarios, it lets you apply and personalize themes to Web applications and allow users to choose and create color schemes. Developer Program ASP.NET Web Audience Development with This Drill is for developers who want to be able to understand and work comfortably with profiles Visual C#/Visual and themes in ASP.NET 2.0 to enable users to personalize the application. Basic 2005/2008 What you’ll learn Number of Tasks You will be able to create and apply themes to an entire ASP.NET 2.0 application or individual pages 6 or controls. You’ll also be able to define and store unique user information using the new Profile feature of ASP.NET 2.0. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • define and apply a theme to all pages in a web application Programming • create a themeable user control and apply a skin to it Language Visual C# 2005/ • define and store per-user settings for use application-wide in an anonymous profile 2008 and Visual • create a custom profile base class and configure a web application to use it Basic 2005/2008 • migrate custom profile settings from an anonymous user to an authenticated account System • override the default autosave behavior for profiles using complex property types Requirements SQL Server 2000 or What you’ll cover 2005 • Introduction to themes and working with .skin files • Working with the pages element of the Web.Config file Level 3 • Using themes and skins in user controls • Storing user profiles Drill Code • Using the ASP.NET SQL Server Registration Tool to create a database to store profile data • D0023B-CS (Visual C# • Creating a custom profile base class and inheriting from the ProfileBase class 2005/2008) • Applying the SettingsAllowAnonymous and SettingsSerializeAs attributes to a property • D0023B-VB • Migrating anonymous profiles (Visual Basic • Implementing the Profile_OnMigrateAnonymous event handler in the global application 2005/2008) class • Profile autosaving and implementing the Profile_ProfileAutoSaving event handler in the global application class What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 8
  • Drill Title: Web Parts Drill Details Overview Status ASP.NET Web Parts are an integrated set of controls for creating web sites, which enable end users Released to modify the appearance and behavior of web pages directly in a browser. This Drill helps you create Web Parts and, using specific controls, enable end users to add and modify controls at run Developer Program time. Tasks also cover communication, security, and personalization aspects of Web Parts. ASP.NET Web Development with Audience Visual C#/Visual This Drill is for developers who want to be able to implement Web Parts in their ASP.NET 2.0 Basic 2005/2008 applications so they can modify the appearance and behavior of their application in the browser. Number of Tasks What you’ll learn 6 You will be able to implement Web Part controls for pages in various display modes such as browse mode, design mode, catalog mode, and edit mode. You’ll also be able to show and manipulate Web Duration Parts based on user roles and restore a page to its original state. 3 hours (based on estimated coding time Is this the Drill you need? of 30 mins per task) Take this Drill if you want to Programming • create and use Web Parts on a Web Form, using both browse and design modes Language • use the CatalogZone control to add Web Parts controls to the page at run time Visual C# 2005/ 2008 and Visual • employ the EditorZone Web Part to modify Web Parts controls at run time Basic 2005/2008 • implement a static Web Parts connection for communication between Web Parts controls • use the security features of ASP.NET 2.0 to filter Web Parts on a web page System Requirements • personalize Web Parts in both shared mode and user mode SQL Server 2000 or 2005 What you’ll cover • Working with the WebPartManager and WebPartZone controls Level • Adding the Login and Calendar controls to a WebPartZone control 2 • Using the CatalogZone Web Part and the CatalogZone and DeclarativeCatalogPart controls Drill Code • Adding user controls to a CatalogZone control • D0023C-CS • Using the EditorZone Web Part and the EditorZone, AppearanceEditorPart, and • D0023C-VB PropertyGridEditorPart controls • Applying the Personalizable and WebBrowsable attributes to a property • Communication between Web Parts and defining a static Web Part connection between two Web Part controls • Creating a provider and a consumer connection point using the ConnectionProvider and ConnectionConsumer attributes • Web Parts security and filtering, and using the AuthorizationFilter property on Web Part controls • Implementing an event handler for the AuthorizeWebPart event • Personalization in Web Parts, working with shared and user scope, and resetting the state of a page containing Web Parts What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 9
  • Drill Title: Creating ASP.NET 2.0 Controls Overview The tasks in this Drill introduce ASP.NET user controls, which enable you to define your own Drill Details controls and supplement ASP.NET's server controls. Status Audience Released This Drill is for developers who want to be able to create their own controls and use them in their ASP.NET 2.0 applications. These custom controls can be comprised of existing server controls, Developer derived from an existing server control, or created from scratch. It is also for developers who would Program like to know how to add designer support to their custom control or be able to store its state. ASP.NET Web Development with Visual C#/Visual What you’ll learn Basic 2005/2008 You will be able to create a user control encapsulating existing server controls, create and customize a control derived from an existing web control, and create a control derived from the Number of Tasks CompositeControl class. You’ll also be able to persist your custom control’s information using the 6 new ControlState property and implement designer support in custom controls. Duration Is this the Drill you need? 3 hours (based on Take this Drill if you want to estimated coding time of 30 mins per task) • encapsulate existing user interface functionality into a user control so it can be reused within the application Programming • create a server control that derives from an existing server control to add custom Language functionality Visual C# 2005/ 2008 and Visual • generate a server control that derives from the CompositeControl class and is composed of Basic 2005/2008 several built-in controls • build a custom server control that uses control state to persist critical state data across System postbacks Requirements • add support for design-time features such as smart tags and auto-formatting to a custom SQL Server 2000 or 2005 server control • create a custom server control that uses templates to allow design-time customization Level 3 What you’ll cover • Creating a user control comprised of existing web server controls Drill Code • Including an ASP.NET user control in your web page • D0023D-CS (Visual C# • Deriving from an existing web control 2005/2008) • Adding custom functionality to a server control derived from the TextBox server control • D0023D-VB • Composite controls (Visual Basic • Inheriting the CompositeControl class and overriding its RecreateChildControls method 2005/2008) • Overriding the CreateChildControls and RenderChildren methods of the Control class • Control state • Using the ControlState property to persist information specific to your control • Overriding the OnInit, LoadControlState, and SaveControlState methods of the Control class • Adding designer support 10
  • • Adding the design time smart tags and autoformatting features to a custom server control • Working with the DesignerAutoFormatCollection and DesignerActionPropertyItem classes • Applying the Designer attribute to a composite control • Templated controls • Applying the PersistenceMode and TemplateContainer attributes to properties of a custom control What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development and server page technology would also be useful. 11
  • Drill Title: Reading and Writing XML Data Drill Details Status Overview Released This Drill demonstrates how to work with XML data in ASP.NET 2.0. You cover reading and writing XML data, modifying XML files, and validating an XML document against a schema definition. Developer Program Audience ASP.NET Web This Drill is for developers who want to build ASP.NET 2.0 applications that interact efficiently with Development with data stored in XML format, a versatile and widely used means of storing information. Visual C#/2005/ 2008 Visual Basic What you’ll learn 2005/2008 You will learn how to work effectively with XML data in ASP.NET 2.0. The skills you will learn Number of Tasks include reading and writing XML data, modifying XML files using XmlDocument, and validating an 6 XML document against a schema definition document. You will also learn how to reference external functionality from an Extensible Stylesheet Language Transformations (XSLT) style sheet, Duration and query and format XML data using XML Path Language (XPath) and XSLT transformation. 3 hours (based on estimated coding time Is this the Drill you need? of 30 mins per task) Take this Drill if you want to Programming • use the XmlReader with XmlReaderSettings and XmlWriter with XmlWriterSettings Language classes to read and write XML data Visual C# 2005/ • enable an XmlReader to validate an XML document against a schema definition document 2008 and Visual using appropriate XmlReader settings Basic 2005/2008 • modify the contents of an XML document using the XmlDocument class and the Document System Object Model (DOM) Requirements • use the XPath objects exposed by .NET Framework to query an XML file .NET Framework 3.0 • develop an understanding of XSLT using C# and XSLT definition language Level What you’ll cover 2 • Reading and writing XML data using the XMLReader and XMLWriter objects Drill Code • Using the new XmlReaderSettings and XmlWriterSettings classes • D0026A-CS • Validating XML files using an XML schema definition document (XSD) • D0026A-VB • Configuring an XmlReader to validate against an XSD and modifying XML files using XmlDocument and the DOM • Querying an XML data file using XPath and the .NET Framework • Extracting data from an XML document using the XPathNavigator and XPathDocument objects with XPath queries • Transforming XML documents using XSLT stylesheets with components provided by the .NET Framework • Converting data from an XML document into HTML using the new XmlCompiledTransform • Using XSLT extension objects to implement custom routines that process data and perform calculations What you’ll need to know We assume that you’re familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/2008. You’ll also need to be comfortable with Visual C# or Visual Basic syntax and have a working knowledge of XML syntax. A basic understanding of XSLT and XPath is also required. 12
  • Drill Title: Consuming and Manipulating data with ADO.NET Overview This Drill demonstrates how to manage data using ADO.NET. You will complete challenges in Drill Details querying a SQL Server database, manipulating a DataSet, and working with disconnected DataSets. You will also create a strongly typed DataSet, use the DataSet's built-in XML features, and produce Status code that works with multiple data providers. Released Audience Developer This Drill is for developers who want to use ADO.NET technology to access data sources such as SQL Program ASP.NET Web databases, particularly those who want to gain experience using DataSets. Development with Visual C#/Visual What you’ll learn Basic 2005/2008 You will learn the skills needed to manage data using ADO.NET. The skills you will learn include querying a SQL Server database, manipulating a DataSet, and working with disconnected DataSets. Number of Tasks 6 Is this the Drill you need? Take this Drill if you want to Duration 3 hours (based on • execute commands against a SQL Server application via inline SQL and stored procedures estimated coding time using the classes of the System.Data.SqlClient namespace of 30 mins per task) • populate a DataSet with data from a SQL Server database and modify the DataSet offline before persisting the changes back to the database Programming Language • allow data to be modified in a disconnected manner and efficiently written back to the Visual C# 2005/ database where updates are performed by a separate, remote component 2008 and Visual • create a strongly typed DataSet, and save, load, and synchronize XML data with DataSets Basic 2005/2008 • use the generic classes provided by the System.Data.Common namespace to produce code that works with multiple data providers System Requirements SQL Server 2000 or What you’ll cover 2005 • Querying a SQL Server Database from a .NET application • Using classes of the System.Data.SqlClient namespace to execute commands against a SQL Level Server database 3 • Creating and manipulating a DataSet, and working with classes in the System.Data and System.Data.SqlClient namespaces Drill Code • D0026B-CS • Working with disconnected DataSets and sending modified rows to a web service method using the GetChanges method of the DataSet class • D0026B-VB • Creating strongly typed DataSets using the Dataset Designer and XML • Maintaining a local copy of database data in XML format using the XML features of the DataSet and DataTable classes • Writing provider-independent code in ADO.NET using the System.Data.Common namespace What you’ll need to know We assume that you’re familiar with the concepts of programming and you’ve experience with Visual Studio 2005/2008. You’ll also need to be comfortable with Visual C# or Visual Basic syntax and have a good knowledge and understanding of database concepts with SQL Server. You'll need to know Windows Forms, and previous experience of ADO.NET 1.0 is useful for appreciating the new features of ADO.NET 2.0. 13
  • Drill Title: Data Source Controls and Data Binding Drill Details Status Overview Released This Drill shows how to use ASP.NET 2.0's powerful data source controls, which act as intermediaries between an application's interface controls and the underlying data. Tasks show Developer how the SqlDataSource control interacts with a SQL database, how the ObjectDataSource control Program relates to business objects, and how an XmlDataSource control can display hierarchical ASP.NET Web information from an XML file. Development with Visual C#/Visual Audience Basic 2005/2008 This Drill is for developers who want to gain experience using ASP.NET 2.0's versatile data source controls, which are used to bind data sources to the controls that display the information. Number of Tasks 6 What you’ll learn Duration You will learn the skills needed to work with ASP.NET 2.0's data source controls, which act as 3 hours (based on intermediaries between an application's interface controls and the underlying data. You'll learn estimated coding time how to use an SqlDataSource control with a SQL database, how to relate an ObjectDataSource of 30 mins per task) control to business objects, and how to use an XmlDataSource control to display hierarchical information from an XML file. Programming Language Is this the Drill you need? Visual C# 2005/ Take this Drill if you want to 2008 and Visual Basic 2005/2008 • bind database information to a drop-down list using an SqlDataSource control • auto-generate statements, reduce concurrency conflicts, and cache data using a System SqlDataSource control Requirements SQL Server 2000 or • use an ObjectDataSource component as a representation of a business object that provides 2005 data to data-bound controls • pass a parameter to the Select method of an ObjectDataSource component and to use its Level ObjectCreating event to explicitly set the instance of the business object 2 • display hierarchical information using data binding with nested Repeater controls that are bound to an XmlDataSource control Drill Code • D0026C-CS • configure an ObjectDataSource control to enable paging using a provided business object's (Visual C# 2005) method • D0026C-VB (Visual Basic What you’ll cover 2005) • Adding an SqlDataSource control to a page • Binding database information to a drop-down list using an SqlDataSource control • Using wizards to configure a data source • Configuring an SqlDataSource control to insert, update, and delete database information • Reducing concurrency conflicts • Caching information loaded into an SqlDataSource control • Using an ObjectDataSource component to represent a business object • Displaying information with a DetailsView control • Passing a parameter to the Select method of an ObjectDataSource component • Using the ObjectDataSource's ObjectCreating event to explicitly set the instance of a business object 14
  • • Displaying hierarchical information using data binding • Using nested Repeater controls bound to an XmlDataSource control • Binding an XmlDataSource control to an XML file • Configuring an ObjectDataSource control to enable paging • Implementing paging in the business layer to reduce database traffic What you’ll need to know We assume that you’re familiar with the concepts of programming and you’ve experience with Visual Studio 2005/2008, including its designer and control wizards. You’ll also need to be comfortable with Visual C# or Visual Basic syntax and have a working knowledge of web server controls. You'll need to know the syntax of SQL, data-binding, and XML Path Language (XPath). A basic understanding of XML is also required. 15
  • Drill Title: Using Data-bound controls Drill Details Overview Status This Drill shows how to use ASP.NET 2.0's versatile data-bound controls which enable you to create Released highly functional user interfaces with relatively little coding. Several tasks demonstrate different aspects of the versatile GridView control. Other tasks show how to implement a master/detail page, Developer Program and how to create different views of the underlying data using the DetailsView, FormsView, and ASP.NET Web TreeView controls. Development with Visual C#/Visual Audience Basic 2005/2008 This Drill is for developers who want to efficiently create rich user interfaces using ASP.NET 2.0's data-bound controls, particularly those who want to gain experience using the GridView control. Number of Tasks 6 What you’ll learn You will learn the skills needed to use ASP.NET 2.0's data-bound controls, which enable the Duration creation of highly functional user interfaces with relatively little coding. You'll learn several 3 hours (based on techniques for using the versatile GridView control. You will also learn how to implement a master/ estimated coding time detail page, and how to create different views of the underlying data using the DetailsView, of 30 mins per task) FormsView, and TreeView controls. Programming Language Is this the Drill you need? Visual C# 2005/ Take this Drill if you want to 2008 and Visual • use a GridView control with an ObjecDataSource control to enable paging, editing, and Basic 2005/2008 deleting of records System • manipulate rows, cancel events, handle exceptions, and configure the HyperLinkField Requirements object within a GridView control ASP.NET 2.0 • implement sorting functionality using ObjectDataSource and GridView controls Level • create a master/detail page using a combination of DropDownList, GridView, and 2 DetailsView controls • use the BulletedList and FormView web server controls new to .NET Framework 2.0 Drill Code • bind a TreeView control to an XML file through an XmlDataSource control, and display the • D0026D-CS information from the XML file hierarchically (Visual C# 2005) • D0026D-VB What you’ll cover (Visual Basic • Adding a GridView control to a page and binding it to an ObjectDataSource control 2005) • Configuring a GridView control to enable paging, editing, and deleting of records • Configuring a GridView control to prevent the entire page from being posted back to the server • Accessing and manipulating rows as they are data-bound • Cancelling events and handling exceptions in the GridView control • Configuring a HyperLinkField control • Implementing sorting functionality with the GridView control • Displaying information about the last sort to the user • Creating a master/details page • DropDownList and DetailsView controls 16
  • • Adding a BulletedList control to a page • Combining the BulletedList and FormView controls • Binding a TreeView control to an XmlDataSource control • Setting the number of tree levels bound to a TreeView control • Specifying the events to be raised when a node is selected What you’ll need to know We assume that you’re familiar with the concepts of programming and you’ve experience with Visual Studio 2005/2008, including its designer and control wizards. You’ll also need to be comfortable with Visual C# or Visual Basic syntax and have a working knowledge of web server controls. You'll need to understand exception handling and data-binding syntax. A basic understanding of XML is also required. 17
  • Drill Title: Membership, Login Controls and Forms Drill Details Authentication Status Released Overview Using real-world programming scenarios, this Drill lets you work with the features of the Developer Membership provider. You will work with Login Controls (a new control available in ASP.NET 2.0) Program ASP.NET Web and discover what’s new in Visual Studio 2005 Forms Authentication. Development with Visual C#/Visual Audience Basic 2005/2008 This Drill is for developers who want to be able to understand and work with the Membership provider in ASP.NET 2.0. It is also for those who want to work with Login server controls and forms Number of Tasks authentication in ASP.NET 2.0. 5 What you’ll learn Duration After taking this Drill, you will be able to implement the various Login controls available in ASP.NET 2.5 hours (based on 2.0 and understand when to use each one. You will be able to create, store, update, and delete estimated coding time membership information for users of a web site either through the Login controls, the Web Site of 30 mins per task) Administration Tool, or through the members of the Membership class. You will also be able to Programming create your own custom provider if the default providers do not support your site's data source. Language Visual C# 2005/ Is this the Drill you need? 2008 and Visual Take this Drill if you want to Basic 2005/2008 • use the ASP.NET 2.0 configuration tools and Web.config file to configure the membership provider System Requirements • authenticate a web site using both simple and advanced login controls SQL Server 2000 or • use the membership API to programmatically manipulate user information 2005 • create a membership provider for a custom data source Level 3 What you’ll cover • SQL Server Membership provider Drill Code • ASP.NET SQL Server Registration Tool • D0019A-CS • ASP.NET Web Site Administration Tool (Visual C# 2005/2008) • Working with Login server controls in ASP.NET 2.0 • D0019A-VB • The Membership API and working with the various members of the Membership class (Visual Basic • Adding, updating, deleting, and retrieving information about users from the membership 2005/2008) database • Creating a custom MembershipProvider and using the members of the MembershipProvider class What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development, server page technology and basic knowledge of SQL Server would also be useful. 18
  • Drill Title: Authorization and Roles Drill Details Overview Status Using real-world programming scenarios, this Drill lets you work with users and roles in ASP.NET Released 2.0, including their authorization and management. At the end of the Drill, you will also perform techniques involving role-based code accessed security. Developer Program ASP.NET Web Audience Development with This Drill is for developers who want to be able to understand and work with users and roles in their Visual C#/Visual ASP.NET 2.0 applications. Basic 2005/2008 What you’ll learn Number of Tasks After taking this Drill, you will be able to create and assign users and roles using either the ASP.NET 5 Web Site Administration tool or using the Role class. Using URL Authorization, you will be able to permit or deny access to specific parts of the web application. You will be able to create a custom Duration role provider when your data source does not satisfy the default providers and you will be able to 2.5 hours (based on restrict permission to certain parts of the source code in an application based on roles. estimated coding time of 30 mins per task) Is this the Drill you need? Programming Take this Drill if you want to Language • use the role manager give role grouping to the web site security Visual C# 2005/ 2008 and Visual • use the Membership and Roles classes to maintain users and roles Basic 2005/2008 • discover how configuration settings influence URL authorization in ASP.NET applications • implement and use a custom role provider System Requirements • control user access to application functionality by defining permission requirements • SQL Server 2000 or 2005 What you’ll cover • Forms Authentication and Role Management • A non-express edition of Visual • ASP.NET Web Site Administration Tool Studio • Working with Login server controls in ASP.NET 2.0 Level • The Membership API and working with the members of the Membership class 3 • Working with the members of the Roles Class • URL Authorization Drill Code • D0019B-CS • Restricting access to web resources using the authorization element in the Web.Config file • D0019B-VB • Creating a custom role provider and using the members of the RoleProvider abstract class • Role-Based code access security • Using PrincipalPermissionAttribute attributes to restrict permission and using the members of the PrincipalPermission class What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development, server page technology and basic knowledge of SQL Server would also be useful. 19
  • Drill Title: Web Application Attacks Drill Details Status Overview Released Using real-world programming scenarios, this Drill helps you develop techniques for defending your web application against attacks from malicious users. You will prevent attacks caused by Developer malicious input on web forms that can cause SQL injection or cross-site scripting attacks. You will Program also implement measures to protect against unauthorized access of resources in your application. ASP.NET Web Development with Audience Visual C#/Visual This Drill is for developers who want to learn about and defend against some of the common attacks Basic 2005/2008 that web applications face from malicious users. Number of Tasks 6 What you’ll learn After taking this Drill, you will be able to implement various techniques in web applications to Duration correctly validate any input received via web forms, and prevent against SQL injection, cross-site 3 hours (based on scripting, canonicalization, denial of service, and view state attacks. You will also understand why estimated coding time preventing these types of attacks is so important. of 30 mins per task) Is this the Drill you need? Programming Take this Drill if you want to Language Visual C# 2005/ • detect and counter application attacks by using input validation 2008 and Visual • defend an application against SQL injection attacks Basic 2005/2008 • protect HTML markup enabled input fields against cross-site script attacks System • use canonicalization to secure resources in a system where access is based on file names Requirements • counter denial of service attacks at the application level and defend against view state SQL Server 2000 or attacks 2005 What you’ll cover Level • Validating input on web forms and using Validator server controls 2 • Using regular expressions to constrain and validate input Drill Code • Preventing SQL injection attacks • D0019C-CS • Using Parameterized SQL statements (Visual C# 2005/2008) • Configuring a custom error page using the customErrors element in the Web.config file • D0019C-VB • Preventing cross-site scripting attacks (Visual Basic • Encoding content and protecting cookies from client-side access by creating HTTP-only 2005/2008) cookies • Canonicalization attacks • Using the List Generic and Uri classes and the MembershipUser.LastLockoutDate property • Using the MembershipProvider.UnlockUser method • Restricting file upload size in a web application using the httpRuntime element in the Web.Config file • Preventing view state attacks and encrypting view state using Advanced Encryption Standard (AES) • One-click attacks • Storing Session ID in the view state 20
  • What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development, server page technology and basic knowledge of SQL Server and the T-SQL language would also be useful. 21
  • Drill Title: Securing and Monitoring ASP.NET Applications Overview Using real-world programming scenarios, this Drill allows you to work with various areas of Drill Details authorization and authentication in the application. You will deal with partially trusted code, monitor the health of your ASP.NET application, and implement security events. Status Released Audience This Drill is for developers who want to be able to use techniques to secure vulnerable sections and Developer monitor the health of their ASP.NET 2.0 applications. Program ASP.NET Web What you’ll learn Development with After taking this Drill, you will be able to encrypt vulnerable sections of an application where data Visual C#/Visual such as database connection strings are stored using members of the DPAPI. You will also be able Basic 2005/2008 to restrict access to sensitive file and folders using a combination of Windows authentication and Number of Tasks URL authorization. You will have the skills to enable a partially-trusted application to access secure 5 operations. You will also be able to extend the security of your application by adding pre- and post- processing to incoming HTTP requests, and track security-related web events using health Duration monitoring and instrumentation features. 2.5 hours (based on estimated coding time Is this the Drill you need? of 30 mins per task) Take this Drill if you want to Programming • use the Windows Data Protection API (DPAPI) and the Aspnet_regiis.exe tool to encrypt Language sensitive data in your configuration files Visual C# 2005/ • access a fully trusted assembly from a partially trusted web application. 2008 and Visual • use Windows authentication and URL authorization to restrict access to certain files and Basic 2005/2008 folders System • create a custom HttpModule to authenticate requests to a web application against a custom Requirements authentication service • A non-express • carry out health monitoring and instrumentation of Security events edition of Visual Studio What you’ll cover • Administrator • Using the Windows Data Protection API (DPAPI) rights for the • ASP.NET IIS Registration command line tool development machine • Encrypting the connectionStrings section of a Web.Config file • Using members of the ProtectedData class • SQL Server 2000 or 2005 • Storing values in session variables Level • Running an application in medium trust mode 3 • FileIOPermission attribute • Signing an assembly with a strong name Drill Code • D0019D-CS • Adding an assembly to the Global Assembly Cache (Visual C# • Windows Authentication 2005/2008) • URL Authorization • D0019D-VB • Using members of the WindowsIdentity class (Visual Basic 2005/2008) 22
  • • Using the PrincipalPermissionAttribute attribute • Allowing and denying access to users and roles in the Web.Config file • Creating a custom authentication mechanism • Implementing the IHttpModule interface • Using the GenericPrincipal and GenericIdentity classes • Adding a custom authentication service to the HTTP pipeline through the httpModules element in the Web.Config file • Configuring predefined health monitoring events to instrument your application to track security-related events • Creating and raising a custom event to monitor additional security-related activity • Configuring the healthMonitoring section of the Web.Config file What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development, server page technology, and basic knowledge of SQL Server would also be useful. 23
  • Drill Title: Styling Websites with Cascading Stylesheets Drill Details (CSS) Status Released Overview Cascading Style Sheets (CSS) is a simple mechanism for adding fonts, colors, spacing, and other Developer style elements to Web documents. This Drill covers a number of important techniques required to Program style Websites effectively with CSS. ASP.NET Web Development with Audience Visual C#/Visual Basic 2005/2008 This Drill is for developers who want to use Cascading Style Sheets (CSS) techniques to add fonts, colors, spacing, and other style elements to Web documents. Number of Tasks 6 What you’ll learn After taking this Drill, you'll be able to use CSS to create both flexible boxes with rounded corners Duration and an application menu. You'll also apply flexible fonts to a web document and refactor an HTML 3 hours (based on table layout to a three column layout. What's more, you'll learn how to style both the ASP.NET estimated coding time GridView control and a web form. of 30 mins per task) Is this the Drill you need? Programming Take this Drill if you want to use CSS to Language Visual C# 2008 and Visual Basic 2008 • apply flexible fonts to a web document • refactor an HTML table layout Level • create boxes with rounded corners 3 • style an application menu and enforce browsers to use the standard box model for Drill Code rendering elements • D0049A-CS • style a HTML table generated by the ASP.NET GridView control • D0049A-VB • style a web form that uses fieldset and definition-list HTML elements What you’ll cover • Using basic CSS selectors and style rules to apply flexible, scalable fonts to a web document • Separating the style information in a style sheet document • Linking a style sheet to a web document • Using div elements to refactor an HTML page • Using the float, width, and padding CSS properties • Using CSS with HTML markup to create boxes with rounded corners • Applying more than one CSS class to an element • Dealing with rule conflicts • Creating a horizontal navigation menu by using CSS • Instructing ASP.NET to generate XHTML Strict markup • Informing browsers about DOCTYPE (document type definition) and the rendering mode for generated pages • Styling a HTML table generated by an ASP.NET GridView control • Styling individual columns in a table • Suppressing line breaks inside a table cell 24
  • • Vertically and horizontally aligning the content of a table column • Using CSS to style an HTML form created using the fieldset and definition list elements • Working with properties used for positioning and layout of elements • Changing the display type of the mouse cursor What you’ll need to know We assume that you're already familiar with the concepts of programming and you've some experience with Visual Studio 2005/ 2008. For this particular Drill, you'll also need to be comfortable with ASP.NET applications, HTML markup, and CSS syntax. 25
  • Developing Web Applications with ASP.NET AJAX using Visual C#/ Basic 2005/2008 This Developer Program contains the following Drill: • The Microsoft ASP.NET AJAX Extensions The following books cover the recommended prerequisites for this particular Developer Program: • Introducing Microsoft® ASP.NET AJAX by Dino Esposito, published by Microsoft Press, ISBN 0735624135, (Further details at http://innerworkings.safaribooksonline.com/9780735624139) • Programming ASP.NET AJAX by Christian Wenz, published by O'Reilly Media, ISBN 0596514247 (Further details at http://innerworkings.safaribooksonline.com/9780596514242) 26
  • Drill Title: The Microsoft ASP.NET AJAX Extensions Drill Details Overview Status The tasks in this Drill demonstrate how to enhance a website with Microsoft’s ASP.NET AJAX Released technology. It covers important AJAX controls such as UpdatePanel, ScriptManager and ScriptManagerProxy, Timer, and UpdateProgress, as well as sending AJAX requests to web services. Developer Program Audience Developing Web This Drill is for developers who want to learn how to use Microsoft's ASP.NET AJAX technology to Applications with ASP.NET AJAX using enhance website responsiveness and usability. Visual C#/Visual Basic 2005/2008 What you’ll learn You will learn how to use Microsoft's AJAX technology to improve website performance and Number of Tasks enhance the user experience. You will be able to use the important ScriptManager and UpdatePanel 6 controls to AJAX-enable a website. You'll also find out how to refresh a control's content, provide progress feedback to the user, and send an AJAX request to a web service. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • AJAX-enable an ASP.NET website Programming • control page updates with the UpdatePanel control Language Visual C# 2005/ • include custom JavaScript scripts with the ScriptManagerProxy 2008 and Visual • use the UpdateProgress control Basic 2005/2008 • use the Timer control to send AJAX requests to web services System What you’ll cover Requirements • Using ScriptManager & UpdatePanel controls and enabling AJAX-style partial page updates ASP.NET AJAX • Using UpdatePanel to control when page updates occur Level • Using ScriptManager and ScriptManagerProxy controls with Master/Content pages 2 • Referencing custom scripts with ScriptsReference & adding an UpdateProgress control to a Web Form Drill Code • D0040A-CS • Refreshing a control's content using a Timer control • Sending AJAX requests to a web service • D0040A-VB • Generating and using JavaScript proxies for .NET server-side types What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, and ASP.NET. Although not essential, some knowledge of JavaScript would also be useful. 27
  • Enterprise Library for .NET Framework 2.0 using Visual C#/Basic 2005/2008 This Developer Program contains the following Drills: • Working with the Enterprise Library Application Blocks Part 1 • Working with the Enterprise Library Application Blocks Part 2 28
  • Drill Title: Working with the Enterprise Library Application Blocks Part 1 Overview This Drill will develop your skills in using several Enterprise Library application blocks. Tasks Drill Details include configuring and using the Data Access Application Block, tracing activities with the Logging Application Block, and using the Exception Handling Application Block to catch and throw Status exceptions. Released Audience Developer This Drill is for developers who want to learn how to use the Data Access, Logging, and Exception Program Handling application blocks of the Enterprise Library. Enterprise Library for .NET Framework 2.0 What you’ll learn using Visual C#/ Visual Basic 2005/ You will learn how to use several Enterprise Library application blocks to address common 2008 development challenges. The skills you will learn include using and configuring the Data Access Application Block to access a database. You will also find out how to trace activities with the Number of Tasks Logging Application Block, and how to throw, catch, and log exceptions with the Exception Handling 6 Application Block. After taking this Drill, you will also be able to use the Enterprise LibraryConfiguration Console. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • use the Data Access Application Block to retrieve and modify data from a database Programming • employ the Logging Application Block to log information to a file and trace activities to a Language database Visual C# 2005/ 2008 and Visual • configure the Exception Handling Application Block to catch, wrap, and throw exceptions Basic 2005/2008 • configure the Exception Handling Application Block and the Logging Application Block to catch and log exceptions System Requirements What you’ll cover ASP.NET AJAX 1.0 • Configuring application blocks with the Enterprise Library Configuration Console Level • Using the Data Access Application Block to retrieve information from a database 2 • Using the Database and ADO.NET DbCommand classes • Logging information to a file with the Logging Application Block Drill Code • D0041A-CS (C#) • Configuring a flat file trace listener • D0041A-VB (VB) • Saving log information to a variety of destinations and tracing user interactions • Using the Exception Handling Application Block to handle exceptions such as InvalidOperationException, ArgumentNullException, and ComException • Defining an exception handling policy, wrapping and rethrowing exceptions and logging exceptions in different formats What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience of Visual Studio 2005/ 2008. For this Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, XML syntax, SQL syntax, as well as SQL databases (Express or Server). Although not essential, experience with individual application blocks or previous releases of Enterprise Library would also be useful. 29
  • Drill Title: Working with the Enterprise Library Application Blocks Part 2 Overview This Drill will develop your skills in using several Enterprise Library application blocks. Tasks Drill Details include caching data with the Caching Application Block; using the Cryptography Application Block to encrypt, decrypt, and hash data; and configuring authorization and caching user identities with Status the Security Application Block. Released Audience Developer This Drill is for developers who want to use application blocks from the Enterprise Library to cache, Program encrypt, and secure application data during enterprise development. Enterprise Library for .NET Framework 2.0 What you’ll learn using Visual C#/ Visual Basic 05/08 You will learn the skills required to work with the Caching Application Block, the Cryptography Application Block, and the Security Application Block. You will find out how to cache frequently Number of Tasks accessed data, as well as encrypt, decrypt, and hash data. You will also learn how to configure user 6 authorization and cache user identities. Duration Is this the Drill you need? 3 hours (based on Take this Drill if you want to estimated coding time of 30 mins per task) • use the Caching Application Block to cache frequently accessed data • configure the Cryptography Application Block to encrypt and decrypt data using the same Programming cryptographic key Language • configure and use the Cryptography Application Block to hash data using a salt, and Visual C# 2005/ compare plain text values with their hash equivalent 2008 and Visual Basic 2005/2008 • employ the security application block for authorization • set the security cache manager to cache user identities System Requirements What you’ll cover • Enterprise Library • Configuring the Caching Application Block to store frequently accessed database for .NET Frame- information in the in-memory cache work 2.0 • Configuring the Caching Application Block to cache data to isolated storage • SQL Server 2000 or 2005 • Encrypting and Decrypting data using the System.Security.Cryptography.RijndaelManaged algorithm type and a cryptographic key Level 2 • Configuring the App.config file to use the hashing functionality of the Cryptography Application Block Drill Code • Working with the CreateHash and CompareHash methods of the Cryptographer facade • D0041B-CS (C#) • Configuring an application to use an authorization rule provider from the Security • D0041B-VB (VB) Application Block • Using the Security Application Block to configure an instance of a security cache provider that can store user identities What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience of Visual Studio 2005/ 2008. For this Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, XML syntax, SQL syntax, as well as SQL databases (Express or Server). Although not essential, experience with individual application blocks or previous releases of Enterprise Library would also be useful. 30
  • Object-Oriented Design & Development with .NET Framework & Visual C#/Basic 2005/2008 This Developer Program contains the following Drills: • Object-Oriented Development Fundamentals • Input-output • Generics/Collections • System Services • The .NET Runtime • Events and Structural Design Patterns • Behavioral Design Patterns • Creational Design Patterns • Enterprise Patterns • Domain-Driven Design Patterns The following books cover the recommended prerequisites for this particular Developer Program: • Object-Oriented Programming with Visual Basic .NET by JP Hamilton, published by O’Reilly Media, ISBN 00596001460 (Further details at http://innerworkings.safaribooksonline.com/00596001460) • Programming C# 4th Edition by Jesse Liberty, published by O’Reilly Media, ISBN 0596006993 (Further details at http:// innerworkings.safaribooksonline.com/0596006993) • Design Patterns in C# by Steven John Metsker, published by Addison-Wesley Professional, ISBN 0321126971 (Further details at http://innerworkings.safaribooksonline.com/0321126971) • Head First Design Patterns by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, published by O’Reilly Media, ISBN 0596007124 (Further details at http://innerworkings.safaribooksonline.com/0596007124) • Patterns of Enterprise Application Architecture by Martin Fowler; David Rice; Matthew Foemmel; Edward Hieatt; Robert Mee; Randy Stafford, published by Addison-Wesley Professional, ISBN: 0321127420 (Further details at http:// innerworkings.safaribooksonline.com/0321127420) 31
  • Drill Title: Object-Oriented Development Fundamentals Overview This Drill introduces some of the key concepts of object-oriented development including Drill Details encapsulation, inheritance, and polymorphism, all of which enable you to create modular, loosely coupled, and highly reusable software modules. Status Released Audience Developer This Drill is for developers who want to be able to understand and work with the key concepts of Program object-oriented development. Object-Oriented Design & What you’ll learn Development with You will learn how to implement important techniques of object-oriented development to create .NET Framework & better code. You will be able to improve the structure of your code, enhance class inheritance, and Visual C#/Visual refactor error codes into exceptions. You will also learn how to use interfaces to achieve Basic 2005/2008 polymorphism in your applications and specify common behaviors and characteristics for derived classes. Number of Tasks 6 Is this the Drill you need? Duration Take this Drill if you want to 3 hours (based on • enhance the structure of a project by extracting business logic from a form estimated coding time • implement object-oriented interface polymorphism of 30 mins per task) • create an abstract class to provide implementations for common functionality Programming • use the Liskov Substitution Principle to improve class inheritance Language • replace inheritance with delegation Visual C# 2005/ 2008 and Visual • replace an error code with an exception Basic 2005/2008 What you’ll cover System • Creating a new class by extracting logic from a form Requirements • Defining an interface Visual C# 2005/ 2008 and Visual • Creating an abstract class Basic 2005/2008 • Implementing the Liskov Substitution Principle • Replacing inheritance with delegation Level 2 • Replacing an error code with an exception Drill Code What you’ll need to know • D0024A-CS We assume that you’re already familiar with the concepts of programming and you’ve some • D0024A-VB experience with Visual Studio 2005/2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax. Although not essential, experience in object- oriented development and familiarity with Generics would also be useful. 32
  • Drill Title: Input-output Overview The .NET Framework provides comprehensive support for managing the file system. In this Drill, Drill Details you use these facilities to handle files and directories, and to extract information using regular expressions. The Drill also lets you implement practical techniques for communicating over the Status network. Released Audience Developer This Drill is for developers who want to be able to work with files and directories, retrieving Program information and working with the data in the files themselves. It is also for those who want to use Object-Oriented practical techniques for communicating over the network via web requests or TCP. Design & Development with What you’ll learn .NET Framework & You will be able to use the classes provided by the .NET Framework for managing the file system to Visual C#/Visual Basic 2005/2008 handle files and directories, and extract information using regular expressions. You will also be able to use practical techniques for communicating over the network via web requests to TCP. Number of Tasks 6 Is this the Drill you need? Take this Drill if you want to Duration • use the FileInfo and Directory classes to obtain information about individual files 3 hours (based on estimated coding time • use File, FileStream, StreamReader, StreamWriter, and DeflateStream to read from and of 30 mins per task) write to text and compressed files • use regular expressions to retrieve specific information from a text file Programming Language • use regular expressions to extract specific information from an HTML file Visual C# 2005/ • use the WebRequest and WebResponse classes to make simple requests to web sites 2008 and Visual • connect to a remote TCP host, to send and receive data from it, and to retrieve information Basic 2005/2008 about a specific host from the Internet Domain Name System (DNS) System What you’ll cover Requirements Visual C# 2005/ • Retrieving file and directory information 2008 and Visual • The Directory.GetFiles Method Basic 2005/2008 • Using the members of the FileInfo class Level • Using the members of the DirectoryInfo class 2 • The Path.GetExtension Method • Reading, writing and compressing files Drill Code • D0020B-CS • Using Statement (Visual C# • Using the File, FileStream, StreamReader, StreamWriter, and DeflateStream classes 2005/2008) • Retrieving data using regular expressions • D0020B-VB • Using the Regex class (Visual Basic • Using the StringCollection class 2005/2008) • Making web requests • Using the WebRequest and WebResponse classes • Connecting to Remote TCP host 33
  • • Sending and Receiving data • Retrieving Information about a host from the Internet Domain Name System (DNS) • The Dns.GetHostEntry Method • The TcpClient Class • The NetworkStream Class • Async Callback Delegate What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development would also be useful. 34
  • Drill Title: Generics/Collections Drill Details Overview Status Using real-world programming scenarios, this Drill introduces the System.Generics namespace. Released You use this namespace to create strongly typed collections, stacks, queues, and dictionaries. You also use it to create iterators and your own generic types. Developer Program Object-Oriented Audience Design & This Drill is for developers who want to learn about and work with the classes in the Development with System.Generics namespace (new to .NET 2.0). With these classes, you will be able to create .NET Framework & strongly typed collections, stacks, queues, and dictionaries. Visual C#/Visual Basic 2005/2008 What you’ll learn You will be able to create strongly typed collections, stacks, queues, and dictionaries using the Number of Tasks classes of the System.Generics namespace. You will be able to use it to create iterators and your 6 own generic types. You will also have the ability to constrain generic types to enforce the requirements that a type must meet before being passed to a generic class. Duration 3 hours (based on estimated coding time Is this the Drill you need? of 30 mins per task) Take this Drill if you want to • use generics to create a strongly typed list Programming Language • add functionality to a generic collection by deriving from it Visual C# 2005/ • create and use iterators to support foreach iteration without implementing the 2008 and Visual IEnumerable interface Basic 2005/2008 • use a generic dictionary object to create a strongly typed collection of key/value pairs System • use generics to create strongly typed stacks and queues Requirements • place constraints on the type parameters of a generic type Visual C# 2005/ 2008 and Visual What you’ll cover Basic 2005/2008 • Using a generic list instead of an ArrayList Level • The List generic class 2 • Creating a strongly typed collection using generics • Using methods of the List generic class Drill Code • D0020A-CS • Iterators (Visual C# • The IEnumerable Generic interface 2005/2008) • How to use the yield return statement • D0020A-VB • Using a generic dictionary and the members of the Dictionary generic class (Visual Basic • Creating strongly typed Stack and Queues and using the members of the Stack and Queue 2005/2008) generic classes • Constraining generic types and using the where and new constraints What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development would also be useful. 35
  • Drill Title: System Services Overview You can use .NET Framework system services to perform diagnostics and monitoring in your Drill Details applications. This Drill allows you to practice real-world techniques on launching external processes, tracing, event log handling, performance counters manipulation, and code access Status security. Released Audience Developer This Drill is for developers who want to be able to interact with some of the services on their Program computers such as event logs and the performance monitoring tool from within their .NET Object-Oriented applications. It is also for those who want to implement code access security in their windows Design & application and deploy it as a ClickOnce application. Development with .NET Framework & What you’ll learn Visual C#/Visual Basic 2005/2008 You will be able to perform diagnostics and monitoring on your applications by working with external processes, custom event logs, custom trace listeners, and performance counters. You will Number of Tasks also be able to implement code access security and deploy a Windows application as a ClickOnce 6 application. Duration Is this the Drill you need? 3 hours (based on Take this Drill if you want to estimated coding time of 30 mins per task) • launch an external process, examine its properties, and terminate it • create a custom event log programmatically, write to it, remove the log entries, and delete Programming the event log Language • create a custom trace listener to write to a log file, and configure a trace switch to specify Visual C# 2005/ the type of message to be written out 2008 and Visual Basic 2005/2008 • retrieve and display performance counter information programmatically, create a category of custom performance counters, and track application performance System • deploy a ClickOnce application and request appropriate permissions Requirements Visual C# 2005/ • restrict permissions for certain methods in your application to reduce the risk of them being 2008 and Visual misused by a malicious application Basic 2005/2008 What you’ll cover Level • Working with external processes 2 • Using the members of the Process and ProcessStartInfo classes Drill Code • Working with custom event logs • D0020D-CS • Using the members of the EventLog class (Visual C# • Implementing a custom trace listener 2005/2008) • Working with the trace element of the App.config file • D0020D-VB • Inheriting the TextWriterTraceListener class (Visual Basic 2005/2008) • Using the TraceLevel enumeration • Using performance counters • Using the members of the PerformanceCounter and the PerformanceCounterCategory classes 36
  • • Code access security and ClickOnce deployment • Applying the DnsPermission and FileIOPermission attributes • Specifying an applications ClickOnce security settings • Publishing a ClickOnce application • Restricting permissions with code access security • Using the PermissionSet and FileIOPermission classes What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development would also be useful. 37
  • Drill Title: The .NET Runtime Overview This Drill introduces Microsoft .NET runtime programming with real-world scenarios. In this Drill, Drill Details you complete challenges in memory management, particularly when interoperating with unmanaged code, and dynamically extend components through reflection and configuration files. Status Released Audience This Drill is for developers, who want to work with useful aspects of the .NET runtime such as Developer reflection, delay signing assemblies, disposing of resources, and platform invocation services. Program Object-Oriented What you’ll learn Design & You will be able to create a custom configuration section handler in your application as well as Development with dispose of managed and unmanaged resources and provide application extensibility through .NET Framework & reflection. You will also have the ability to delay sign an assembly and call external native windows Visual C#/Visual Basic 2005/2008 API methods using Platform Invocation. Number of Tasks Is this the Drill you need? 6 Take this Drill if you want to • create a custom configuration section handler using the ConfigurationSection, Duration ConfigurationElementCollection, and ConfigurationElement classes 3 hours (based on estimated coding time • use delayed signing to sign an assembly with a strong name of 30 mins per task) • implement Dispose methods and the abstract SafeHandle class to clean up managed and unmanaged resources Programming Language • create and use custom attributes with reflection Visual C# 2005/ • use reflection to provide application extensibility 2008 and Visual • use Platform Invocation Services (PInvoke) to call external native windows API methods Basic 2005/2008 and to employ Component Object Model Interoperation (COM Interop) System What you’ll cover Requirements Visual C# 2005/ • Creating a custom configuration section handler 2008 and Visual • Working with the configSections element of the App.config file Basic 2005/2008 • Using the ConfigurationProperty attribute Level • Inheriting from the ConfigurationElementCollection class 3 • Delay signing an assembly • The Strong Name tool Drill Code • D0020C-CS • Extracting a public key from a key-pair (Visual C# • Disposing of managed and unmanaged resources 2005/2008) • Implementing the IDisposable interface • D0020C-VB • Using the abstract SafeHandle class (Visual Basic • Implementing the Dispose pattern 2005/2008) • Calling the GC.SuppressFinalize method • Creating and using custom attribute with reflection • Inheriting the Attribute class 38
  • • Using the AttributeUsage attribute • Using the MemberInfo.GetCustomAttributes method • Providing application extensibility using reflection • Using the members of the Assembly, Type and Activator classes • Using Platform Invocation Services and COM component integration • Adding and using the Preview ActiveX control • Applying the DllImport attribute What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and HTML. Although not essential, experience in object-oriented development would also be useful. 39
  • Drill Title: Events and Structural Design Patterns Overview Easing application design by identifying a simple way to realize relationships between entities, Drill Details structural design patterns describe how to combine classes and objects to form larger structures. This Drill lets you explore topics such as the Adapter, the Decorator, and the Composite design Status patterns. Released Audience Developer This Drill is for developers who want to be able to understand more about events and the common Program Object-Oriented structural design patterns. Design & Development with What you’ll learn .NET Framework & You will learn various ways to handle events, and how to apply Structural design patterns such as Visual C#/Visual Adapter, Decorator, Composite, and so on. You will see how these design patterns can be used to Basic 2005/2008 dynamically create larger structures from a number of smaller classes working together. Using these patterns, you will be able to create structures that, while complex, are easy to understand and Number of Tasks modify. 6 Is this the Drill you need? Duration Take this Drill if you want to 3 hours (based on estimated coding time • implement a cancelable event and prevent subsequent events from firing using a class of 30 mins per task) derived from the CancelEventArgs class • perform event handling by overriding a virtual method of a base class Programming Language • implement the Move Accumulation to Collecting Parameter design pattern Visual C# 2005/ • employ the Adapter design pattern to convert the interface of a class into another interface 2008 and Visual that clients expect Basic 2005/2008 • implement the Decorator design pattern to extend the functionality of an object System dynamically without modifying the original class or creating a subclass Requirements • use the Composite design pattern to implement a recursive, single-interface class structure Visual C# 2005/ 2008 and Visual What you’ll cover Basic 2005/2008 • Canceling an event • Handling events by overriding a virtual method Level 3 • Moving accumulation to a collecting parameter • Implementing the Adapter design pattern Drill Code • Using the Decorator design pattern • D0024B-CS (Visual C# • Implementing the Composite design pattern 2005/2008) What you’ll need to know • D0024B-VB (Visual Basic We assume that you’re already familiar with the concepts of programming and you’ve some 2005/2008) experience with Visual Studio 2005/2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax. Although not essential, experience in object- oriented development and familiarity with Generics would also be useful. 40
  • Drill Title: Behavioral Design Patterns Overview Behavioral design patterns identify common communication patterns between objects and Drill Details concentrate on the assignment of responsibilities between them. Focusing on the way objects interact rather than the flow of control, this Drill lets you work on behavioral design patterns such Status as the Template Method, the Command, and the State design patterns. Released Audience Developer This Drill is for developers who want to be able to understand more about events and the common Program structural design patterns. Object-Oriented Design & What you’ll learn Development with .NET Framework & You will learn how to apply important Behavioral design patterns such as Visitor, Template Method, Visual C#/Visual Strategy, Command, and Chain of Responsibility. You will see how these patterns are based on Basic 2005/2008 common behaviors that have been identified between objects. Using these patterns, you will be able to reduce coupling between senders and receivers, reduce code complexity and duplication, and Number of Tasks make programs more extensible and easier to support. 7 Is this the Drill you need? Duration Take this Drill if you want to 3.5 hours (based on estimated coding time • create a chain of objects with distributed responsibility, without coupling the sender to the of 30 mins per task) receiver • apply the Visitor design pattern to simplify operations on the elements of an object Programming • use the Template Method design pattern to create an abstract base class with a template Language Visual C# 2005/ method that includes common functionality, but defers specific behaviour to subclasses 2008 and Visual • apply the Strategy design pattern to reduce the complexity of a program that uses multiple Basic 2005/2008 strategy implementations • encapsulate a request as an object to reduce coupling between the sender and the receiver System Requirements • provide undo and redo functionality using the Command design pattern Visual C# 2005/ • extract state information into a separate class to improve extensibility and avoid duplication 2008 and Visual Basic 2005/2008 What you’ll cover • Applying the Template Method design pattern Level 3 • Using the Strategy design pattern • Implementing the Command design patternupporting undo and redo operations using Drill Code command objects • D0024C-CS • Implementing the State design pattern • D0024C-VB • Using the Chain of Responsibility design pattern • Implementing the Visitor design pattern What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax. Although not essential, experience in object-oriented development and familiarity with Generics would also be useful. 41
  • Drill Title: Creational Design Patterns Overview This Drill focuses on Creational design patterns, which deal with object creation mechanisms that Drill Details avoid design problems such as excessive complexity. Some of the patterns covered include the Singleton, the Builder, and the Abstract Factory design patterns. Status Released Audience This Drill is for developers who want to learn more about some commonly used creational design Developer patterns which will help avoid design problems such as excessive complexity. Program Object-Oriented Design & What you’ll learn Development with You will learn how to apply Creational design patterns such as Null Object, Singleton, Builder, .NET Framework & Factory Method, and Abstract Factory. You will see how such design patterns can be used to provide Visual C#/Visual the most appropriate object creation mechanisms in different situations. Using these patterns, you Basic 2005/2008 will be able to achieve the classic design pattern objective of reducing code complexity, in the context of object creation. Number of Tasks 5 Is this the Drill you need? Take this Drill if you want to Duration 2.5 hours (based on • use the Null Object design pattern to avoid repeatedly checking for null values within code estimated coding time • allow the creation of only one instance of a class by implementing the Singleton design of 30 mins per task) pattern Programming • apply the Builder design pattern to simplify the creation of complex objects Language • remove code duplication by encapsulating classes using the Factory Method design pattern Visual C# 2005/ • use the Abstract Factory design pattern to simplify the creation of a group of related objects 2008 and Visual Basic 2005/2008 What you’ll cover System • Implementing the Null Object design pattern Requirements • Creating a Singleton class Visual C# 2005/ • Using the Builder design pattern 2008 and Visual Basic 2005/2008 • Encapsulating classes using the Factory Method design pattern • Using the Abstract Factory design pattern Level 3 What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some Drill Code experience with Visual Studio 2005/2008. For this particular Drill, you’ll also need to be • D0024D-CS comfortable with Visual C# or Visual Basic syntax. Although not essential, experience in object- (Visual C# oriented development and familiarity with Generics would also be useful. 2005/2008) • D0024D-VB (Visual Basic 2005/2008) 42
  • Drill Title: Enterprise Patterns Overview Enterprise patterns represent architectural building blocks that aid in the design of enterprise Drill Details applications. This Drill features important Enterprise patterns such as Model View Presenter, Domain Model, Gateway, and Service Locator. Status Released Audience This Drill is for developers who want to learn more about some commonly used Enterprise patterns, Developer which help to enhance maintainability and avoid excessive complexity in your applications. Program Object-Oriented Design & What you’ll learn Development with You will learn how to apply Enterprise patterns such as Model View Presenter, Domain Model, .NET Framework & Gateway, and Service Locator. Additionally, you will learn how to create a layered application Visual C#/Visual architecture and use a sevice layer. Basic 2005/2008 Is this the Drill you need? Number of Tasks Take this Drill if you want to 6 • partition an application's architecture into logically coherent layers Duration • apply the Model View Presenter pattern to a WinForms application 3 hours (based on • use a domain model to model business objects, their interactions and relationships estimated coding time of 30 mins per task) • consolidate application-specific workflow logic into a well-defined application service • apply the Gateway pattern to encapsulate and simplify access to a complex API Programming • apply the Service Locator pattern to transparently locate services in a uniform manner Language Visual C# 2005/ 2008 and Visual What you’ll cover Basic 2005/2008 • Partitioning a project into logical layers of presentation, business logic, and infrastructure System • Maintaining loose coupling between the layers of system architecture Requirements • Referencing the business and infrastructure layers from the presentation layer Visual C# 2005/ • Achieving a clean separation between presentation logic and model 2008 and Visual Basic 2005/2008 • Separating application logic from the UI that drives it • Expressing an application's business logic as a self-contained software model Level • Creating an application service that encapsulates high level application logic 3 • Implementing the Gateway pattern to prevent clients from deaingl with complex APIs Drill Code • Providing an intermediary that handles the complexities of the API, while providing a more • D0053A-CS user-friendly API to clients (Visual C# • Implementing the Service Locator and Plugin patterns to reduce coupling between software 2005/2008) dependencies • D0053A-VB (Visual Basic What you’ll need to know 2005/2008) We assume that you're already familiar with programming concepts and that you've used Visual Studio. For this particular Drill, you'll also need to be comfortable with Visual C# syntax and have experience in both object-oriented and web development. Although not essential, some familiarity with design patterns would also be useful. 43
  • Drill Title: Domain-Driven Design Patterns Overview Domain-driven Design (DDD) Patterns are reusable solutions to commonly occurring problems. Drill Details They are used used in software models with complex domains. This Drill features important DDD Patterns such as Entities, Value Objects, Repositories, and Factories. Status Released Audience This Drill is for developers who want to learn more about some commonly-used DDD Patterns, Developer which help to speed up the development process by providing tested, proven development Program Object-Oriented paradigms. Design & Development with What you’ll learn .NET Framework & You will learn how to apply DDD patterns such as Entities, Value Objects, Repositories, and Visual C#/Visual Factories. Additionally, you will learn how to implement the Specification Pattern, as well as how Basic 2005/2008 to cluster objects into Aggregates. Number of Tasks Is this the Drill you need? 5 Take this Drill if you want to Duration • distinguish and implement Entities and Value objects, the building blocks of Domain- 2.5 hours (based on driven Design estimated coding time • create an Aggregate from an existing class and hide a related class behind the Aggregate of 30 mins per task) boundary Programming • use Factories to create a domain object Language • create Repositories to mediate between the domain and data mapping layers Visual C# 2005/ • implement the Specification pattern with a repository to control objects returned from a 2008 and Visual generic repository interface Basic 2005/2008 System What you’ll cover Requirements • Distinguishing between Entity and Value objects in a domain Visual C# 2005/ 2008 and Visual • Making a Value object immutable and adding a unique field to an Entity object Basic 2005/2008 • Implementing the Equals and GetHashCode methods • Refactoring existing code to create an Aggregate from an existing class, and hiding a related Level class behind the Aggregate boundary 3 • Refactoring the constructors of a class into three factory methods to hide the creation rules Drill Code from the client • D0053B-CS • Modifying client code to enable the factories methods to create/re-create document (Visual C# instances 2005/2008) • Defining and implementing the repository interface section of a domain model on an • D0053B-VB existing repository class (Visual Basic 2005/2008) • Modifying the client form to use only the functionality available on the interface • Creating an implementation of the Specification pattern to interact with an infrastructure layer in a domain specific manner • Implementing a specific set of requirements via the IsSatisfiedBy method of the specification class 44
  • • Using a repository on the infrastructure layer to query a data store for candidate items • Modifying the repository and the client application to use the Specification pattern in order to simplify both of these layers and improve the domain's visibility and utility within the system What you’ll need to know We assume that you're already familiar with programming concepts and that you've used Visual Studio. For this particular Drill, you'll also need to be comfortable with Visual C# syntax and have experience in both object-oriented and web development. Although not essential, some familiarity with design patterns would also be useful. 45
  • Programming Windows Communication Foundation using Visual C#/ Basic 2005/2008 This Developer Program contains the following Drills: • Windows Communication Foundation Fundamentals • Creating Reliable Services with Windows Communication Foundation • Windows Communication Foundation Security The following book covers the recommended prerequisites for this particular Developer Program: Microsoft Windows Communication Foundation: Hands-on by Craig McMurtry, Marc Mercuri, Nigel Watling, published by Sams, ISBN 0672328771 (Further details at http://innerworkings.safaribooksonline.com/0672328771) 46
  • Drill Title: Windows Communication Foundation Fundamentals Overview This Drill introduces you to the fundamental concepts of programming with Windows Drill Details Communication Foundation (WCF), including defining endpoints in code and in configuration, Status customizing the DataContract and OperationContracts exposed by a service, and specifying Released minimum requirements for the binding chosen in configuration. Developer Audience Program This Drill is for developers who want to learn the basic skills needed to use WCF, one of the key Programming components of Microsoft’s new .NET Framework 3.0. Windows Communication What you’ll learn Foundation using You will learn the skills needed to work with WCF, Microsoft's new unified framework for building Visual C#/Visual secure, reliable distributed applications. This includes different ways to connect a client to a WCF Basic 2005/2008 service, such as sharing contracts and using a proxy. You will also learn how to configure a service Number of Tasks with multiple endpoints, host services in IIS, define data contracts, and handle service failures. 6 Is this the Drill you need? Duration Take this Drill if you want to 3 hours (based on • connect to a WCF service using a generated proxy, and call methods on that service estimated coding time of 30 mins per task) • share contracts with a WCF service • define a service contract and host a WCF service that implements the contract with multiple Programming endpoints Language • host a WCF service in a web project Visual C# 2005/ 2008 and Visual • define a data contract in a WCF service that enables the service to return a custom type Basic 2005/2008 • specify a SOAP fault that is returned to the client when an operation encounters a problem System What you’ll cover Requirements • Connecting to a WCF service using a generated proxy and calling methods on a WCF service .NET Framework 3.0 • Using the Service Model Metadata Utility Tool (Svcutil.exe) Level • Sharing contracts with a WCF service and creating a local copy of the service contract 2 • Adding an endpoint to a client's configuration Drill Code • Defining a WCF service contract • D0025A-CS • Hosting a service that uses multiple endpoints and modifying a client application to use • D0025A-VB multiple endpoints • Hosting a WCF service in Internet Information Server (IIS) • Defining a data contract and enabling a WCF service to return a custom type to clients • Creating a strongly typed fault and preventing unhandled exceptions from being converted to a generic exception What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax and have a working knowledge of generic types, attributes, and exception handling in .NET. Although not essential, experience in object-oriented development would also be useful. 47
  • Drill Title: Creating Reliable Services with Windows Communication Foundation Overview With this Drill, you can work on the foundations of configuration-driven reliable messaging in the Drill Details Windows Communication Foundation (WCF). Techniques on recovering from data loss, ensuring consistency with transactions, and increasing availability with queues are all included. Status Released Audience Developer This Drill is for developers who want to be able to use the specific features of WCF that facilitate Program the development of reliable services running across a distributed environment. Programming Windows What you’ll learn Communication You will learn the skills needed to create reliable WCF services running across a distributed Foundation using environment. You will learn how to develop the different types of transactions needed (atomic Visual C#/Visual transactions, Microsoft Message Queuing (MSMQ) transactions, compensating transactions) and Basic 2005/2008 you will also be able to implement a reliable session on a custom binding. Number of Tasks Is this the Drill you need? 5 Take this Drill if you want to Duration • use atomic transactions in a WCF application 2.5 hours (based on • configure a WCF application to send messages to a queue estimated coding time of 30 mins per task) • implement MSMQ transactions in WCF • apply compensating transactions in Windows Communications Foundation WCF Programming • implement a reliable session on a custom binding in WCF Language Visual C# 2005/ 2008 and Visual What you’ll cover Basic 2005/2008 • Using atomic transactions in a WCF application • Using the TransactionFlow attribute System • Creating a queue on a local machine Requirements .NET Framework 3.0 • Configuring a WCF application to send messages to, and read messages from, a queue • Using MSMQ transactions Level • Ensuring message queuing is performed in a transactional manner 3 • Using compensating transactions Drill Code • Configuring an application to enable reliable sessions • D0025B-CS • Specifying message delivery details (Visual C# 2005/2008) What you’ll need to know • D0025B-VB We assume that you’re already familiar with the concepts of programming and you’ve some (Visual Basic experience with Visual Studio 2005/2008. For this particular Drill, you’ll also need to be 2005/2008) comfortable with Visual C# or Visual Basic syntax. Although not essential, experience in object- oriented development and a familiarity with SQL Server and MSMQ would also be useful. 48
  • Drill Title: Windows Communication Foundation Security Overview Windows Communication Foundation (WCF) provides a security framework that enables service Drill Details developers to choose specific implementations of confidentiality, integrity, authentication, and authorization. In this Drill, you perform techniques involving each of these options along with Status WCF’s auditing support. Released Audience Developer This Drill is for developers who want to be able to use the specific features of WCF that can be used Program Programming to develop the secure solutions needed for services in a distributed environment. Windows Communication What you’ll learn Foundation using You will learn important techniques for implementing the secure solutions that are needed in the Visual C#/Visual distributed environment where WCF applications are deployed. These include encryption at Basic 2005/2008 transport level, authentication techniques using certificates or username/password combinations, authorization, and impersonation. You will also learn how to audit security events. Number of Tasks 6 Is this the Drill you need? Take this Drill if you want to Duration 3 hours (based on • secure a WCF service by encrypting all communication at the transport level estimated coding time • create a custom username and password validator to authenticate users of the service of 30 mins per task) • authenticate the client and service with each other using X.509 certificates Programming • use WCF's claims-based Identity Model to authorize users of a service Language • configure a WCF service and client applications to impersonate the user currently logged in Visual C# 2005/ 2008 and Visual • set up security auditing and message logging for a WCF service Basic 2005/2008 What you’ll cover System • Using HTTPS to encrypt communication at the transport level Requirements • Setting service configuration files to enable transport-level security .NET Framework 3.0 • Creating a custom validator derived from UserNamePasswordValidator Level • Configuring a WCF client and service to use message-level security 3 • Installing and using X.509 certificates to authenticate both client and service • Authorizing users with WCF's claims-based Identity Model Drill Code • D0025C-CS • Configuring a WCF service and client to impersonate the user currently logged in • Implementing both declarative and imperative models for impersonation • D0025C-VB • Setting the impersonation level and configuring a service to audit security events • Using WCF message logging to log and view incoming and outgoing messages 49
  • What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, and have a basic understanding of XML and WCF services. Although not essential, a familiarity with the concepts of public key infrastructure (PKI), certificates, and encryption would also be useful. 50
  • Programming Windows Presentation Foundation using Visual C#/ Basic 2005/2008 This Developer Program contains the following Drills: • Basic Controls and Layout • Styles and Control Templates • Data Binding • Graphics and Animation • UserControls and Custom Controls with WPF 51
  • Drill Title: Basic Controls and Layout Overview This Drill examines basic controls and layout in Windows Presentation Foundation (WPF). Topics Drill Details include an introduction to WPF controls, using brushes in WPF, creating a user interface in Extensible Application Markup Language (XAML), as well as using StackPanel and WrapPanel. Status You'll also learn how to create layouts using DockPanel and GridPanel. Released Developer Audience Program This Drill is for developers who want to gain knowledge of techniques for basic controls and layout Programming in WPF. Windows Presentation What you’ll learn Foundation You will learn how to use brushes in WPF, creating a user interface in XAML, as well as using StackPanel and WrapPanel. You'll also learn how to create layouts using DockPanel and GridPanel. Number of Tasks 6 Is this the Drill you need? Take this Drill if you want to Duration 3 hours (based on • explore an introduction to WPF controls estimated coding time • use brushes in WPF of 30 mins per task) • create a user interface in XAML Programming • use StackPanel and WrapPanel Language • create layouts using DockPanel and GridPanel Visual C# 2005/ 2008 and Visual What you’ll cover Basic 2005/2008 • Creating WPF user interface controls imperatively System • Painting the background of a window with WPF brushes Requirements • Converting the imperative code of a WPF application to XAML code • Microsoft .NET • Interacting with objects and properties through XAML Framework 3.0 Redistributable • Refactoring a working application using the StackPanel and WrapPanel layout panels Package • Creating a basic user interface layout using the DockPanel control • Visual Studio • Creating an automatic layout using the Grid panel 2005 extensions • Using the Margin property to position controls within a Grid cell for .NET Frame- work 3.0 (WCF What you’ll need to know & WPF) We assume that you’re already familiar with the concepts of programming and you’ve some Level experience of Visual Studio 2005/2008. You’ll also need to be comfortable with Visual C# or Visual 2 Basic syntax, and have a basic understanding of XML. Drill Code • D0043A-CS • D0043A-VB 52
  • Drill Title: Styles and Control Templates Overview Windows Presentation Foundation (WPF) provides a high degree of control over many aspects of Drill Details the user interface. This Drill shows different ways to access resources in WPF, how to create styles and use a StyleSelector to apply them, and how to change a control's appearance with a template. Status It also demonstrates how to create theme-specific styles and templates. Released Developer Audience Program This Drill is for developers who want to gain a high degree of control over many aspects of the user Programming interface in WPF. Windows Presentation What you'll learn Foundation You will learn how to create styles and build a StyleSelector to apply them. You’ll also learn how to change a control's appearance with a template, as well as how to create theme-specific styles and Number of Tasks templates. 6 Is this the Drill you need? Duration Take this Drill if you want to 3 hours (based on estimated coding time • access resources programmatically and declaratively in WPF of 30 mins per task) • create styles as resources and apply them to user interface elements Programming • create a StyleSelector that applies a style based on custom logic Language • change the visual appearance of an existing control using a control template Visual C# 2005/ • respect the properties of the templated parent in a ControlTemplate using template binding 2008 and Visual Basic 2005/2008 • create theme-specific styles and templates for custom controls System What you'll cover Requirements • Working with binary and logical resources • Microsoft .NET • Using styles in WPF to define common property values for elements or controls Framework 3.0 Redistributable • Creating and using a StyleSelector to programmatically apply a style to items in the Package ItemControl control • Defining a ControlTemplate for a control to alter its appearance • Visual Studio 2005 extensions • Using template binding to perform relative binding within a template for .NET Frame- • Creating theme-specific styles and templates for custom controls work 3.0 (WCF & WPF) What you'll need to know Level We assume that you’re already familiar with the concepts of programming and you’ve some 2 experience of Visual Studio 2005/2008. You’ll also need to be comfortable with Visual C# or Visual Basic syntax, object-oriented development, and have a basic understanding of XML. Drill Code • D0043B-CS • D0043B-VB 53
  • Drill Title: Data Binding Drill Details Status Overview Released Windows Presentation Foundation (WPF) provides many ways to bind user interface elements to various data sources. This Drill shows how to access properties of custom objects and collections Developer using direct binding, how to use DataTemplate objects, and the IValueConverter and Program IMultiValueConverter interfaces. It also shows how to create a master/detail window that displays Programming ADO.NET data. Windows Presentation Audience Foundation This Drill is for developers who want to gain knowledge in techniques to bind user interface elements to various data sources in WPF. Number of Tasks 6 What you'll learn Duration You will learn how to access properties of custom objects and collections using direct binding, how 3 hours (based on to use DataTemplate objects, and how to use the IValueConverter and IMultiValueConverter estimated coding time interfaces. You’ll also learn how to create a master/detail window that displays ADO.NET data. of 30 mins per task) Is this the Drill you need? Programming Take this Drill if you need to Language Visual C# 2005/ • bind WPF UI elements to properties of custom objects and collections using direct binding 2008 and Visual and the CollectionViewSource object Basic 2005/2008 • use INotifyPropertyChanged and INotifyCollectionChanged in a WPF project and explore their effects on the User Interface System • use DataTemplate objects to construct a complex UI for items in a collection Requirements • Microsoft .NET • use the IValueConverter and IMultiValueConverter interfaces to create objects which Framework 3.0 transform data during data binding Redistributable • bind to XML documents using the XmlDataProvide, and to construct, bind, and execute Package methods on a custom object in XAML using the ObjectDataProvider • SQL Server 2000 • create a master/detail window that displays ADO.NET data using WPF, and to enable this or 2005 information to be sorted Level 2 What you'll cover • Binding WPF UI elements to collections and classes Drill Code • Setting up change notification between a collection of custom CLR objects and the UI • D0043C-CS • Displaying multiple properties of a complex CLR object as a single display item in a ListBox • D0043C-VB • Transforming values of data-bound controls using custom converter classes which implement the IValueConverter and IMultiValueConverter interfaces • Constructing and wrapping .NET types in XAML using an ObjectDataProvider, and calling and passing arguments to a method on the wrapped instance • Binding to database data in WPF What you'll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience of Visual Studio 2005/ 2008. You’ll also need to be comfortable with Visual C#, and have a basic understanding of XML and ADO.NET. 54
  • Drill Title: Graphics and Animation Drill Details Status Overview Released Windows Presentation Foundation (WPF) provides powerful graphics and animation capabilities. This Drill shows how to apply 2-D transformations to objects, draw 2-D shapes and animate them. Developer It also shows how to create and manipulate elements in a 3-D space, and apply animations to them. Program Programming Audience Windows This Drill is for developers who want to use WPF's powerful graphics and animation capabilities to Presentation create, manipulate, and animate 2-D and 3-D objects. Foundation What you'll learn Number of Tasks You'll learn how to apply 2-D transformations to objects, and to draw and manipulate 2-D shapes. 6 You'll also learn how to manipulate elements in a 3-D environment, and create interactive and Duration animated objects within such an environment. 3 hours (based on estimated coding time Is this the Drill you need? of 30 mins per task) Take this Drill if you need to • create a reflection effect on a splash screen and its contents by applying 2-D Programming Language transformations to it Visual C# 2005/ • use Windows Presentation Foundation to draw and describe the geometry of 2-D shapes 2008 and Visual • apply WPF animations to 2-D visual elements Basic 2005/2008 • manipulate elements within a WPF 3-D environment System • create interactive 3-D scenes with WPF Requirements • apply animations to objects in a 3-D space • Microsoft .NET Framework 3.0 What you'll cover Redistributable • Applying rotation and reflection effects Package • Hiding a window's non-client area • Visual Studio 2005 extensions • Using the Drawing and Geometry classes for .NET Frame- • Using the Path element with Path Markup syntax work 3.0 (WCF • Using animation timelines & WPF) • Adding an EventTrigger element Level • Building a 3-D scene with XAML markup 3 • Adding a camera and light source Drill Code • Implementing hit testing in a 3-D UI • D0043D-CS • Using the Viewport3D element • D0043D-VB • Using DoubleAnimation • Using AxisAngleRotation3D rotations and TranslateTransform3D transformations What you'll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience of Visual Studio 2005/ 2008. You’ll need to be comfortable with Visual C# or Visual Basic syntax, object-oriented development, and have a basic understanding of XML. You'll also need to be familiar with 2-D and 3-D basic concepts. 55
  • Drill Title: UserControls and Custom Controls with WPF Drill Details Status Overview Released This Drill shows how to create reusable controls in Windows Presentation Foundation (WPF). Topics include user controls, dependency properties and routed events, named template parts and Developer attached properties, and commands. Program Programming Audience Windows This Drill is for developers who want to gain knowledge of techniques for creating reusable Presentation controls in WPF. Foundation What you'll learn Number of Tasks You'll learn how to create a DependencyProperty and RoutedEvent in a UserControl, as well as how 6 to create and use custom controls and lookless custom controls. You’ll also learn how to use Duration attached properties and named template parts in a custom control, how to design a single-child 3 hours (based on element based on FrameworkElement, and how to use commands. estimated coding time of 30 mins per task) Is this the Drill you need? Take this Drill if you need to Programming Language • create and use a custom UserControl in WPF Visual C# 2005/ • increase code reuse and improve code quality with user controls 2008 and Visual • add a DependencyProperty and a RoutedEvent to a UserControl Basic 2005/2008 • implement a custom control in WPF with a default style that can be overridden by the System application that uses the control Requirements • apply custom commands to user interface elements • Microsoft .NET • declare and register an attached property and use a named template part Framework 3.0 Redistributable • design a single-child element based on the FrameworkElement class and adapt its Package rendering behavior • Visual Studio What you'll cover 2005 extensions • Encapsulating reusable code and providing defined styles for specific data types for .NET Frame- work 3.0 (WCF • Creating and registering a custom dependency property and routed event in WPF & WPF) • Using routed events with dependency properties Level • Defining custom commands and binding handlers to the CanExecute and Executed events 2 • Binding keyboard shortcuts to the commands of application controls Drill Code • Creating and registering a custom attached dependency property • D0043E-CS • Storing the content of an element in a specific property when the FrameworkElement • D0043E-VB instance is used in XAML • Sizing and positioning using the WPF graphic system and interacting with the DrawingContext in the OnRender method What you'll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience of Visual Studio 2005/ 2008. You’ll also need to be comfortable with Visual C# or Visual Basic syntax, and object-oriented development. A basic understanding of WPF concepts and XAML is also desirable. 56
  • Programming Windows Workflow Foundation using Visual C#/Basic 2005/2008 This Developer Program contains the following Drills: • Programming Windows Workflow Foundation Fundamentals • Programming Sequential Workflows • Programming State Machine Workflows • Developing Custom Activities • Programming Runtime Services and Hosts 57
  • Drill Title: Windows Workflow Foundation Fundamentals Overview This Drill introduces Windows Workflow Foundation (WF). It lets you examine basic techniques Drill Details useful for developing and running both sequential and state-based workflows, including creating and consuming simple activities. Status Released Audience This Drill is for developers who want to use WF—a key component of .NET Framework 3.0—to Developer Program quickly build workflow-enabled applications. Programming Windows Workflow What you’ll learn Foundation using You will learn how to quickly build workflow-enabled applications using Microsoft's new WF Visual C#/Visual technology. The skills you will learn include creating sequential and state-based workflows, flow Basic 2005/2008 control, passing parameters from a host, listening to events, and creating a tracking service. Number of Tasks Is this the Drill you need? 6 Take this Drill if you want to Duration • create a basic sequential workflow and use the activities DelayActivity and CodeActivity 3 hours (based on • employ the basic IfElseActivity and WhileActivity flow-control activities, and set up estimated coding time properties using the rule engine of 30 mins per task) • use and pass input parameters to a sequential workflow Programming • apply a ListenActivity activity in a sequential workflow to handle external events from a Language host application Visual C# 2005/ • implement a state-based workflow and handle external events using EventDrivenActivity 2008 and Visual Basic 2005/2008 • track the executing state of a sequential workflow using a tracking service and raise application-specific tracking data from the workflow System Requirements What you’ll cover .NET Framework 3.0 • The basic activities CodeActivity and DelayActivity • Attaching event handlers to activities to perform custom business logic Level 2 • The flow-control activities IfElseActivity and WhileActivity • Passing parameters from a host application to a sequential workflow Drill Code • Listening to events • D0025D-CS • Pausing a workflow to await user input • D0025D-VB • Creating a state-based workflow • Processing tasks from a host application through different states in a workflow • Adding a pre-built TrackingService service to a workflow runtime • Using the TrackData method to send user tracking data to a tracking service What you’ll need to know We assume that you’re already familiar with the concepts of programming and you’ve some experience with Visual Studio 2005/ 2008. For this particular Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, and have a basic understanding of workflows. Although not essential, experience in object-oriented development would also be useful. 58
  • Drill Title: Programming Sequential Workflows Overview This Drill lets you practice basic techniques on developing and running sequential workflows. Drill Details Topics cover building and consuming custom activities, using compensation handlers, using the ReplicatorActivity, dynamic updating, and policy. Status Released Audience This Drill is for developers who want to gain knowledge of techniques useful for developing and Developer running sequential workflows. Program Programming Windows Workflow What you’ll learn Foundation using You will learn how to build and consume custom activities. You will also learn about using Visual C#/Visual compensation handlers, using the ReplicatorActivity, dynamic updating, and policy. Basic 2005/2008 Is this the Drill you need? Number of Tasks Take this Drill if you want to 6 • extend the SequenceActivity class to encapsulate workflow logic in a custom activity Duration • use compensation in workflows 3 hours • employ the Replicator Activity Programming • modify a workflow at runtime Language • define rules using the Policy Activity Visual C# 2005/ • host the Workflow Designer and monitor a workflow 2008 and Visual Basic 2005/2008 What you’ll cover System • Encapsulating workflow logic in a custom activity Requirements • Using compensation in workflows • A non-express • Creating an arbitrary number of instances of a single activity during run time edition of Visual Studio • Using the dynamic workflow capabilities of Windows Workflow Foundation • Adding a new activity to a running workflow • Microsoft .NET Framework 3.0 • Using the rules engine capabilities in Windows Workflow Foundation Redistributable • Declarative modelling of application logic units in a business process Package • Hosting the workflow designer within a Windows Forms application • Visual Studio • Displaying the progress of a running workflow instance 2005 extensions for .NET Frame- What you’ll need to know work 3.0 (Win- We assume that you’re already familiar with the concepts of programming and you’ve some dows Workflow Foundation) experience of Visual Studio 2005/2008, including its Workflow Designer. For this Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, working with workflows and Level activities, and object-oriented development. Although not essential, experience with Windows 2 Forms applications would also be useful. Drill Code • D0042A-CS (C#) • D0042A-VB (VB) 59
  • Drill Title: Programming State Machine Workflows Overview This Drill examines basic techniques useful for developing and running state machine workflows. Drill Details Topics include building and consuming Local Services for communication between the workflow and host, using workflow queue data to determine the available actions for a particular state, and Status using role-based authorization. Released Audience Developer This Drill is for developers who want to gain knowledge of techniques useful for developing and Program Programming running state machine workflows. Windows Workflow Foundation using What you’ll learn Visual C#/Visual You will learn how to build and consume Local Services for communication between the workflow Basic 2005/2008 and host. You will also learn how to use workflow queue data to determine the available actions for a particular state, and to use role-based authorization. Number of Tasks 6 Is this the Drill you need? Take this Drill if you want to Duration 3 hours • define states and transitions in a state machine workflow • execute logic when the state machine workflow enters or exits a state Programming Language • use Local Services to communicate between the host and a state machine workflow Visual C# 2005/ • define correlation in a state machine workflow 2008 and Visual • manage workflow queue data Basic 2005/2008 • implement roles in a state machine workflow System Requirements What you'll cover • A non-express • Defining states and transitions in a state machine workflow edition of Visual • Managing transitions between states based on user input Studio • Sharing activities between states using a composite state • Microsoft .NET • Executing logic when the state machine workflow enters or exits a state Framework 3.0 Redistributable • Adding state initialization and state finalization activities to a state machine workflow Package • Defining and using Local Services to communicate between the host and a state machine • Visual Studio workflow 2005 extensions • Defining correlation in a state machine workflow for .NET Frame- • Managing workflow queue data work 3.0 (Win- dows Workflow • Using roles with workflow activities to restrict access from within the workflow Foundation) What you'll need to know Level We assume that you’re already familiar with the concepts of programming and you’ve some 2 experience of Visual Studio 2005/2008, including its Workflow Designer. For this Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, working with workflows and Drill Code • D0042B-CS activities, and object-oriented development. • D0042B-VB 60
  • Drill Title: Developing Custom Activities Overview This Drill covers the development of custom workflow activities. Topics include creating a simple Drill Details custom activity, and attaching to it a custom designer and toolbox item class. Other topics include enhancing custom activities with validation and compensation logic, and grouping child activities Status into a composite sequential activity. Released Developer Program Audience Programming Windows This Drill is for developers who want to develop applications with custom workflow activities Workflow Foundation ranging from simple examples to composite sequential activities, and which feature enhancements using Visual C#/Visual such as validation and compensation. Basic 2005/2008 Number of Tasks What you’ll learn 6 You will learn how to create a simple custom activity and attach to it a custom designer and toolbox item class. You'll also learn the skills needed to enhance custom activities with validation and Duration compensation logic, and group child activities into a composite sequential activity. 3 hours (based on estimated coding time of Is this the Drill you need? 30 mins per task) Take this Drill if you want to Programming • create a simple custom activity Language Visual C# 2005/2008 • add custom validation to a custom activity and Visual Basic 2005/ • add designer and toolbox support to custom activity 2008 • create a custom composite sequential activity System • manage child activities in a custom composite activity Requirements • A non-express edi- • implement cancellation and compensation in custom composite activities tion of Visual Stu- dio What you'll cover • Microsoft .NET • Creating a simple custom activity that derives from the Activity class Framework 3.0 • Using a custom activity in a sequential workflow Redistributable Package • Implementing a custom designer • Visual Studio 2005 • Implementing a custom toolbox item class extensions for .NET • Attaching a custom designer and a custom toolbox item to a simple custom activity Framework 3.0 (Windows Work- • Adding validation to a custom activity flow Foundation) • Using default Windows Workflow validation with a custom validator class Level • Grouping child activities into a composite sequential activity 3 • Managing execution of child activities within a custom composite activity Drill Code • Implementing compensation logic • D0042C-CS • Overriding default cancellation behavior of custom composite activities • D0042C-VB What you'll need to know We assume that you’re already familiar with the concepts of programming and you’ve experience with the Visual Studio 2005/ 2008 Environment, including its Workflow Designer. For this Drill, you’ll also need to be comfortable with Visual C# or Visual Basic syntax, working with workflows and activities, and object-oriented development. 61
  • Drill Title: Programming Runtime Services and Hosts Overview This Drill examines basic techniques useful for developing runtime services and hosts. Topics include hosting a workflow in a Web application, publishing a workflow as a Web service, persisting workflow instances with SqlWorkflowPersistenceService, and using SqlTrackingService. Drill Details Other topics include creating and using a custom tracking service and tracking channel, and creating transactional services. Status Released Audience This Drill is for developers who want to learn the techniques for programming runtime services and Developer Program hosts in a Windows Workflow Foundation environment. Programming Windows Workflow Foundation using Visual C#/Visual What you’ll learn Basic 2005/2008 You will learn how to host a workflow in a web application and publish a workflow as a web service. You'll also learn how to persist workflow instances and create transactional services, and how to Number of Tasks implement various techniques for tracking workflow information. 6 Duration Is this the Drill you need? 3 hours (based on Take this Drill if you want to estimated coding time of • host a workflow in an ASP.NET web application 30 mins per task) • publish a workflow as a web service Programming • persist workflow instances using SqlWorkflowPersistenceService Language Visual C# 2005/2008 • track workflow information using SqlTrackingService and Visual Basic 2005/ • create and use a custom tracking service and tracking channel 2008 • create transactional services System Requirements What you'll cover • A non-express edi- • Hosting a workflow in an ASP.NET web application tion of Visual Stu- dio • Configuring a web application workflow • Microsoft .NET • Publishing a workflow as a web service Framework 3.0 • Persisting workflow state to a SQL Server database Redistributable Package • Using SqlWorkflowPersistenceService • Visual Studio 2005 • Tracking workflow information using SqlTrackingService extensions for .NET • Adding a custom tracking service to a workflow Framework 3.0 (Windows Work- • Defining a custom track point which specifies the data to extract from a workflow flow Foundation) • Creating transactional services • SQL Server 2000 • Implementing the IPendingWork interface or 2005 Level What you'll need to know 2 We assume that you’re already familiar with the concepts of programming and you’ve experience with the Visual Studio 2005/2008 Environment, including its Workflow Designer. You’ll also need Drill Code to be comfortable with Visual C# or Visual Basic syntax, working with workflows and activities, web • D0042D-CS applications and services, and object-oriented development. • D0042D-VB 62
  • Programming with Visual Studio Team System using Visual C#/Basic 2005/2008 This Developer Program contains the following Drills: • Unit Testing with Visual Studio Team System • Static Analysis, Profiling & Code Coverage with Visual Studio Team System 63
  • Drill Title: Unit Testing with Visual Studio Team System Overview This Drill focuses on effective techniques and patterns that developers can apply while creating and Drill Details modifying test classes. Tests are implemented using the unit testing framework included in Visual Status Studio 2005 Team System (VSTS). Released Audience Developer This Drill is for developers who want to learn how to write effective unit tests using documented Program xUnit patterns in Visual Studio 2005 Team System. Programming with Visual Studio Team What you'll learn System using Visual You will learn how to use the Unit Testing Framework in Visual Studio 2005 Team System to create C#/Visual Basic unit tests for your code. After taking this Drill, you will be able to use Team System to create unit 2005/2008 tests on a class or method level, access private methods and properties of your code under test, and use the Test View window in Visual Studio to control which tests run. You will also know how to Number of Tasks apply documented xUnit testing patterns and techniques. 6 Duration Is this the Drill you need? 3 hours (based on Take this Drill if you want to estimated coding time • create unit tests using the Unit Testing Framework in VSTS of 30 mins per task) • refactor existing code using the Dependency Injection pattern to increase testability Programming • control inputs to your system under testing using Test Stubs Language • verify a component's behaviour by replacing objects with Mock objects Visual C# 2005/ 2008 and Visual • increase the performance of tests by using Shared Fixtures Basic 2005/2008 • reduce duplication in test code by using Custom Assertion and Finder utility methods System What you'll cover Requirements • Using the Unit Testing Framework in VSTS & using Private Accessors to test private • A non-express methods from unit testing code edition of Visual Studio • Implementing system-under-test functionality with Test Stubs and Mock objects • Increasing test performance by using Shared Fixtures • Visual Studio Team Edition for • Improving testability by using Dependency Injection and reducing test code duplication by Software Devel- using testing utilities opers, Visual Stu- dio Team Edition What you'll need to know for Software We assume that you’re already familiar with the concepts of programming and you’ve some Testers, or Visual experience of Visual Studio 2005/2008. For this Drill, you’ll also need to be comfortable with Visual Studio Team C# or Visual Basic syntax. Suite Level 3 Drill Code • D0044A-CS • D0044A-VB 64
  • Drill Title: Static Analysis, Profiling, and Code Coverage with Visual Studio Team System Overview This Drill focuses on using the Code Coverage, Profiling, and Static Analysis tools included in Visual Drill Details Studio 2005 Team System (VSTS). Status Audience Released* This Drill is for developers who want to learn how to identify performance bottlenecks, incomplete unit tests, and non-conforming code in their applications using the tools included in Visual Studio Developer 2005 Team System. Program Programming with What you'll learn Visual Studio Team You will learn how to enable the Code Coverage features in VSTS that allow you to visually identify System using Visual paths through your source code that are not tested by unit tests. You will also learn how to gather C#/Visual Basic 2005/2008 performance data from applications and use this performance data to optimise your code and remove bottlenecks. Number of Tasks 5 In this Drill, you will also find out how to examine your source code using the Static Analysis Tools in Visual Studio 2005 Team System. Afterwards, you will be able to identify non-uniform and Duration potentially hazardous code using the built-in rule. In addition, you’ll know how to create custom 2.5 hours static analysis rules. Programming Is this the Drill you need? Language Take this Drill if you want to Visual C# 2005/ 2008 and Visual • examine your unit tests and discover untested code Basic 2005/2008 • identify performance bottlenecks in your applications System • analyse your code using the built-in static analysis rules provided by VSTS Requirements • create custom static analysis rules to identify non-compliant code • A non-express edition of Visual What you'll cover Studio • Using Code Coverage tools in Visual Studio 2005 Team System • Visual Studio • Analysing performance reports to identify bottlenecks in code Team Edition for • Manually adding a static analysis rule and using it to identify and resolve non-compliant Software Devel- code opers, Visual Stu- dio Team Edition • Creating a custom static analysis rule for Software Testers, or Visual What you'll need to know Studio Team We assume that you’re already familiar with the concepts of programming and you’ve some Suite experience of Visual Studio 2005/2008 and its unit testing features. For this Drill, you’ll also need Level to be comfortable with Visual C# or Visual Basic syntax. 3 Drill Code • D0044B-CS • D0044B-VB 65
  • Transact-SQL Development using Visual C#/Visual Basic 2005/2008 This Developer Program contains the following Drills: • Transact-SQL Fundamentals in SQL Server • Transact-SQL Enhancements in SQL Server 2005 66
  • Drill Title: Transact-SQL Fundamentals in SQL Server Overview This Drill covers fundamental T-SQL activities such as making queries, sorting and filtering, and Drill Details using table joins. It also covers control-of-flow language, and using functions (including aggregate functions) to manipulate data. Status Released Audience Developer This Drill is for developers who want to learn the skills to use Transact-SQL to interact with a SQL Program Server database. Transact-SQL Development using What you'll learn Visual C# 2005/ You will learn the basic skills needed to use the T-SQL language to access Microsoft's popular SQL Visual Basic 2005 Server database. This includes making queries, sorting and filtering data, and using table joins. You'll also cover control-of-flow language, and using functions (including aggregate functions) to Number of Tasks manipulate data. 6 Is this the Drill you need? Duration Take this Drill if you want to 3 hours (based on estimated coding time • Make basic T-SQL queries of 30 mins per task) • Sort and filter in T-SQL Programming • Use table joins and column aliases Language • Use aggregate functions with GROUP BY and HAVING Visual C# 2005 and • Use T-SQL control-of-flow language Visual Basic 2005 • Manipulate data with built-in T-SQL functions System Requirements What you'll cover • A non-express • Using the basic T-SQL statements SELECT, UPDATE, INSERT, and DELETE edition of Visual • Sorting and filtering data using T-SQL Studio • Combining records from two tables • SQL Server 2000 • Using different types of joins or 2005 • Changing the name of a result set column Level 2 • Performing a calculation on a set of values • Returning a single value using an aggregate function Drill Code • Controlling the flow of execution of T-SQL statements • D0045A-CS • Using built-in string and system scalar functions • D0045A-VB What you'll need to know We assume that you’re already familiar with programming concepts and you’ve used Visual Studio. You’ll also need to be comfortable with Visual C# or Visual Basic syntax, and have a working knowledge of SQL and SQL Server (or general database fundamentals, at least). Although not essential, experience with Transact-SQL (T-SQL) would be useful. 67
  • Drill Title: Transact-SQL Enhancements in SQL Server 2005 Overview This Drill covers advanced T-SQL activities such as subqueries and Set operations, table Drill Details expressions, transactions, and structured exception handling. It also covers how to group, rank, summarize, and filter data using T-SQL, as well as how to query relational and XML data using FOR Status XML and XQUERY. Released Audience Developer This Drill is for developers who want to use new Transact-SQL capabilities in SQL Server 2005. Program Transact-SQL What you'll learn Development using You'll learn the skills needed to use the enhanced T-SQL capabilities available in SQL Server 2005. Visual C# 2005/ This includes subqueries and set operations, table expressions, transactions, and structured 2008/Visual Basic 2005/2008 exception handling. You'll also learn how to group, rank, summarize, and filter data using T-SQL, as well as how to query relational and XML data using FOR XML and XQUERY. Number of Tasks 6 Is this the Drill you need? Take this Drill if you want to Duration • Use subqueries and set operations 3 hours (based on estimated coding time • Use table expressions of 30 mins per task) • Manage transactions • Implement exception handling Programming Language • Group, rank, summarize and filter in T-SQL Visual C# 2005/ • Query relational and XML data, using FOR XML and the XML data type 2008 and Visual Basic 2005/2008 What you'll cover • Creating T-SQL statements that contain nested queries System Requirements • Selecting rows from two result tables based on set operations • A non-express • Writing maintainable SQL statements with derived tables, table expressions, and recursion edition of Visual • Managing database transactions in SQL Server 2005 Studio • Raising and handling exceptions in SQL Server 2005 • SQL Server 2005 • Grouping, ranking, summarizing, and filtering data Level • Using T-SQL’s ranking and pivoting functions 3 • Querying data stored using the XML data type in SQL Server 2005 Drill Code • Querying relational data • D0045B-CS • D0045B-VB What you'll need to know We assume that you’re already familiar with programming concepts and you’ve used Visual Studio. You’ll also need to be comfortable with Visual C# or Visual Basic syntax, and have a working knowledge of SQL and SQL Server. Although not essential, experience with Transact-SQL (T-SQL) and SQL Server 2005 would be useful. 68
  • Silverlight 2 Programming using Visual C#/Visual Basic 2005/2008 This Developer Program contains the following Drills: • Managed Code in Silverlight 2 • Working with Data in Silverlight 2 69
  • Drill Title: Managed Code in Silverlight 2 Overview This Drill covers important managed code techniques in Silverlight 2, Microsoft's cross-platform technology for developing rich, interactive applications on the Web. Drill Details Audience Status This Drill is for developers who want to learn how to use managed code techniques to develop and Released deploy Silverlight applications. Developer What you'll learn Program You'll learn how to use the Silverlight DataGrid and MediaPlayer ASP.NET controls, how to use Managed Code in # 2 Silverlight Panels to create an Application Layout, and how to handle events and to interact with using Visual C# Web pages. 2005/2008/Visual Basic 2005/2008 Is this the Drill you need? Number of Tasks Take this Drill if you want to 6 • Deploy a Silverlight application Duration • Configure Silverlight libraries for in-package or on-demand deployment 3 hours (based on • Arrange a Web application using Silverlight Panel controls estimated coding time • Customize the Silverlight DataGrid control of 30 mins per task) • Wire UI events in XAML Programming • Work with routed events Language • Attach managed handlers to events from HTML elements on the Silverlight hosting page Visual C# 2005/ 2008 and Visual • Make methods of managed objects available to JavaScript Basic 2005/2008 • Modify elements of a host HTML page from Silverlight System What you'll cover Requirements • Hosting an application in an ASPX page • Microsoft Silver- • Personalizing the look of the MediaPlayer control light 2 • Arranging large elements of an application UI using the Grid panel • Microsoft Silver- light Tools for • Using the Silverlight DataGrid control Visual Studio • Changing the default columns by using the Columns collection of the DataGrid 2008 • Using the built-in column type DatGridTextColumn Level • Creating a custom template that includes the DatePicker control 3 • Wiring up Silverlight events in XAML Drill Code • Handling Silverlight events with managed code • D0046C-CS • Handling routed events and determining the objects that raise routed events • D0046C-VB • Calling managed code from JavaScript • Modifying values of a Web page's DOM from managed Silverlight code What you'll need to know We assume that you’re already familiar with programming concepts and that you’ve used Visual Studio. You’ll also need to be comfortable with writing C#, HTML, XAML, and JavaScript. 70
  • Drill Title: Working with Data in Silverlight 2 Overview This Drill covers important techniques for working with data in Silverlight 2, Microsoft's cross- Drill Details platform technology for developing rich, interactive applications on the Web. Status Audience Released This Drill is for developers who want to learn how work with data Silverlight 2. Developer What you'll learn Program You'll learn how to use Silverlight 2 techniques such as data binding, implementing a master detail Working with Data in view, accessing HTTP-based services, accessing SOAP services, accessing syndication feeds, and Silverlight 2 using using isolated storage. Visual C# 2005/ 2008/Visual Basic 2005/2008 Is this the Drill you need? Take this Drill if you want to Number of Tasks • Perform data binding in Silverlight 2 6 • Implement one-way data binding on a custom class Duration • Implement a Master Detail view 3 hours (based on • Use a custom data template to improve the look and feel of the Silverlight ListBox control estimated coding time of 30 mins per task) • Interact with RESTful services over HTTP using XML • Access data from a WCF service Programming • Convert retrieved data values using the IValueConverter interface Language Visual C# 2005/ • Consume an RSS feed and display the consumed data in the DataGrid control 2008 and Visual • Manage local assets by accessing Silverlight's isolated storage and application settings Basic 2005/2008 What you'll cover System • Binding simple data values to XAML elements Requirements • Modifying one class to support data binding • Microsoft Silver- light 2 • Creating your own ItemTemplates for Listbox items • Microsoft Silver- • Calling HTTP services from a Silverlight 2 application light Tools for • Using the WebClient to set up asynchronous calls to remote, HTTP based services Visual Studio • Making WCF services accessible to Silverlight 2 clients by using the correct binding type 2008 • Creating a proxy for Web services using Visual Studio Level • Solving cross-domain issues in Silverlight 2 by placing correctly-configured 3 clientaccesspolicy.xml or crossdomain.xml files on the required Web server Drill Code • Using the System.ServiceModel.Syndication namespace for RSS and Atom feeds • D0046D-CS • Rendering the DataGrid control on screen • D0046D-VB • Creating, saving, and deleting files in Silverlight 2's isolated storage virtual file system • Using the IsolatedStorageSettings static class What you'll need to know We assume that you’re already familiar with programming concepts and that you’ve used Visual Studio. You’ll also need to be comfortable with writing C#, HTML, XAML, and JavaScript. 71
  • .NET Framework 3.5 Programming using Visual C# 2008 / Visual Basic 2008 This Developer Program contains the following Drills: • New features in C# 3.0/VB 9.0 • LINQ to SQL • LINQ to XML • ASP.NET Dynamic Data • ADO.NET Data Services 72
  • Drill Title: New features in C# 3.0/VB 9.0 Overview The Drill covers important new features in C# 3.0/VB 9.0. Drill Details Audience Status This Drill is for developers who want to be able to use the new features in C# 3.0/VB 9.0. Released What you'll learn Developer You will learn important new C# 3.0/VB 9.0 features, including delegates and lamda expressions, as Program well as basic and advanced LINQ queries. New features in C# 3.0/VB 9.0 Is this the Drill you need? Take this Drill if you want to Number of Tasks 6 • define, instantiate, and use delegates • create and use extension methods Duration 3 hours (based on • use the auto-implemented properties language feature as shorthand for property estimated coding time declaration of 30 mins per task) • create basic lambda expressions and Func delegates • manipulate collections of data using new LINQ extension methods with lambda expressions Programming Language • join two sequences Visual C# 2008 and • use partitioning, set, and conversions operators Visual Basic 2008 What you'll cover System • defining and creating an instance of the anonymous type Requirements • Microsoft .NET • creating objects and collections using short-hand syntax Framework 3.0 • creating, importing, and using extension methods Redistributable • creating properties using short-hand syntax Package • defining argument and return types with the Func delegate • SQL Server 2000 or 2005 • providing criteria to the extension methods, using lambda expressions • removing duplicates from a collection using the Distinct method • Visual Studio 2008 • performing an inner join between two in-memory sequences Level • performing a grouped join between two sequences of objects 2 • retrieving the common elements from two sequences, using the Intersect set operator • filtering the elements of a sequence based on a type, using the OfType conversion operator Drill Code • D0047A-CS What you'll need to know • D0047A-VB We assume that you're already familiar with the concepts of programming and you're familiar with previous versions of the Visual Studio environment. For this particular drill, you'll also need to be comfortable with the generics, iterators, and delegates features of C# 2.0/VB 8.0 . 73
  • Drill Title: LINQ to SQL Overview LINQ to SQL provides a means for managing relational data as objects while retaining the ability to Drill Details query that data. This Drill covers a number of techniques needed to use LINQ to SQL effectively, including retrieving data, CRUD operations, and optimization. Status Released Audience This Drill is for developers who want to be able to use the LINQ to SQL functionality available in Developer .NET Framework 3.5. Program LINQ to SQL What you'll learn You'll be able to use LINQ to SQL to manage relational data as objects, and perform database Number of Tasks operations through a LINQ to SQL data context. You'll also be able to optimize LINQ to SQL, and use 6 it against existing stored procedures. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • generate strongly typed LINQ to SQL data context and entity classes to retrieve data from a database Programming Language • create, retrieve, update, and delete (CRUD) database data through a LINQ to SQL data Visual C# 2008 and context Visual Basic 2008 • use LINQ to SQL entity classes against existing stored procedures System • detect and handle concurrency conflicts Requirements • configure LINQ to SQL at runtime, to load data and execute queries more efficiently • Microsoft .NET • use the LinqDataSource control Framework 3.0 Redistributable What you'll cover Package • generating strongly typed LINQ to SQL data context and entity classes • SQL Server 2000 • using the ORM designer or 2005 • using LINQ to SQL data context and entity classes to retrieve data from a database • Visual Studio • optimizing LINQ to SQL queries 2008 • implementing compiled queries Level 2 • using LinqDataSource to bind ASP.NET UI controls to database data • enabling concurrency checks Drill Code • parsing the elements of change conflicts • D0047B-CS • using LINQ to SQL entity classes against existing stored procedures • D0047B-VB What you'll need to know We assume that you're already familiar with the concepts of programming and with previous versions of the Visual Studio environment. For this particular drill, you'll also need to be comfortable with Visual C#/Visual Basic, as well as SQL Server. Although not essential, knowledge of data binding techniques in Windows or web applications would also be useful. 74
  • Drill Title: LINQ to XML Overview LINQ to XML provides a clean programming model that enables you to read, construct, and write Drill Details XML data. This Drill covers a number of important techniques required to use LINQ to XML effectively. Status Released Audience This Drill is for developers who want to be able to use the LINQ to XML functionality available in Developer .NET Framework 3.5. Program LINQ to XML What you'll learn After taking this Drill, you’ll be able to use LINQ to XML to read, write, and process XML data. Number of Tasks 6 Is this the Drill you need? Duration Take this Drill if you want to use LINQ to XML to 3 hours (based on estimated coding time • read and write data of 30 mins per task) • work with advanced XML document settings • navigate an XML tree Programming Language • update XML Visual C# 2008 and • validate XML with extension methods Visual Basic 2008 • query and transform XML with XPath and XSLT System Requirements What you'll cover • Visual Studio • Creating, loading, and saving XML documents and elements using LINQ to XML 2008 • Working with the XDocument class provided by LINQ to XML Level • Using LINQ to XML to specify settings such as declarations, processing instructions, and 3 namespaces • Creating a namespace with a prefix using both the XNamespace class and its Xmlns Drill Code property • D0047C-CS • Navigating through and locate various nodes in XML using LINQ To XML • D0047C-VB • Modifying and updating in-memory XML with methods of the XNode and XElement classes • Loading an XML Schema Definition (XSD) file using types from the pre-LINQ System.Xml namespace • Using LINQ to XML to locate nodes in an XML file with XPath expressions • Using the "bridge classes" provided by LINQ to XML • Transforming an XML file to an alternative representation using XSLT What you'll need to know We assume that you're already familiar with the concepts of programming and with previous versions of the Visual Studio environment. For this particular drill, you'll also need to be comfortable with Visual C#, and have a working knowledge of XML syntax. Although not essential, knowledge of XSD, XSLT and XPath would also be useful. 75
  • Drill Title: ASP.NET Dynamic Data Overview This Drill covers important techniques for working with ASP.NET Dynamic Data, Microsoft's web Drill Details application framework for building functional data-driven applications, based on a LINQ to SQL model. Status Released Audience This Drill is for developers of any career level who want to be able to use ASP.NET Dynamic Data. Developer Program What you'll learn ASP.NET Dynamic You'll learn how to use ASP.NET Dynamic Data to create a data-driven web application and to Data validate its data. You'll also learn how to customize table layouts with custom page templates and metadata attributes. What's more, you'll learn how to access metadata, create custom field Number of Tasks 6 templates, and filter dynamic data. Duration Is this the Drill you need? 3 hours (based on Take this Drill if you want to estimated coding time of 30 mins per task) • use ASP.NET Dynamic Data with a LINQ to SQL data model to create a data-driven web application in a few short steps Programming • create a custom page template for the Insert action Language Visual C# 2008 and • customize the display name of an entity and its properties Visual Basic 2008 • create a reusable piece of UI in the form of a custom field template • render the property or field of an entity by using a specific field template Level 2 • validate data that is input through dynamically rendered ASP.NET Dynamic Data pages • perform additional validation in the data model Drill Code • extend ASP.NET Dynamic Data to automatically generate user interfaces that will enable • D0055B-CS users to filter data from a database table by any of its integer columns • D0055B-VB • programmatically examine the metadata applied to a data model. What you'll need to know We assume that you’re already familiar with programming concepts and that you've used Visual Studio. For this particular drill, you'll also need to be comfortable with Visual C# syntax and ASP.NET programming. Although not essential, some familiarity with LINQ to SQL and/or object relational mappers would also be useful. 76
  • Drill Title: ADO.NET Data Services Overview This Drill covers important techniques for working with ADO.NET Data Services, the Microsoft Drill Details framework that enables applications to expose data as a data service for consumption by clients within corporate networks and across the internet. Status Released Audience This Drill is for mid-career developers who want to be able to use ADO.NET Data Services. Developer Program What you'll learn ADO.NET Data You'll learn how to use the ADO.NET Data Services .NET client library and access in-memory data Services with ADO.NET Data Services. You'll also learn how to work with service operations, optimize ADO.NET Data Services, and secure data provided by ADO.NET Data Services. What's more, you'll Number of Tasks 6 learn how to use AJAX Sequence Updates and query ADO.NET Data Services with the AJAX client library. Duration 3 hours (based on Is this the Drill you need? estimated coding time Take this Drill if you want to of 30 mins per task) • make an in-memory data model accessible via a data service Programming • communicate with a data service in a strongly-typed manner using a locally generated Language proxy Visual C# 2008 and Visual Basic 2008 • consume data from a data service using JavaScript and AJAX • use the ActionSequence AJAX object to execute batch jobs against a data service Level • control the loading behavior of data from a data service 3 • optimize calls Drill Code • extend a data service with custom operations • D0055A-CS • secure data provided by ADO.NET Data Services, using Query Interceptors and Client • D0055A-VB Application Services What you'll need to know We assume that you're already familiar with programming concepts and that you've used Visual Studio. For this particular drill, you'll also need to be comfortable with Visual C# syntax, Windows Forms programming, ASP.NET development, and JavaScript programming. Although not essential, some familiarity with LINQ to SQL and the ADO.NET Entity Framework would also be useful. 77
  • Threading in C# / VB using Visual C# 2008 / Visual Basic 2008 This Developer Program contains the following Drills: • Threading in the .NET Framework • Concurrency Patterns 78
  • Drill Title: Threading in the .NET Framework Audience This Drill is for developers who want to learn basic techniques required to work with threads in the Drill Details .NET Framework. Status What you'll learn Released You’ll learn how to use the .NET thread pool, the BackgroundWorker component, thread safe programming techniques, and asynchronous delegates. You’ll also learn how to perform thread Developer synchronization with wait handles, as well as how to create and control threads manually. Program Threading in C#/VB Is this the Drill you need? Take this Drill if you want to Number of Tasks 6 • use threads efficiently with the .NET thread pool Duration • use the BackgroundWorker component to perform a long search operation while reporting 3 hours (based on its progress estimated coding time • use the Thread class to manually create foreground and background threads, and to of 30 mins per task) synchronize execution between two manual threads Programming • use synchronization primitives to coordinate dependent activities across threads Language • synchronize critical regions with the Monitor class Visual C# 2008 and • call synchronous methods in an asynchronous manner via delegates. Visual Basic 2008 System What you'll need to know Requirements We assume that you’re already familiar with programming concepts and that you’ve used Visual • Visual Studio Studio. For this particular drill, you'll also need to be comfortable with Visual C# syntax and 2008 Windows Forms programming. Although not essential, some familiarity with the concept of threading would also be useful. Level 3 Drill Code • D0054A-CS • D0054A-VB 79
  • Drill Title: Concurrency Patterns Audience This Drill is for developers who want to learn advanced techniques required to work with threads Drill Details in the .NET Framework. Status What you'll learn Released You’ll learn about the Event-based Asynchronous Pattern, the Countdown Latch, and the Producer/ Consumer relationship. You'll also learn how to parallelise data by using Loop Tiling, avoid Developer deadlocks with Lock Leveling, and work with immutable types. Program Threading in C#/VB Is this the Drill you need? Take this Drill if you want to Number of Tasks 6 • add asynchronous functionality to your own class to start, cancel, and track the progress of Duration asynchronous tasks 3 hours (based on • manage the execution of multiple threads using the countdown latch pattern estimated coding time • complete a multi-threaded application that represents a producer/consumer relationship of 30 mins per task) using the Monitor class Programming • parallelize the processing of data with loop tiling, while applying Map and Reduce Language functions over a set of input data Visual C# 2008 and • acquire multiple locks in a fixed, global order to avoid deadlocks Visual Basic 2008 • create an immutable type and display an immutable snapshot of a collection in the UI, System while also enabling multiple threads to modify the collection. Requirements • Visual Studio What you'll need to know 2008 We assume that you’re already familiar with programming concepts and that you’ve used Visual Studio. For this particular drill, you'll also need to be comfortable with Visual C# syntax and Level Windows Forms programming. Although not essential, some familiarity with threading 3 fundamentals would also be useful. Drill Code • D0054B-CS • D0054B-VB 80
  • Unit Testing with Visual Studio 2005/2008 using Visual C# /Visual Basic This Developer Program contains the following Drills: • Unit Testing with Visual Studio • Unit Testing with NUnit • Unit Testing with xUnit.net 81
  • Drill Title: Unit Testing with Visual Studio Audience This Drill is for intermediate developers who want to learn how to write effective unit tests using Drill Details documented test patterns in Visual Studio. Status What you'll learn Released You will learn how to use the Unit Testing Framework in Visual Studio to create unit tests for your code. After taking this Drill, you will be able to use Visual Studio to create unit tests on a class or Developer method level, access private methods and properties of your code under test, and use the Test View Program window in Visual Studio to control running tests. You will also learn how to apply documented Unit Testing with testing patterns and techniques. Visual Studio Is this the Drill you need? Number of Tasks 6 Take this Drill if you want to Duration • create unit tests using the Unit Testing Framework in Visual Studio 3 hours (based on • refactor existing code using the dependency injection pattern to increase testability estimated coding time • control inputs to your system under testing using test stubs of 30 mins per task) • verify a component's behaviour by replacing objects with mock objects Programming • increase the performance of tests by using shared fixtures Language • reduce duplication in test code by using custom assertion and finder utility methods Visual C# 2008 and Visual Basic 2008 • use private accessors to test private methods from unit testing code • implement system-under-test functionality with test stubs and mock objects System • improve testability by using dependency injection and reduce test code duplication by Requirements using testing utilities • Visual Studio 2008 What you'll need to know Level We assume that you’re already familiar with the concepts of programming and you’ve some 2 experience of Visual Studio 2005/2008. For this Drill, you’ll also need to be comfortable with Visual C#/Visual Basic syntax. Drill Code • D0057A-CS • D0057A-VB 82
  • Drill Title: Unit Testing with NUnit Audience This Drill is for intermediate level developers who want to learn how to write effective unit tests Drill Details using documented test patterns in NUnit, the open source unit testing framework. Status What you'll learn Released You will learn how to use the NUnit framework to create unit tests for your code. After taking this Drill, you will be able to use NUnit to create unit tests on a class or method level and control the Developer tests that run. You will also know how to apply documented testing patterns and techniques. Program Unit Testing with Is this the Drill you need? NUnit Take this Drill if you want to Number of Tasks 6 • create unit tests using the NUnit framework • refactor existing code using the dependency injection pattern to increase testability Duration • control inputs to your system under testing using test stubs 3 hours (based on estimated coding time • verify a component's behaviour by replacing objects with mock objects of 30 mins per task) • increase the performance of tests by using shared fixtures • reduce duplication in test code by using custom assertion and finder utility methods Programming Language • implement system-under-test functionality with test stubs and mock objects Visual C# 2008 and • improve testability by using dependency injection and reduce test code duplication by Visual Basic 2008 using testing utilities System What you'll need to know Requirements We assume that you’re already familiar with the concepts of programming and you’ve some • Visual Studio experience of Visual Studio 2005/2008. For this Drill, you’ll also need to be comfortable with Visual 2008 C#/Visual Basic syntax. Level 3 Drill Code • D0057B-CS • D0057B-VB 83
  • Drill Title: Unit Testing with xUnit.net Audience This Drill is for intermediate developers who want to learn how to write effective unit tests using Drill Details documented test patterns in xUnit.net, the open source unit testing framework. Status What you'll learn Released You will learn how to use the xUnit.net framework to create unit tests for your code. After taking this Drill, you will be able to use xUnit.net to create unit tests on a class or method level, access Developer private methods and properties of your code under test, and control the tests that run. You will also Program know how to apply documented testing patterns and techniques. Unit Testing with xUnit.net Is this the Drill you need? Take this Drill if you want to Number of Tasks 6 • create unit tests using the xUnit.net framework Duration • refactor existing code using the dependency injection pattern to increase testability 3 hours (based on • control inputs to your system under testing using test stubs estimated coding time of 30 mins per task) • verify a component's behaviour by replacing objects with mock objects • increase the performance of tests by using shared fixtures Programming • reduce duplication in test code by using custom assertion and finder utility methods Language Visual C# 2008 and • use private accessors to test private methods from unit testing code Visual Basic 2008 • implement system-under-test functionality with test stubs and mock objects • improve testability by using dependency injection and reduce test code duplication by System using testing utilities Requirements • Visual Studio 2008 What you'll need to know We assume that you’re already familiar with the concepts of programming and you’ve some Level experience of Visual Studio 2005/2008. For this Drill, you’ll also need to be comfortable with Visual 3 C#/Visual Basic syntax. Drill Code • D0057C-CS • D0057C-VB 84
  • Performance in the .NET Framework using Visual C# / Visual Basic This Developer Program contains the following Drill: • Improving Performance in .NET Framework Applications 85
  • Drill Title: Improving Performance in .NET Framework Applications Audience This Drill is for experienced developers who want to learn key techniques required to optimize the Drill Details performance of applications in the .NET Framework. Status What you'll learn Released You’ll learn how to measure application performance, implement a custom generic cache, employ task parallelism, and execute object pooling. You'll also learn how to use lazy evaluation and Developer deferred execution, as well as AJAX and CSS Sprites. Program Performance in the Is this the Drill you need? .NET Framework Take this Drill if you want to Number of Tasks 6 • measure an application's performance using managed performance counters and the Stopwatch class Duration • improve the performance of a Windows Forms application using a custom generic cache 3 hours (based on • split a long computation into small sub tasks and distribute them across different estimated coding time processors to be processed concurrently of 30 mins per task) • use an object pool to reuse objects that are expensive to create or frequently created Programming • postpone the execution of expensive calculations until they are absolutely required Language • improve the performance of ASP.NET applications by using AJAX, CSS Sprites, and caching. Visual C# 2008 and Visual Basic 2008 What you'll need to know System We assume that you're already familiar with programming concepts and that you've used Visual Requirements Studio. For this particular drill, you'll also need to be comfortable with Visual C#/Visual Basic • Visual Studio syntax, Windows Forms programming, and ASP.NET web development. 2008 Level 3 Drill Code • D0058A-CS • D0058A-VB 86
  • ASP.NET MVC using Visual C# / Visual Basic This Developer Program contains the following Drill: • ASP.NET MVC Fundamentals 87
  • Drill Title: ASP.NET MVC Fundamentals Audience This Drill is for intermediate developers who want to learn how to create Web applications with Drill Details ASP.NET MVC. Status What you'll learn Released* You'll learn how to work effectively with controllers, actions, and views, and how to use MVC's built-in scaffolding feature, as well as how to validate input data. You'll also learn how to use filters Developer and AJAX with MVC applications. Program ASP.NET MVC Is this the Drill you need? Take this Drill if you want to Number of Tasks 6 • create an MVC application Duration • pass strongly-typed data from controller actions to views 3 hours (based on • create actions that only run in response to specific HTTP request types (such as GET and estimated coding time POST) of 30 mins per task) • work with Select lists in view pages and actions, and reuse portions of the UI Programming • use the built-in scaffolding feature of ASP.NET MVC to quickly create views to manipulate Language the data in an application Visual C# 2008 and • update a domain model using view data and validate the data against business logic Visual Basic 2008 • determine whether validation has been successful and vary output accordingly System • add filters to controller classes to create extra functionality for an existing ASP.NET MVC Requirements application with minimal coding • Visual Studio • enable requests using AJAX in MVC and distinguish between normal and AJAX requests 2008 Level What you'll need to know 3 We assume that you're already familiar with programming concepts and that you've used Visual Studio. For this drill, you'll also need to be comfortable with Visual C# syntax, basic Web Drill Code development, and HTML fundamentals. Although not essential, it would be useful to have some • D0059A-CS familiarity with the HTTP model, the concepts behind AJAX, and the Model View Controller pattern. • D0059A-VB *The Visual Basic version of this drill is due for release in the coming weeks. 88
  • Microsoft Certifications Study Guide with .NET 2.0 The Study Guide provides carefully chosen online resources for the following Microsoft certification exams: • 70-536: Microsoft .NET Framework - Application Development Foundation • 70-528: Microsoft .NET Framework 2.0 - Web-Based Client Development • 70-526: Microsoft .NET Framework 2.0 - Windows-Based Client Development • 70-529: Microsoft .NET Framework 2.0 - Distributed Application Development • 70-547: Designing and Developing Web Applications by using the Microsoft .NET Framework • 70-548: Designing and Developing Windows Applications by using the Microsoft .NET Framework • 70-549: Designing and Developing Enterprise Applications by using the Microsoft .NET Framework 89
  • Exam 70-536: Microsoft .NET Framework - Application Development Foundation Audience for the Study Guide Developers who are taking exam 70-536 to become certified in the fundamentals of .NET Guide Details Framework 2.0. Status What you'll learn Released Everything you’ll need to know to pass the exam. Our study resources are in line with the official Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our Developer catalog for some hands-on experience. Program Microsoft Topics covered Certifications Study The Study Guide is split into the following seven sections: Guide with .NET 2.0 Number of • Developing Applications that use System Types and Collections Sections • Implementing Service Processes, Threading, and Application Domains in a .NET Framework 7 Application • Embedding configuration, diagnostic, management, and installation features into a .NET Programming Framework application Language Visual C# 2005/ • Implementing Serialization and Input/Output Functionality in a .NET Framework 2008 and Visual Application Basic 2005/2008 • Improving the Security of .NET Framework Applications by using the .NET Framework Security Features Level 3 • Implementing Interoperability, Reflection, and Mailing Functionality in a .NET Framework Application Guide Code • Implementing Globalization, Drawing, and Text Manipulation Functionality in a .NET • MSC70536A-CS Framework Application • MSC70536A-VB Prerequisites for the exam Microsoft recommend that candidates for this exam should have at least two to three years of experience developing Web-based, Windows-based, or distributed applications by using the Microsoft .NET Framework 1.0, the .NET Framework 1.1, the .NET Framework 2.0, or the .NET Framework 3.5. Candidates should also have a working knowledge of Microsoft Visual Studio 2005 or Visual Studio 2008. Note that exam 70-536 is designed to measure your knowledge of .NET development fundamentals and is not tied to a particular version of .NET. If you are a .NET 2.0 developer, you do not need to learn .NET 3.5 to pass Exam 70-536; conversely, if you are a .NET 3.5 developer, you do not need to review .NET 2.0 to pass the exam. 90
  • Exam 70-528: Microsoft .NET Framework 2.0 - Web-Based Client Development Audience for the Study Guide Developers who are taking exam 70-528 to become certified in building Web-based applications. Guide Details What you'll learn Status Everything you’ll need to know to pass the exam. Our study resources are in line with the official Released Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our catalog for some hands-on experience. Developer Program Topics covered Microsoft The Study Guide is split into the following seven sections: Certifications Study Guide with .NET 2.0 • Creating and Programming a Web Application Number of • Integrating Data in a Web Application by using ADO.NET, XML, and Data-Bound Controls Sections • Creating Custom Web controls 7 • Tracing, Configuring, and Deploying Applications Programming • Customizing and Personalizing a Web Application Language • Implementing Authentication and Authorization Visual C# 2005/ • Creating ASP.NET Mobile Web Applications 2008 and Visual Basic 2005/2008 Prerequisites for the exam Level Microsoft recommend that candidates for this exam should have at least one year of experience 3 developing Web-based applications by using the .NET Framework. Candidates should also have a working knowledge of Visual Studio 2005 and a sound knowledge of the new features of ASP.NET Guide Code 2.0. • MSC70528A-CS • MSC70528A-VB 91
  • Exam 70-526: Microsoft .NET Framework 2.0 - Windows-Based Client Development Audience for the Study Guide Developers who are taking exam 70-526 to become certified in building Windows-based Guide Details applications. Status What you'll learn Released Everything you’ll need to know to pass the exam. Our study resources are in line with the official Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our Developer catalog for some hands-on experience. Program Microsoft Topics covered Certifications Study The Study Guide is split into the following seven sections: Guide with .NET 2.0 Number of • Creating a UI for a Windows Forms Application by using Standard Controls Sections • Integrating Data in a Windows Forms Application 7 • Implementing Printing and Reporting Functionality in a Windows Forms Application Programming • Enhancing Usability Language • Implementing Asynchronous Programming Techniques to Improve the User Experience Visual C# 2005/ • Developing Windows Forms Controls 2008 and Visual Basic 2005/2008 • Configuring and deploying applications Level Prerequisites for the exam 3 Microsoft recommend that candidates for this exam should have at least one year of experience developing Windows-based applications by using the .NET Framework. Candidates should also Guide Code have a working knowledge of Visual Studio 2005. • MSC70526A-CS • MSC70526A-VB 92
  • Exam 70-529: Microsoft .NET Framework 2.0 - Distributed Application Development Audience for the Study Guide Developers who are taking exam 70-529 to become certified in building distributed applications. Guide Details What you'll learn Status Everything you’ll need to know to pass the exam. Our study resources are in line with the official Released Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our catalog for some hands-on experience. Developer Program Topics covered Microsoft The study guide is split into the following six sections: Certifications Study Guide with .NET 2.0 • Creating and Accessing XML Web Services Number of • Configuring and Customizing a Web Service Application Sections • Creating, Configuring, and Deploying Remoting Applications 6 • Implementing Asynchronous Calls and Remoting Events Programming • Implementing Web Services Enhancements (WSE) 3.0 Language • Creating and Accessing a Serviced Component and Using Message Queuing Visual C# 2005/ 2008 and Visual Prerequisites for the exam Basic 2005/2008 Microsoft recommend that candidates for this exam should have at least one year of experience developing distributed applications by using the Microsoft .NET Framework. Candidates should Level 3 also have a working knowledge of Visual Studio 2005. Guide Code • MSC70529A-CS • MSC70529A-VB 93
  • Exam 70-547: Designing and Developing Web Applications by using the Microsoft .NET Framework Audience for the Study Guide Developers who are taking exam 70-547 to become certified in building Web-based applications. Guide Details What you'll learn Status Everything you’ll need to know to pass the exam. Our study resources are in line with the official Released Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our catalog for some hands-on experience. Developer Program Topics covered Microsoft The Study Guide is split into the following six sections: Certifications Study Guide with .NET 2.0 • Envisioning And Designing An Application Number of • Designing and Developing a User Interface Sections • Designing and Developing a Component 6 • Designing and Developing an Application Framework Programming • Testing and Stabilizing an Application Language • Deploying and Supporting an Application Visual C# 2005/ 2008 and Visual Prerequisites for the exam Basic 2005/2008 Microsoft recommends that candidates for this exam should have a working knowledge of Visual Studio 2005 and a sound knowledge of the new features of ASP.NET 2.0. Candidates should also Level 3 have at least two years of experience developing applications by using the Microsoft .NET Framework. Guide Code • MSC70547A-CS In most cases, candidates should have at least three to four years of on-the-job experience that has been dedicated to Web application development. They should also be full-time developers, who • MSC70547A-VB develop server-side ASP.NET code that creates the browser-based, client-side interface to an application. 94
  • Exam 70-548: Designing and Developing Windows Applications by using the Microsoft .NET Framework Audience for the Study Guide Developers who are taking exam 70–548 to become certified in building Windows applications. Guide Details What you'll learn Status Everything you’ll need to know to pass the exam. Our study resources are in line with the official Released Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our catalog for some hands-on experience. Developer Program Topics covered Microsoft The Study Guide is split into the following six sections: Certifications Study Guide with .NET 2.0 • Envisioning And Designing An Application Number of • Designing and Developing a User Interface Sections • Designing and Developing a Component 6 • Designing and Developing an Application Framework Programming • Testing and Stabilizing an Application Language • Deploying and Supporting an Application Visual C# 2005/ 2008 and Visual Prerequisites for the exam Basic 2005/2008 Microsoft recommend that candidates for this exam should have at least two years of experience developing Microsoft Windows-based applications by using the Microsoft .NET Framework. Level 3 Candidates should also have a working knowledge of Visual Studio 2005. Guide Code • MSC70548A-CS • MSC70548A-VB 95
  • Exam 70-549: Designing and Developing Enterprise Applications by Using the Microsoft .NET Framework Audience for the Study Guide Developers who are taking exam 70–549 to become certified in building enterprise applications. Guide Details What you'll learn Status Everything you’ll need to know to pass the exam. Our study resources are in line with the official Released Microsoft curriculum. We also provide an online practice test and, where relevant, drills from our catalog for some hands-on experience. Developer Program Topics covered Microsoft The Study Guide is split into the following six sections: Certifications Study Guide with .NET 2.0 • Envisioning And Designing An Application Number of • Designing and Developing a User Interface Sections • Designing and Developing a Component 6 • Designing and Developing an Application Framework Programming • Testing and Stabilizing an Application Language • Deploying and Supporting an Application Visual C# 2005/ 2008 and Visual Prerequisites for the exam Basic 2005/2008 Microsoft recommend that candidates for this exam should have at least two years of experience developing Microsoft Windows or Web-based applications by using the Microsoft .NET Framework. Level 3 Candidates should also have a working knowledge of Visual Studio 2005. In most cases, candidates should have at least three to five years of on-the-job experience dedicated to enterprise application Guide Code development. • MSC70549A-CS • MSC70549A-VB 96
  • JavaScript Development with jQuery This Developer Program contains the following Drill: New! • Developing with jQuery 97
  • Drill Title: Developing with jQuery Audience This Drill is for developers of all career levels looking to expand existing Web development skills. Drill Details Objective Status Our hands-on challenges will provide a practical understanding of the rapid and concise jQuery Released* library. Topics include selectors, traversing, manipulation, events, animation effects, CSS, custom plugins, and AJAX. Developer Program What you’ll learn JavaScript You'll learn the fundamentals of jQuery. Challenges will involve Development with jQuery • using jQuery selectors to find elements on a Web page and jQuery's effects AP to create an Number of Tasks animated user interface. 6 • traversing and manipulating DOM elements • handling events raised from DOM elements Duration 3 hours (based on • modify the style of DOM elements using CSS estimated coding time • using AJAX features in jQuery to make HTTP GET and POST requests of 30 mins per task) • authoring a custom plugin to add extra methods and functionality to jQuery applications. Programming What you'll need to know Language We assume that you're familiar with programming concepts, Web development, and Visual Studio. Visual C# 2008 and Visual Basic 2008 For this particular drill, you'll also need to be comfortable with JavaScript programming and HTML syntax. Although not essential, some familiarity with AJAX and CSS would also be useful. System Requirements • Visual Studio 2008 Level 3 Drill Code • D0040C-CS • D0040C-VB *The Visual Basic version of this drill is due for release in the coming weeks. 98 InnerWorkings 1485 Bayshore Blvd, # 161 Tel: +1 415 656 1111 www.innerworkings.com San Francisco, CA 94124 Fax: +1 415 656 1112 sales@innerworkings.com