In the Beginning...

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. Derek and I 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'd been working as a COM architect, Visual Basic technical resource, and "best practices" evangelist on two highprofile applications for 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 and 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, 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 were in casts and my typing speed was about 20% of normal (from 10 fingers down to 2). Worse yet, my bulky casts seemed to always be hitting keys unintentionally (the space bar was a popular spurious 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.

In an April 2002 announcement on their Web site, it appeared Microsoft was 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 were typical of those exams:

  • 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.

    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 (

    • 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
    I will cover each of these in more detail later, but for now I would recommend focusing your attention on user services and data services, which made up over half of the exam. Add testing and debugging 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% identical to VB6 and 20% new. Regardless of whether the percentage is accurate, this entire exam focuses 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 errorhandling, trace/debug functions, and object instantiation are always strong points for me. This exam follows that same pattern.

    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 online 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 I stumbled across that might be useful to architects (and those eventually taking the 70-300 exam), as well as those preparing for this test, 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: 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): Coding Techniques for Microsoft Visual Basic .NET, by John Connell (Microsoft Press, 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 latest version 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. I've never used one of Microsoft's selfpaced 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 those 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 on the exam. Either way, spend some time experimenting with the new System.Globalization namespace. I suspect that 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. 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 or e-mail your question to 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 by following the link "Recent Chat Transcripts." For those of you who also took any of the new .NET beta exams, I invite you to drop me a line at Next month, I will discuss the 70-310/320 Exam (XML Web Services and Server Components Development with VB.NET).

  • 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.