Obtaining Microsoft certification is a rewarding achievement. However, it can
also be a costly and time-consuming process. (To get the MCSD certification
you must pass four exams. The two Visual Basic exams can be used as core exams
or as electives.) In order to pass the Visual Basic exams and become certified, you need to be proficient with all aspects of the
Visual Basic language. But because Visual Basic is such a rich and complex
language, even the most die-hard Visual Basic developer doesn't use all the
available features.
Although Microsoft doesn't release exam statistics,
it's believed that nearly half the people who take an exam for the first time
fail it. Even competent developers fail exams at times, not due to lack of
knowledge or experience, but due to lack of preparation. It's impossible to
teach you everything you need to know to pass the exams in a top ten list
(that's why I wrote MCSD in
a Nutshell), but this list will help prepare you for taking the Visual
Basic exams.
- Know the requirements of each of the exams.
It seems trivial,
but many developers don't consider all of the objectives listed for an
exam, and therefore they don't prepare accordingly. If a topic is listed
in the objectives for an exam, you are almost assured of encountering one
or more questions related to the topic. As a result, if you don't
understand the topic you will probably miss one or more questions. For
example, you may not use the TreeView control in your projects, but you
can count on at least one question pertaining to the TreeView control, and
probably more. If you don't spend a few minutes learning the basics of the
TreeView control prior to taking an exam, you're going into the battle
without your guns fully loaded. You can obtain the latest exam objectives
at Microsoft's
Certification site.
- Be familiar with all of Microsoft's technologies.
Back in the
days of Visual Basic 3, the exam (there was only one at the time) focused
on your programming abilities: Could you create a For.Next loop? Could you
define a Select Case construct? However, times have changed. The exams now
make you demonstrate a working knowledge of Microsoft technologies. You can
actually write pretty poor code and still be certified, as long as you
understand Microsoft technologies. It's doubtful that you use all of
Microsoft's various technologies, such as for creating ActiveX controls or
ActiveX documents, but you must understand all of the technologies in order
to pass the exams. For example, ActiveX documents have long been
considered a solution looking for a problem, and very few people use them.
However, there are a surprising number of questions related to creating
ActiveX documents on both exams. If you don't understand the difference
between in-process .DLLs and out-of-process .EXEs, you're in trouble.
Before taking the exams, make sure you understand COM (including early and
late binding and reference counting), and creating and testing ActiveX
code components, controls, and user documents. Also make sure you have some
understanding of ADO (though more is required for the Distributed exam). The more you understand
about the implementation and coordination of the Microsoft technologies, the
better chance you have of passing the exams.
- Learn the Internet programming controls.
Not everyone programs
for the Internet, and of those that do, not everyone uses Visual Basic's
intrinsic tools such as the Internet Transfer control, the Winsock control,
or DHTML. However, you have to understand Visual Basic's Internet
programming functionality in order to pass the exams. The good news is you
don't have to be an expert with these tools, but you do need to have a
working knowledge. Before taking an exam, make sure you understand how to
perform the basic tasks with each of the Internet controls. This includes
being able to browse Web pages using the WebBrowser control, retrieve files
via HTTP and FTP using the Internet Transfer control, creating
peer-to-peer and client/server applications that communicate via the
Winsock control.
- Understand package and deployment.
This may seem like a small
subject to earn a right on the top ten list, (after all it's handled by a
simple wizard), but let me tell you: become an expert at packing and
deploying solutions and you will dramatically improve your performance on
both exams. When I first took the exams in beta, I was unpleasantly
surprised at how many questions regarding package and deployment appeared
on both exams. I took the exams once again after they were released to see
how things changed so that I could keep my material accurate. What I found
is that both exams were still laden with package and deployment questions.
I personally think that much of the material is more suited to the
Distributed exam, but the reality is that both exams have include many
questions on package and deployment; if you don't fully understand package
and deployment (.CAB files, Internet deployment, and installation script
files, for example), your chances of passing either exam are greatly
reduced.
- Study for the exams.
If you had to pay over $100 for each exam
you took in high school, would you have studied more? Regardless of how
proficient you are with Visual Basic, your chances of passing an exam are
greatly increased if you simply spend some time studying. Remember, the
exams are designed to be difficult. Studying gets your brain in a
test-taking mode, and helps to refresh you on concepts that you may not
use all the time. If you've been programming applications with Visual
Basic for some time, you can probably create truly robust applications
quite easily. However, how much of your coding is 'raw' coding versus
cutting and pasting from a vast library of routines? You may have a great
class that encapsulates all of the functionality for working with the
ListView control, but if you can't remember the syntax to add items and
sub items via code, you're going to be stuck if you encounter such a
question on the exam. Taking and passing a Microsoft exam is an investment
in your future, treat it as such as devote some time to studying before
taking an exam.
- Take a Practice Exam.
If you've never taken a Microsoft exam,
you should download a practice exam from Microsoft's
Web site. The practice exam won't teach you want you need
to know, but it will help you get familiar with Microsoft's testing
software and approach, which is a big plus in my opinion. When you take an
exam, you want to focus your efforts on answering questions, not on getting
comfortable with the testing software. I highly recommend purchasing a
Transcender practice
test for the exam you want to take, in addition to
whatever other study materials you may use (<shameless_plug>MCSD in a
Nutshell<shameless_plug>). The Transcender exams won't teach you all
you need to know, but they do an excellent job in preparing you for the types
of questions you will be asked, and in the manner in which the questions
appear. When you first sit down to take an exam, you are given the
opportunity to take a practice exam. The time used to take the practice
exam does not count against your allotted time for the real exam, so you
should go ahead and take the practice exam to get acquainted
(or reacquainted) with the testing software.
- Read questions completely, and read them more than once.
Know this: The questions on the exams are worded to deliberately bait you
into making mistakes. Questions are often cleverly worded such that the
question is actually asking the opposite of what you think it is. In these
cases, it's not uncommon for the first answer to appear to be the correct
answer, when in reality the correct answer appears later in the list. If
you read the question wrong the first time (which is very easy to do),
you'll formulate the answer in your head, see the answer listed as the
first choice, answer the question, and move on. There are so many questions
worded in this manner that you should read each and every one at least
twice, regardless of how obvious the answer may be to you. The second time
you read the question, ask yourself "is this question really asking what I
think it's asking? Is it asking the opposite of what I think it's asking? Is
it actually asking something altogether different than what I thought the
first time I read it?" If you do this for all questions (it takes only a
second or so to do per question), you will greatly reduce the amount of
mistakes you make on an exam.
- Use the Marking feature of the exam to your advantage.
Microsoft's testing software has a Marking feature that lets you flag
questions for easy review at a later time. If you're stuck on a question,
select your best-guess answer, use the Marking feature to flag the
question, and then move on to the next question. When you've gone through
all of the questions, you'll get a window that shows all of the test
question numbers, with those you've marked highlighted. To review
a question, double-click the question number. During this review phase,
choose your best answer and unmark the question. If at all possible, you
want to finish the exam with no questions marked so that you know you
revisited all of the questions that gave you trouble. The reason that you
make a best guess at the time you mark the question is so that, in the
event you do run out of time, you have at least given an answer; by not
answering a question, you're assured of getting it wrong.
- Use all of the time you are given.
You are given a finite amount of time to complete an exam. If you're
prepared, the time will be more than adequate, and you'll be left with
some time to spare. Use all of the time allotted. If you've
answered all of the questions, review any questions you may have marked
using the exam software's Marking feature. If you've already reviewed the
marked questions, review all of the questions from the beginning. During
this stage, there are really two key things to keep in mind. The first is
that it's possible you may have encountered a question later in the exam
that gave you enough information to more accurately answer the question
you're reviewing. The second thing to keep in mind is the idea of
rereading a question from the perspective of "did I understand the
question correctly when I answered it?" Sometimes coming back to a question
allows your mind to process the information and put you in a better state
to give a correct answer. If the time is available, use it to its full
capacity.
- Use Visual Basic.
Lately, there's a lot of talk about 'paper
MCSEs'. A paper MCSE or paper MCSD is someone who has obtained
certification, but doesn't have the skills to back it up. This phenomenon
has proliferated in a large part due to 'brain dumps,' Web sites where
users post questions and answers that they remember after taking the exams.
This information, coupled with good study materials, such as study guides
and practice tests, has allowed some people to pass tests on subjects in
which they really aren't proficient. Unfortunately, this has negative
consequences in many ways. First and foremost, it dilutes the value of
certification for those who have actually earned it. Microsoft recognizes
this, and as a result they are changing the way they administer exams. If
you've taken the Solutions Architecture exam, you've
seen firsthand the results of these changes; it's almost impossible to pass
this exam without two years minimum of real-world experience. Passing an exam
without having real experience in the subject is very, very difficult to
do--but not impossible. However, certification has little value if you can't
walk the walk. In addition, the exams are evolving, and I believe that soon you
simply won't be able to obtain certification if you don't know your stuff.
If you're interested in getting certified in Visual Basic, the best way to
get there is to build applications using Visual Basic.