Wednesday, January 28, 2009

LabVIEW Certification: Preparing for the CLD

After I passed the CLAD, I decided to try the Certified LabVIEW Developer (CLD) exam. According to the CLD webpage, the purpose of this exam is to "demonstrate experience in developing, debugging, and deploying medium to large LabVIEW applications."

To prepare for the CLD, I first watched the CLD webcast to get a good summary of what to expect on the exam. It turns out the material in the CLD webcast was very similar to the material in the CLD Exam Preparation Guide, but I still read through the entire document to make sure I was familiar with all the areas of competence associated with the exam.

I spent the bulk of my preparation time working through all of the sample exams that were available. My main purpose in working through the sample exams in their entirety was to ensure I wouldn't have any issues with the 4-hour time limit of the CLD. Thankfully, I completed the sample exams and the actual CLD with plenty of time to spare. I strongly recommend that anyone planning to take the CLD work through all the sample exams, not only to assess your coding time, but also because the sample exams are very similar in nature to the actual CLD.

Many people have posted CLD suggestions and tips on the NI Forums and the LAVA Forums. A search of "CLD preparation", or simply just "CLD", will probably yield some useful results. Here's a list of what I feel are the most important points to know before going in for the CLD:
  • I can't stress enough the importance of taking all the sample exams and timing yourself. If you're unsure about your programming, post your resulting app to the NI or LAVA forums and ask for some general "How did I do?" feedback.
  • When the exam begins, spend a few minutes customizing the LabVIEW environment to match your typical setup. For me, this included things like adding my most common Quick Drop shortcuts, turning off structure auto-grow and red Xs on broken wires, etc. (check out this blog post where I talk about my favorite Tools > Options settings). You'll make up those few minutes many times over during the exam when you're not continually slowed down by environment settings with which you're not familiar.
  • Documentation is a huge part of your CLD score, and it is one of the easiest areas to maximize points. Set a description and tip on every front panel control and indicator. Set a VI description on every VI you write. If you use the LabVIEW Project, set a description on all non-VI items in your project (like .lvlibs). Place comments *everywhere* in your diagram, describing your functionality in a concise way. Make sure to document the diagrams in different cases and loops. It is also a good idea to label long wires and wires associated with shift registers.
  • Make sure your application is functional before submitting it. It's probably not a bad idea to save all your VIs and close everything down once you're done, quit LabVIEW, restart LabVIEW, open your VI, and make sure it runs correctly. This will eliminate the possibility that you've got non-default values in controls that won't persist after a restart, or that you've got changes to VIs in memory that aren't committed to disk, etc.
  • For the CLD, the functionality of your application should trump the complexity of any architectures you select. If you think you can control your CLD app with a simple state machine, and that's a programming structure you're comfortable with, then use a simple state machine. Don't choose an overly complicated architecture if you're not comfortable using it.
  • Make typedefs out of any clusters or enums you create for your applications.
  • Create a non-default icon for every VI you write (I'd recommend this for .ctls and .lvlibs as well, although that's a pretty low priority). Simple black border, white background, black text icons should be fine. Don't waste time drawing pictures of DAQ boards or librarians in your icons.
  • Write clean code. You can lose points for bad style.
  • If you're running short on time, prioritize your remaining work, placing "functional application" at the top, and things like "tip strips on subVI controls" at the bottom.
I hope these tips prove useful, and if you're taking the CLD soon, good luck!

12 comments:

  1. Darren,

    Great article and advice. Question for you, are your quick drop shortcuts listed here --> http://zone.ni.com/devzone/cda/tut/p/id/7423 ?

    Or are there others not in that post?

    Thanks,
    -Sean

    ReplyDelete
  2. Sean: I haven't quite figured out an optimal distribution mechanism for sharing my Quick Drop shortcuts. So for now, I just periodically update them and post a text file. Here is my latest set of shortcuts (dated 1/30/09):
    http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=383206#M383206

    ReplyDelete
  3. I ve planned to take CLAD exam this month.
    Could u Plz give your tips .


    Thanks & Regards

    ReplyDelete
  4. Here is a link to my blog post on how I prepared for the CLAD:

    http://labviewartisan.blogspot.com/2009/01/lv-certification-preparing-for-clad.html

    ReplyDelete
  5. That was a good article. In my CLD exam I had a little bug that I tried to fix until last minute. My passing grade was only 85%. If I had quit trying to fix the bug and focused on documenting, my scores would been much better.

    ReplyDelete
  6. Hello all,

    Just after the exam and felt I should put this information up to WARN others sitting the CLD exam. I was very surprised at the end of my CLD exam to be informed that the Memory key with the paper contained the front panel built and also the required CSV file. I lost 35-40 minutes on building the UI as it was very in-depth. Just a warning for others sitting the exam, Ask before you sit it as the paper will not tell you or the CLD video has no mention of it. WARNING !!!!!!!

    Cheers

    Rob

    ReplyDelete
  7. Hi Rob,

    If you could please specify about the memory key or if anyone could suggest about any relevant documentation regarding the memory key that would be truly great and much appreciated.

    Cheers,
    Raj

    ReplyDelete
  8. Raj: Rob is referring to the USB memory stick that is provided to all CLD exam takers that includes a VI containing a pre-built front panel. If you sit for the CLD, you should receive this USB memory stick prior to starting the exam.

    ReplyDelete
  9. Hi Darren,

    I'll be taking my CLD in two days time :) I just want to clarify... based from the feedback given by Rob, is it a norm for the CLD package to give a pre-build front panel? Or this is case-to-case basis, depends on the exam question?

    Please advice.

    Shazlan

    ReplyDelete
  10. The CLD was changed a while back to always include a pre-built front panel.

    ReplyDelete
  11. You don't need to spend time customizing your LabVIEW environment after your exam has started because you can do it before your exam! According to NI Preparation E-kit for CLD:
    "You may request the proctor to allow you a few minutes before your exam to customize the LabVIEW environment for your needs or to familiarize yourself with the
    environment. The proctor will only hand over the exam when you are ready to begin
    working on the exam."

    ReplyDelete
  12. I've found that practicing your basic setup and framework over and over until you are bored of doing it helps in the exam because you won't freak out when you see the test full of things you've never seen before. Instead, you'll spend the first half-hour or so doing exactly the things you always do and that will give you confidence when you finally hit the unique parts of the test.

    ReplyDelete