A Brief Guide On How to Pass the 70-480 Certification Exam
A couple of weeks I did my first certification exam ever and I passed! Wihoo! I thought that you who are planning on taking this or any other certification exam could maybe find my experience of value and thus here we are. :)
I approached the whole exam thing mainly as an excuse to learn and refresh my knowledge in web development, starting from the very basics to the more advanced APIs that I hadn’t had the chance to look into, trying to fill in all the gaps that I felt I have had in my web dev knowledge in the past. So this is not going to be an article on how to pass the exam with the least amount of effort possible, no tricks or shortcuts, it is just going to be an article about how I went about preparing for the exam, just plain old studying, practicing, coding, learning and writing a freaking exam XD.
Step 1. Finding Out What Goes Into the Exam
You can get a pretty nice idea of what goes into the exam from the exam certification page and by reading the Exam Reference Book. In summary:
- Implement and manipulate document structures and objects (24%)
- Implement program flow (25%)
- Access and secure data (26%)
- Use CSS3 in applications (25%
which basically means:
- HTML, CSS3, JavaScript (ES5)
- HTML5 web apis: DOM, web workers, web sockets, geolocation, app cache, local storage, session storage, canvas, svg
- XMLHttpRequest and Ajax
- Basic CSS Layout, Flexbox, Grid, CSS Regions
- Transitions, Transforms and Animations
- jQuery
Step 2. Preparing the Exam
First things first, I recommend you to experiment with HTML, JavaScript, CSS and the very many HTML5 Web APIs using a tool like jsFiddle ( or CodePen, JSBin or Plunkr) where you can interactively write code, try things out and get feedback about what you are doing immediately. There’s no better way of learning software development stuff than to actually write code and experiment yourself and all of these tools make that dead easy.
These are some excellent resources I used to learn about the different topics within the exam:
Overview Material
Again, I like reading, so I started with the Exam Reference Book for The 70-480 to get an overview of everything that went into the exam, and I also looked at the Developing in HTML5 with JavaScript and CSS3 course at the Microsoft Virtual Academy (awesome and extensive number of free resources Microsoft has gathered there btw).
After getting the whole picture and a pretty good idea of what would go into the exam I started getting into specifics, testing stuff, taking notes on my wiki, experimenting with jsFiddle and writing a couple of “more advanced” examples.
Specific APIs
Here are some of the resources that I used, and some of the live examples that I wrote in no particular order:
HTML5 Web APIs
LocalStorage and SessionStorage
LocalStorage and SessionStorage are two new web apis that allow you to store information for your web applications locally in your user’s browser.
Geolocation
The new geolocation api lets you to tap into a user’s location from the browser and even get updates whenever a user moves from one place to another.
AppCache
The Application Cache api gives you all the tools you need to create pure offline experiences for your web applications.
- A Beginner’s Guide to the Application Cache
- Using the Application Cache at MDN
- Offline Web Applications at Dive Into HTML5
Canvas
A new API to do low level drawing in the browser with JavaScript.
SVG
Scalable Vector Graphics support for the browser. Great for the many-devices-reality we live in today.
Web Sockets
A sockets API for the web. We are no longer limited to using HTTP in our web applications.
- Barbarian Meets Coding Wiki: Web Sockets
- Web Sockets Example on JsFiddle
- Introducing Web Sockets: Bringing Sockets to the Web
- WebSockets at MDN
Web Workers
Multithreading in the browser, perform computing or I/O expensive tasks in the browser without affecting the UI thread and the User Experience of your web applications.
HTML5 Media Controls
Play Audio and Video natively in the web.
- Barbarian Meets Coding Wiki: Media Controls
- Example on JsFiddle
- Using HTML5 Audio and Video
- Dive Into HTML5: Video on the Web
HTML5 Semantic Elements
Improved semantic elements for modern web applications.
HTML5 Forms
Better forms for modern web applications.
The DOM (Document Object Model)
JavaScript
In order to pass the exam you need to know some JavaScript basics:
- Basic flow structures
- Prototypical inheritance and OOP
- Closures and scope in JavaScript
- Exception Handling
- Regular Expressions
- Asynchronous programming, callbacks and promises
You can read any beginner’s level JavaScript book and that would be enough to pass the exam. My personal favorite is Eloquent JavaScript.
XMLHttpRequest and Ajax
The most traditional API used to perform HTTP requests from the browser to the server.
- Barbarian Meets Coding Wiki: XMLHttpRequest and Ajax
- XHR example on JsFiddle
- [WHATWG XMLHttpRequest Spec](WHATWG XMLHttpRequest Specification Standard)
- Using XHR at MDN
- [XHR API at MDN](XMLHttpRequest API at MDN)
- Also focus on the JSON API and parsing and serializing XML (yes, for real xD)
CSS3
CSS Selectors
CSS Layout
The basics of CSS Layout, the box model, display
, position
, etc.
- Learn CSS Layout (Awesome)
- Example on JsFiddle
CSS Flexbox
A great API for creating flexible layouts that adapt to multiple devices.
- Barbaric Basics: Building Flexible Layouts With Flexbox
- Flexbox Playground
- A Complete Guide to Flexbox at CSS-Tricks
- Using CSS Flexbox at MDN
- W3C Flexbox Spec
- Solved By Flexbox
CSS Media Queries
The most foundational api to do responsive web design.
CSS Grid
A native grid layout for the web.
CSS Multicolumn layout
Native multicolumn layout for the web.
CSS Regions
An interesting API to separate semantic HTML from structural HTML.
CSS Transitions, Transforms and Animations
APIs for animating the web.
- CSS Wiki at Barbarian Meets Coding
- Example of Transitions in JsFiddle
- Example of Transforms in JsFiddle
- Using CSS Transitions at MDN
- Using CSS Transforms at MDN
- Using CSS Animations at MDN
jQuery
If you haven’t been in contact with jQuery before, you can get a nice overview at the Microsoft Virtual Academy with the Introduction to jQuery course. Otherwise, you can get a quick refresher from the jQuery learning portal and focus on:
- DOM traversing and manipulation
- Handling DOM events
- Ajax and Forms
Step 3. Getting Comfortable with the Exam Experience
Once you grok these topics you can, optionally, get a feeling for how the exam experience will be like by doing some practice exams. There a series of companies that specialize in offering this kind of service for different certifications and, in my case, I used MeasureUp which I found recommended at the certification page. For around 60 Euro you get a month to make as many practice exams as you want and get comfy with the environment in which you’ll do the exam. It is not strictly necessary but it is nice if you like to be prepared XD.
Step 4. Signing up, Doing the Exam and Kicking Ass
I signed up for the exam at a local exam provider but you can also do it via the certification page, just click on Schedule The Exam and follow the instructions. When the time comes, relax, breathe, trust yourself and kick ass.
A Sidenote About the Online Proctored Exam
Before I went for the local test center option I tried the online proctored exam, which is to say, the possibility to do the exam from the comfort of my home. It didn’t work at all for me even though I tried with two different web cams on two different PCs. My recommendation is that, if you want to do it this way, be very thorough with the test software that they will provide to test your system, and if you have any doubts don’t even bother since they are very strict during the admission to the exam.
Step 5. Profit
Once you pass the exam, you’ll get an email from Microsoft with how you can make the most out of your certification. Enjoy your Victory! XD
And that’s all! If you are planning to take the exam soon, good luck and godspeed! :)
Written by Jaime González García , dad, husband, software engineer, ux designer, amateur pixel artist, tinkerer and master of the arcane arts. You can also find him on Twitter jabbering about random stuff.