Randy Cornish

Subscribe to Randy Cornish: eMailAlertsEmail Alerts
Get Randy Cornish: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Examining the 70-306 Exam

Examining the 70-306 Exam

In the beginning...

In one of those odd moments of synchronicity that I have learned to appreciate, I bumped into the editor-in-chief of .NET Developer's Journal during an e-mail exchange about a month ago. Derek and I had worked together several years back on a reasonably successful (but exhausting) book on Microsoft's 70-100 exam, Solution Architectures (NewRiders, 1999). Having taken a sabbatical from writing for a while, I have been working as a COM architect, Visual Basic technical resource, and "best practices" evangelist on two high-profile applications for two large financial companies. Concurrently, I've been serving on an "early adopter" task force to create a small proof-of-concept application in VB.NET.

Derek asked if I would be interested in writing on the newly announced .NET certification exams. I accepted. As a current MCSD, author, developer, and .NET early adopter, it seemed like a good fit and a good time to return to the world of deadlines and complete sentences (I don't know about you, but my code comments don't really qualify as well-formed prose).

Before we begin looking at the 70-306 exam, I thought I would share a personal story that almost sidelined this column before it got started. About two weeks prior to the exam (late March), I was involved in an auto accident when another driver lost control of his vehicle and crashed into my car. While my car is now history, I was luckier. My only injuries were two broken hands. While it clearly could have been worse, for a software developer/author, for whom typing is the focal activity, this is about as ironic as any injury could possibly be. Both hands are in casts and my typing speed is about 20 percent of normal (from 10 fingers down to 2). Worse yet, my bulky casts seem to always be hitting keys unintentionally (the sp ace bar is a pop ular spuriou s keystroke).

Down to business

The days of getting a cumulative score (as well as section scores) appear to be history. For me personally, this feels incomplete. While I'm told if I'm certified or not, I have no gauge to determine how well I know the material. Did I just barely pass, or am I at the top of the class? Did I just barely fail or should I look for a new career? Either way, I thought I'd spend the rest of this article giving some general impressions of the exam, as well as a more detailed study guide than the one provided by Microsoft

Update: In an April announcement on their Web site, it appears Microsoft is considering some options that would provide feedback beyond just "pass or fail."

While I can only guess what the final exam will look like, it seems that the 70-306 will be structured much like the VB5 and VB6 exams of the past. If my experience with the beta is any indication, it appears that you can expect the same three styles of multiple-choice questions that are typical of Visual Basic exams in the past:

  • Choose the best response (only one)
  • Choose three responses from the list below (where we are told how many correct responses there are)
  • Choose all that apply (more open-ended)
There was none of the "adaptive testing" technology we've read so much about. Nor were there any of the scenario-based questions or graphical questions that those of you who took the 70-100 exam encountered. In fact, the exam allowed me to mark questions for review at the end. At this time, it is unclear whether the nonbeta version of this exam will remain with the traditional format.

Some of the questions and responses got a little wordy. In my opinion, the ability to read and comprehend quickly is still a bonus in getting this test done in the time allotted.

Microsoft's Web site divides the test into seven areas (www.microsoft.com/traincert/exams/70-306.asp):

  • Creating User Services
  • Creating and Managing Components and .NET assemblies
  • Consuming and Manipulating Data
  • Testing and Debugging
  • Deploying a Windows-based Application
  • Maintaining and Supporting a Windows-based Application
  • Configuring and Securing a Windows-based Application We will cover each of these in more detail later in this column, but for now I would recommend focusing your attention on Numbers 1 and 3. User Services and Data Services made up over half of the exam. Add Number 4 and you're up to about three-quarters of the test, with security, deployment, configuration, and maintenance fitting into the space remaining. Of course, mileage may vary.

    As someone familiar with previous VB exams, this distribution wasn't too surprising. In fact, the surprise was how little the test has changed in format, after all the hype about new testing technologies. An even bigger surprise for me was how useless my knowledge of VB6 was on this exam. I read somewhere that VB.NET is 80 percent identical to VB6 and 20 percent new. Regardless of whether the percentage is accurate, this entire exam is focused almost entirely on the percentage of VB.NET that is new.

    Having worked with VB.NET for over a year now, but only part-time, I would say that six to nine months of full-time, hands-on experience with the product would make this test very passable. As is usually the case, supplementing what you know by reading about the areas you haven't experienced is a big plus. For me, that almost always seems to be security and deployment. In large companies, the work is usually specialized. I rarely get the chance to package and deploy the end product, so I usually have to study harder in this area. On the other end of the spectrum, I'm almost always involved in the maintainability of the application, so things like error-handling, trace/debug functions, and object instantiation are always strong points for me. This exam follows that same pattern.


    Until the exam prep books start rolling out (my guess is July/August), there is no one book that I know of that could single-handedly get you through this exam. With that said, here are some general tips for preparing for the exam:

    �· Code, code, code. Nothing beats experience. It's almost impossible to memorize this much material without having actually struggled through it in the IDE. When the books and magazine articles take you through an example, actually recreate it on your own machine.

    �· Browse the MSDN library. By general consensus, the January 2002 library (as well as the online library - http://msdn.microsoft.com/library) is the best version available as this article is being written. Although not something you'd want to read cover-to-cover, it seems that a very high percentage of what is on the exam is in there somewhere. One section that I stumbled across that might be useful to architects (and those eventually taking the 70-300 exam) as well as those preparing for this exam, is located under "Enterprise Development/Enterprise Development Sample Applications." In addition to the application samples found here, be sure to check out the "Microsoft Solution Accelerator" section for some updated material on the Microsoft Solution Framework (MSF).

    �· Learn the basics:

    - The new event model for forms and controls
    - The new controls - properties, methods.
    - Variable scooping (i.e. Public, Private, Friend, Protected)
    - Learn ADO.NET!
    - Know how to use the IDE features as well as the new Debug and Trace objects. If your code never has bugs in it, inject some so you can learn the new troubleshooting tools.
    - Know how to use the small utility EXEs that ship with the framework. Look up the topic ".NET Framework Tools" in the MSDN library.

    �· Consider a few books and/or magazines (like .NET Developer's Journal, for instance). The Microsoft Press book, Coding Techniques for Microsoft VisualBasic.NET, by John Connell (2002), and Moving to VB.NET: Strategies, Concepts and Code, by Dan Appleman (Apress, 2002), are good choices. I would also suggest picking up a book that focuses on ADO.NET.

    �· Focus on what's new and different in VB.NET.

    �· Get the released copy of .NET. Some properties and behaviors have changed through the beta releases and this might mess you up on the exam.

    �· Search out one or more chat rooms or newsgroups where the certification exams are discussed. One source is Microsoft's own forum for MCSD-related topics at microsoft.public.cert.exam.mcsd.

    �· Microsoft advertises a book specifically aimed at this exam: MCSD Training Kit: Developing Windows Applications with the Microsoft.NET Framework, which is supposed to be available in June. I've never used one of Microsoft's self-paced study guides, but if anyone has experience with this one, I invite them to write to me with their impressions.

    �· Remember! There is a limit to what information can be shared regarding the actual exam questions. Violating the nondisclosure agreement can carry stiff and long-lasting penalties. In this column, I struggle with how to best be of service to you, the reader, without violating the guidelines.

    One of the disappointments for me personally was the lack of questions about internationalization or localization on the exam (multilanguage). I seem to recall that there was one question in this area, but I expected more. This is an area I have some real-world experience in, as well as the time I spent reading Nick Symmonds' very good book on Internationalization and Localization Using Microsoft.NET (Apress, 2002). With all the significant new features in .NET to support multicultural applications, I expected more coverage in the exam. Either way, spend some time experimenting with the new System.Globalization namespace. I suspect there are a few of you out there would see one question in this area as more than sufficient. No need to raise your hand.

    In closing... I hope this quick trip through the 70-306 has been helpful for those of you creating a personal study plan for taking the exam. Just don't forget to close the book occasionally and write some actual code. So get a copy of the released version of .NET and start coding, making mistakes and wading through the new features available.

    Thanks for sharing a few moments together. For those of you who have further questions, I invite you to visit Microsoft's main certification site at www.microsoft.com/traincert/default.asp or e-mail your question to mcphelp@microsoft.com. Many of your potential questions will be beyond my ability to answer, as I am not affiliated with Microsoft's Training & Certification program. You can also browse transcripts of previous chats regarding the new .NET certifications at http://msdn.microsoft.com/chats and follow the link "Recent Chat Transcripts." For those of you who also took any one of the new .NET beta exams, I invite you to drop me a line at RLCornish@cs.com.

  • Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.