Exam Profile 70-506: Silverlight 4 Development
Date: Sep 17, 2012
Microsoft’s Silverlight is widely used to create websites that are rich in multimedia content such as graphics, animation, and interactivity. As such, Exam 70-506 should be on the short list for developers wishing to prove their web development skills to prospective employers.
Exam Details
- Number of questions: Microsoft does not disclose the number of questions on their certification exams, but this exam is estimated to contain 50 questions.
- Types of questions: Microsoft does not disclose the types of questions that appear on their certification exams, but this exam consists primarily of multiple choice questions. You may also encounter build a tree, reorder, or simulation questions.
- Passing score: 700/1000
- Time limit: Microsoft does not disclose exam time limits, but the time limit for this exam is estimated to be about two hours.
- How to register: Prometric
Trouble Spots
Perhaps the biggest trouble spot on Exam 70-506 is that it is easy to devote all of your study efforts to the more difficult topics and forget that there is some relatively basic material covered on the exam. For example, you will need to know how to arrange content with panels and how to implement controls such as text boxes, buttons, and check boxes. These are easy topics to master, but you cannot overlook them if you want to pass this exam.
Preparation Hints
Probably the best way to prepare for this exam is to take advantage of all the resources that Microsoft makes available to you. For example, Microsoft offers a Silverlight 4 Training Course that you can download for free. This training course contains whitepapers and hands on labs, and it can go a very long way toward helping you to prepare for the 70-506 exam.
Recommended Study Resources
There are several study resources available for this exam. Some of the better ones include:
Getting Ready for the Microsoft Silverlight Exam 70-506
2011 Microsoft Exam 70-506 EXAMETRIX Pocket Notes and Review Quiz
Exam Objectives
The exam objectives are broken up into six different categories. The 70-506 exam measures your ability to accomplish the technical tasks listed below.
The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam.
The objectives for Exam 70-506 as stated by Microsoft are as follows:
Laying Out a User Interface (15%)
- Arrange content with panels.
- Implement and configure core controls.
- Create user controls.
- Implement a navigation framework.
- Display collections of items.
- Play media files.
This objective may include but is not limited to: arranging content with panels (grid, stack panels, canvas, border, scroll viewer, ViewBox), managing grid properties (autosizing, star sizing, column definitions, row definitions, gridlines), setting Z order, setting visibility, setting orientation, setting positioning
This objective may include but is not limited to: implementing and configuring core controls (textbox, button, text block, checkbox) and content controls, referencing namespaces
This objective may include but is not limited to: creating user controls, creating control parts, mapping control parts
This objective may include but is not limited to: implementing caching on a frame, modifying journal mode, handling navigation events (Navigating, Navigated, NavigationFailed, NavigationStopped), implementing and configuring deep linking
This objective may include but is not limited to: implementing and configuring item controls (datagrid, listbox, items control, combo box, tree view), working with selected items and indices
This objective may include but is not limited to: implementing digital rights management (DRM), playing streams, creating timeline markers, playing multiple audio tracks, displaying closed captioning, responding to timeline marker events, handling media playback events
Enhancing the User Interface (14%)
- Create or modify control styles.
- Create control templates.
- Create or modify data templates.
- Manipulate visuals.
- Animate visuals.
- Implement behaviors.
- Manage the visual state.
This objective may include but is not limited to: setting a style locally, setting a style at the page control level, setting a style globally, implementing implicit styles, overriding styles at different levels, creating based-on styles
This objective may include but is not limited to: creating a template, attaching a template, implementing a content placeholder, implementing template binding
This objective may include but is not limited to: modifying item templates for data controls, creating a create template, creating an update template, using a user control as a data template
This objective may include but is not limited to: transforming controls by using skew transformations, rotate transformations, scale transformations, translate transformations, or perspective transformations; applying pixel shaders
This objective may include but is not limited to: creating storyboards, programmatically starting and stopping storyboards, implementing easing functions, using keyframes, triggering storyboard on load, repeating and reversing storyboards, setting keyframe begin time, responding to events, configuring bitmap caching
This objective may include but is not limited to: triggering storyboards by using behaviors, dragging and dropping elements, calling a method
This objective may include but is not limited to: creating states, creating state groups, transitioning states, programmatically changing states
Implementing Application Logic (16%)
- Handle events.
- Consume services asynchronously.
- Work with background threads.
- Work with dependency properties.
- Interact with attached properties.
- Implement ICommand.
This objective may include but is not limited to: handling routed events, bubbling events, implementing AddHandler.
This objective may include but is not limited to: creating and adding service references, handling asynchronous completed events, configuring service endpoints, handling service exceptions, handling timeouts
This objective may include but is not limited to: spawning a background thread to execute code, returning data to the UI thread by using the dispatcher object, implementing the dispatcher timer
This objective may include but is not limited to: creating dependency properties, specifying dependency property metadata, getting and setting dependency property values
This objective may include but is not limited to: setting attached properties in XAML, getting and setting attached properties programmatically
This objective may include but is not limited to: executing an ICommand, implementing an ICommand, binding to an ICommand, passing a parameter
Working with Data (17%)
- Format data.
- Implement data binding.
- Create and consume value converters.
- Implement data validation.
This objective may include but is not limited to: formatting string values in data binding, formatting culture-specific string values
This objective may include but is not limited to: setting the data context, binding data sets to controls, binding elements to other elements, implementing INotifyPropertyChanged, implementing ObservableCollection, setting binding modes, setting a fallback value
This objective may include but is not limited to: creating a value converter, referencing a value converter, passing parameters
This objective may include but is not limited to: implementing the INotifyDataErrorInfo interface, implementing the IDataErrorInfo interface, implementing data binding errors (NotifyOnValidationError, ValidatesOnExceptions, ValidatesOnDataErrors, ValidatesOnNotifyDataErrors)
Interacting with a Host Platform (11%)
- Implement the printing API.
- Create out-of-browser applications.
- Access isolated storage.
- Interact with the HTML DOM.
- Access the clipboard.
- Read from and write to the host file system.
- Handle alternative input methods.
This objective may include but is not limited to: handling multiple pages, adding page numbers, printing off-screen visuals
This objective may include but is not limited to: enabling trusted applications, checking for network connectivity, installing and uninstalling applications, displaying toast notifications, checking and updating application versions, setting the application to be chromeless, displaying HTML content by using the web browser control, signing the XAP file, working with COM Interop
This objective may include but is not limited to: reading from and writing to isolated storage, increasing storage size
This objective may include but is not limited to: accessing cookies, querystring values, and header info; calling into JavaScript from Silverlight; calling into Silverlight from JavaScript; Silverlight-to-Silverlight communication; manipulating the DOM
This objective may include but is not limited to: copying and pasting text, handling situations when the user declines
This objective may include but is not limited to: read from and write to various locations, drag and drop from the file system, using IO dialogs
This objective may include but is not limited to: handling right-click, mouse wheel, and multi-touch events
Structuring Applications (13%)
- Create and consume resource dictionaries.
- Implement localization and globalization.
- Handle application-level events.
This objective may include but is not limited to: utilizing sample data, selecting resources, merging resource dictionaries
This objective may include but is not limited to: translating strings, configuring right-to-left language support and FlowDirection
This objective may include but is not limited to: handling Exit, Startup, and UnhandledException events
Deploying Applications (13%)
- Configure the Silverlight plug-in.
- Dynamically load application resources.
- Create a client access policy.
This objective may include but is not limited to: passing initialization parameters; configuring windowless mode, background color, and sizing of plugins; incorporating nonstandard splash screens, enabling GPU acceleration, setting the frame rate
This objective may include but is not limited to: downloading a zip file, extracting content from a zip file, enabling assembly caching
This objective may include but is not limited to: accessing cross-domain content, accessing communication channels, limiting access to resources
Where to Go from Here
Candidates who pass exam 70-506 earn the MCTS: Silverlight 4, Development certification.