MCPD Exam Critique
Posted on Mar 5, 2011 by Trevor in Technology
I’m in the middle of updating my Microsoft certifications, and some of the exam questions are inconsistent enough in the type of knowledge being testing that it causes whiplash.
Take the following example question:
aspnet_compiler -v /WebApp1 -p D:\WebSites\WebApp1 -fixednames -f bin
When you run the command-line statement above, you generate a separate assembly for each source file in the application. You need to combine the UI assemblies into a single assembly named WebApp1.dll, while ensuring that top-level assemblies for global and local resources are not in WebApp1.dll. Which command-line statement should you run?
aspnet_merge D:\WebSites\WebApp1\bin -o WebApp1.dll
aspnet_merge D:\WebSites\WebApp1\bin -w WebApp1.dll
aspnet_compiler -v /WebApp1 -p D:\WebSites\WebApp1
aspnet_compiler -v /WebApp1 -f D:\WebSites\WebApp1
Seriously? Ok, well the 3rd and 4th options are easy to eliminate if you have a basic understanding of the command-line tools available to you, but does Microsoft really think a developer needs to memorize the difference between the -o
option and the -w
option? My guess is that the vast majority of developers don’t perform this merge task nearly often enough to justify memorizing the command-line options. Especially when it takes 15 seconds to google “aspnet_merge”, click on the first result returned, and scroll down a couple of pages.
The following example question, in my opinion, does a better job at assessing a developer’s knowledge in areas that actually matter to web development:
<div id="article1" class="article">
<h1>Over-hyping</h1>
<h2>The next age of business marketing</h2>
<p>In the past decades, marketing has undergone drastic redefinition. Whereas product qualify was once a requirement for a successful campaign, now customer demand is driven by the <span class="emphasis">hype of even mediocre products. Gone are the days of selling a product on its own merit. The next age of business marketing is based on strong repetition, subtle manipulation, and has little if any dependency on product <span class="emphasis">quality</span>. Why sell something that no one wants to <span class="emphasis">buy?</span></p>
<!--Remaining content omitted-->
</div>
You need to ensure that all inline elements that specify the class emphasis are displayed as follows:
- Boldface and italicized
- 12-pt font
- Sans-serif font family
$('article > emphasis').css('font', 'italic bold 12pt sans-serif');
$('span.emphasis').css('font', 'italic bold 12pt sans-serif');
$('#article > #emphasis').css('font', 'italic bold 12pt sans-serif');
$('div.article > p > span.emphasis').css('font', 'italic bold 12pt sans-serif');
This second example is really testing knowledge on CSS selectors, which are useful on a frequent basis to the average web developer. Furthermore, a simple google search isn’t really going to help you solve the problem posed in the question; you’ll have to actually learn how CSS selectors work before you can solve it. That’s why it’s a much better indicator of useful programming knowledge.