Iv’ed decided to post this because I wanted you guys to have a clear view on what would be the exam would be like and what are the necessary things to study before you take it. As much as possible I cannot disclose information regarding the exam questions itself because of an agreement I made to Microsoft but what I will give you are resources and some break down of the exam coverage to keep you guided.
My Personal Experience
The exam was somewhat easy and all you need to have is a 101% common sense. I won’t be telling my score to keep it secret, but it was high enough to pass. Iv’ed been developing websites for more than a year and iv’ed applied most of them throughout the exam. It doesn’t include much of the Windows features yet (e.g using -ms-). The part that got me a bit confused was on using data structures like implementing web services. If your not really find of using web workers then I suggest to start building your foundation there.
Type of Test
I was actually surprised when I found out that the exam is not only limited to a multiple choice type, but a multiple drop down menu and a drag and drop. To keep it brief, there are some items that are that require multiple answers, some drag and drops may require to reuse the option and there are some drop-down items that may also require multiple answers. So you really need to study hard to avoid confusion.
You might get confused on how to use the drag and drop and some other functions. Don’t worry, there will be an optional tutorial given before you start the exam. It will just teach you how to simply manipulate the choices but it doesn’t affect your score on the exam itself. You can skip that part if you think your confident or if this ain’t the first time you took the exam with Prometric.
The following topics are based from Microsoft’s learning site. I’m making a list of sources for you to study incase you need to have a quick review before the exam. If you really want to master this, I suggest to take up the lab exercises that would be a great supplement on which it shows you various scenarios of the topics on a hands-on experience. All of those are also based from Microsoft Learning pointers. Lab exercises are right after this topic.
Implement and Manipulate Document Structures and Objects (24%)
- Create the document structure.
- Write code that interacts with UI controls.
- Apply styling to HTML elements programmatically.
- Implement HTML5 APIs.
- Establish the scope of objects and variables.
- Create and implement objects and methods.
Implement Program Flow (25%)
- Implement program flow.
- Raise and handle an event.
- Implement exception handling.
- Implement a callback.
- Create a web worker process.
Access and Secure Data (26%)
- Validate user input by using HTML5 elements.
- Consume data.
- Serialize, deserialize, and transmit data.
Use CSS3 in Applications (25%)
- Style HTML text properties.
- Style HTML box properties.
- Create a flexible content layout.
- Create an animated and adaptive UI.
- Find elements by using CSS selectors and jQuery.
- Structure a CSS file by using CSS selectors.
If you want to study each topic specifically on the breakdown, you may refer to these blogs:
Copying them in my blog just makes it redundant so might as well acknowledge them. I’m more focused on the lab exercise since its practically helpful. Since there you code and at the same time learn from it rather than theoretically learning only from the important topics.
If you want to have a brief course on this, might as well start here:
Microsoft Virtual Academy teaches the exam pointers according to its topics though not everything is taught in the video though it would be a good help. You need a Microsoft account to watch it.
Lab Exercise/ Classroom Training
The entire syllabus is based from Microsoft’s learning site. In case you can’t enroll yourself in an institution that teaches a curriculum similar to this course or if your can’t afford to take a short course tutorial in the nearest Microsoft training center near you, I will be posting in this portion the syllabus of the classroom training including some sources for you to study on a certain topic.
Rather than studying theoretically with only the given pointers, it is best that you apply also the things that you have learned and practice them. This training session will give you more than enough knowledge to pass the certification though don’t guarantee that it will automatically pass you. This is just to make things easier for your exam.
Before you continue, you will be needing a Visual Studio 2012. If your a student and if your institution is recognized for a Dreamspark account, you can download it there for free. If not, you may download a 90-day trial here: http://www.microsoft.com/visualstudio/eng/downloads#d-2012-editions
Module 1: Overview of HTML and CSS
This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012 to build a Web application.
- Overview of HTML:
- Overview of CSS:
- Creating a Web Application by Using Visual Studio 2012:
Take note that in this tutorial, you will also be studying how to develop ASP.NET apps.
Lab : Exploring the Contoso Conference Application
- Walkthrough of the Contoso Conference Application
- Examining and Modifying the Contoso Conference Application
- Describe basic HTML elements and attributes.
- Explain the structure of CSS.
- Describe the tools available in Visual Studio 2012 for building Web applications.
Module 2: Creating and Styling HTML5 Pages
This module describes the new features of HTML5, and explains how to create and style HTML5 pages.
- Creating an HTML5 Page
- Styling an HTML5 Page
Lab: Creating and Styling HTML5 Pages
- Creating HTML5 Pages
- Styling HTML5 Pages
For a narrow breakdown:
- Create static pages using the new features available in HTML5.
- Use CSS3 to apply basic styling to the elements in an HTML5 page.
- Introduction to jQuery
- Displaying Data Programmatically
- Handling Events
Module 4: Creating Forms to Collect Data and Validate User Input
- Overview of Forms and Input Types
- Validating User Input by Using HTML5 Attributes
Lab : Creating a Form and Validating User Input
- Creating a Form and Validating User Input by Using HTML5 Attributes
Sources are same as the links on the lessons
- Create forms that use the new HTML5 input types.
- Validate user input and provide feedback by using the new HTML5 attributes.
Module 5: Communicating with a Remote Data Source
This module describes how to send and receive data to and from a remote data source by using an XMLHTTPRequest object and by performing jQuery AJAX operations.
- Sending and Receiving Data by Using XMLHTTPRequest
- Sending and Receiving Data by Using jQuery AJAX operations
Lab : Communicating with a Remote Data Source
- Retrieving Data
- Same from XMLHTTPRequest
- Serializing and Transmitting Data
- Refactoring the Code by Using jQuery ajax method
- Serialize, deserialize, send, and receive data by using XMLHTTPRequest objects.
- Simplify code that serializes, deserializes, sends, and receives data by using the jQuery ajax method
Module 6: Styling HTML5 by Using CSS3
This module describes how to style HTML5 pages and elements by using the new features available in CSS3.
- Styling Text
- Discussed in Module 2
- Styling Block Elements
- CSS3 Selectors
- Enhancing Graphical Effects by Using CSS3
Lab : Styling Text and Block Elements using CSS3
- Styling the Navigation Bar
- Styling the Page Header
- Styling the About Page
- Style text elements on an HTML5 page by using CSS3.
- Apply styling to block elements by using CSS3.
- Use CSS3 selectors to specify the elements to be styled in a Web application.
- Implement graphical effects and transformations by using the new CSS3 properties.
- Creating Custom Objects
- Extending Objects
Lab: Refining Code for Maintainability and Extensibility
- Inheriting From Objects
- Refactoring Code to Use Objects
- Describe how to extend custom and native objects to add functionality.
Module 8: Creating Interactive Pages using HTML5 APIs
This module describes how to use some common HTML5 APIs to add interactive features to a Web application. This module also explains how to debug and profile a Web application.
- Interacting with Files
- Incorporating Multimedia
- Reacting to Browser Location and Context
- Debugging and Profiling a Web Application
Lab : Creating Interactive Pages by Using HTML5 APIs
- Incorporating Video
- Incorporating Images
- Using the Geolocation API
- Use the Drag and Drop, and the File APIs to interact with files in a Web application.
- Incorporate audio and video into a Web application.
- Detect the location of the user running a Web application by using the Geolocation API.
- Explain how to debug and profile a Web application by using the Web Timing API and the Internet Explorer Developer Tools.
Module 9: Adding Offline Support to Web Applications
This module describes how to add offline support to a Web application, to enable the application to continue functioning in a user’s browser even if the browser is disconnected from the network.
- Reading and Writing Data Locally
- http://www.mkyong.com/java/json-simple-example-read-and-write-json/ (The example given is from java though the logic and the JSON code is just the same.)
- Adding Offline Support by Using the Application Cache
Lab : Adding Offline Support to a Web Application
- Implementing the Application Cache
- Implementing Local Storage
- Save and retrieve data locally on the user’s computer by using the Local Storage API.
- Provide offline support for a Web application by using the Application Cache API.
Module 10: Implementing an Adaptive User Interface
This module describes how to create HTML5 pages that can dynamically detect and adapt to different devices and form factors.
- Supporting Multiple Form Factors
- Creating an Adaptive User Interface
Lab : Implementing an Adaptive User Interface
- Creating a Print-Friendly Stylesheet
- Adapting Page Layout To Fit a Different Form Factor
- Describe the need to detect device capabilities and react to different form factors in a Web application.
- Create a Web page that can dynamically adapt its layout to match different form factors.
Module 11: Creating Advanced Graphics
This module describes how to create advanced graphics for an HTML5 Web application by using a Canvas element, and by using Scalable Vector Graphics.
- Creating Interactive Graphics by Using Scalable Vector Graphics
- http://www.w3schools.com/svg/svg_inhtml.asp (Just read the entire module for the complete definition and functions of SVG).
- Programmatically Drawing Graphics by Using a Canvas
Lab : Creating Advanced Graphics
- Creating an Interactive Venue Map by Using Scalable Vector Graphics
- Creating a Speaker Badge by Using a Canvas Element
- Use Scalable Vector Graphics to add interactive graphics to an application.
Module 12: Animating the User Interface
This module describes how to enhance the user experience in an HTML5 Web application by adding animations.
- Applying CSS Transitions
- Transforming Elements
- Applying CSS Key-frame Animations
Lab : Animating User Interface Elements
- Applying Transitions to User Interface Elements
- Applying Key-Frame Animations
- (Just apply the modules from the links)
- Describe the different types of 2D and 3D transitions available with CSS3
Module 13: Implementing Real-Time Communications by Using Web Sockets
This module explains how to use Web Sockets to transmit and receive data between an HTML5 Web application and a server.
- Introduction to Web Sockets
- Sending and Receiving Data by Using Web Sockets
Lab : Implementing Real-Time Communications by Using Web Sockets
- Receiving Data from Web Socket
- Sending Data to a Web Socket
- Sending Multiple Types of Messages To or From a Web Socket
- (Just the same as above)
- Explain how Web Sockets work and describe how to send and receive data through a Web Socket.
Module 14: Creating a Web Worker Process
This module describes how to use Web Worker Processes to perform long-running operations asynchronously and improve the responsiveness of an HTML5 Web application.
- Introduction to Web Workers
- Performing Asynchronous Processing by Using a Web Worker
- (Same link from above)
Lab : Creating a Web Worker Process
- Improving Responsiveness by Using a Web Worker
- http://channel9.msdn.com/Events/Build/BUILD2011/PLAT-379P (Live video)
- Describe the purpose of a Web Worker process, and how it can be used to perform asynchronous processing as well as provide isolation for sensitive operations.
Additional Tips and things to do before the exam
If you think your ready and now set for the exam, you can avail your voucher at Prometric. Make sure to register your account in which you will be using for your future certification exams. The exam costs $80 but you can avail a bundle for MCSD which is cheaper which I believe its around $200 for the 3 exams.
Make sure that you have at least 2 identifications with pictures for your verification on the testing center. Take note that policies in verification in testing centers may differ so just to be on the safe side, make sure to bring Identification ID’s like passport, driver’s license, postal ID, etc.
Now for the additional tips, I suggest having at least one month allotment for a review on this exam. After reviewing the entire module, have a quick draft of it again for you to familiarize and review as well the pointer of the exam. I believe that my resources are enough to satisfy your knowledge for the exam.
These resources are the official Microsoft reviewers. These can definitely supply your knowledge towards developing your Windows 8 apps as these are taught by official Microsoft Trainers.
Microsoft Virtual Academy:
Pluralsight: HTML5 Fundamentals:
You may also want to read: