Yesterday I took (and passed) the Certified Macromedia Flash MX 2004 Developer exam. Since I know a few people who are thinking about taking the exam, I thought I would share some of the concerns and uncertainties I had going into the exam and how they played out (or didn’t) in the exam.
Disclaimer: part of taking the exam requires accepting a non-disclosure agreement about the questions (and perhaps the material) on the exam. I am going to do my best to be vague and general, while still providing some useful information. If someone from Macromedia reads this (although I don’t really expect that!) and feels like I am pushing the limits of the NDA, please let me know and I will try to revise this accordingly.
Question difficulty (compared to the exam prep book)
The biggest question/concern I had going into the exam was on the difficulty of the questions. I have a copy of the exam prep book and spent some time each week for the last 2-3 months working through it. My feeling was that the sample questions in the book weren’t too difficult and that if the real questions match that difficulty level, then I should be fine. On the other hand, in the Amazon.com page for the book, a few reviewers mentioned that the sample questions in the book are not nearly as difficult as the real questions on the exam – in which case I thought I might have some cause for concern.
Overall, I felt like the level of difficulty of the sample questions in the book in terms of depth of knowledge required is very consistent with the real exam. What may cause people difficulty is that the breadth of coverage in the real exam is much larger that the breadth of coverage in the sample questions (but not in the book itself). So (hypothetically) a particular chapter may have 5 sample questions, mostly specific to one aspect of the chapter which comprises about 20 - 25% of the total material covered in the chapter. That could be interpreted as meaning that only that 20-25% of the chapter is actually on the exam. In fact, on an exam you may see questions about 80-100% of the material in that chapter, but none of the questions will demand more expertise about their particular area than the sample questions in the book did. (The one exception to this is what I call the “silly” questions, which I will talk about further below.) This is my own speculation, of course, based on the assumption that there is a large pool of exam questions from which some are randomly chosen for each exam.
Topics not covered as in-depth as I expected
My next area of concern was simply with the topics I was less familiar with. For example, the exam prep book spends several chapters on topics like XML, the web services classes, components, Flash Remoting, and other topics that aren’t used as often by Flash developers, including me. I have actually done quite a bit of Flash/server connection type of projects, so I have studied the different approaches and their advantages and disadvantages, but just because of availability, there are some of these that I have worked with a lot and some I haven’t worked with as much.
For example, I spent a lot of time in the two days before the exam just reading through each item in the Components Dictionary and the ActionScript Language Reference (ActionScript Dictionary). I feel like that particular part of my preparation was somewhat wasted. In the randomly chosen questions for my exam, there were several that covered conceptual issues surrounding the topic of communicating between a Flash movie and server resources, but I don’t remember actually having any code examples that I had to work through. The questions I got that dealt with components were similar. I can honestly say that there are literally whole chapters in the book that I didn’t get any questions on. I assume there are some questions on those topics, but the random choice of the test just didn’t give them to me.
Thinking back, there is some logic to this. As I worked through the exam prep book I got a pretty good idea of when the book and exam were written – my guess is that it was at the latest during the early beta stages of Flash MX 2004 development. The book has some vagueness (and some inaccuracies) regarding some of these topics, and also especially with AS2 object-oriented programming. It makes sense that those aspects of the ActionScript language and the Flash authoring tool were not fully fleshed out and debugged at the time the book was written. Consequently, it makes sense that on the exam, the questions could only cover those topics conceptually rather than asking about syntax or implementation specifics.
So in summary, I guess I had certain expectations about the exam from the prep book, some of which worked out and some of which led to surprises. If you want more specific details on my thoughts about the book, you can see my comment on the Amazon.com page for the book.
Complaints about the exam
I guess I’m not ending on a positive note, but that’s life, isn’t it =).
There were probably five or so questions that I just call the silly questions. They all had a code listing and would ask you something about the output or result of executing the code. In each case, I always wanted to say “choice e: I wouldn’t write my code in such a messy, confusing, ambiguous way so I wouldn’t ever have to be concerned about what the output might be.” As you may gather, I felt that in those questions the code was intentionally written poorly, and the true best solution in that case would just be to rewrite the code to, for example, check for a certain condition rather than letting the code just work itself out. I know I’m being vague here, but I can’t rightfully give any more details without compromising actual test questions.
Note: I don’t feel this way about all the questions that involved looking at code listings and predicting the output – just a particular few.
Okay, I will end on a positive note. Here are a couple of areas which I thought received lots of attention in the exam. I was familiar and comfortable with them, which was good for me, but if you aren’t you will definitely want to make sure your studies include these:
- Object-Oriented programming
You may not not need to know the specific syntax for AS2 as much as you would think, but the exam definitely puts lots of emphasis on general OOP structures, how and why they might be used, etc. I heartily recommend Essential ActionScript 2.0 for coverage of this topic (as well as the specific syntax).
- Using the  operator, not for arrays but for dynamic property access (see Flash Help > ActionScript Language Reference > Symbolic Operators >  (array access): Usage 3). I have a personal gripe with this particular structure, but apparently Macromedia and/or the test experts feel like it’s an important one to know. Fortunately I have used it a fair amount even though I avoid it now.