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!

Monday, January 19, 2009

My Weekly Nuggets are Back!

I decided to start writing weekly nuggets again. Check out the first 2009 nugget here. Enjoy!

Edit: A little background on my weekly nuggets. Back in January 2006 I decided to start posting a LabVIEW tip or trick every week on the NI Discussion Forums...this was the first installment. I kept it up for about a year, then announced my retirement, since it was getting pretty hard to come up with a new tip every week for 52 straight weeks. Anyway, after I found out that people were bummed that my nuggets stopped, I started posting "occasional" nuggets...much less frequently than weekly. Now that it's 2009, I decided that, to celebrate my 10-year anniversary at NI, I'd start posting weekly nuggets again. Let's see how long I can keep it going!

Tuesday, January 13, 2009

LabVIEW Certification: Preparing for the CLAD

The road to LabVIEW Certification starts with the Certified LabVIEW Associate Developer (CLAD) exam. According to the CLAD webpage, the purpose of this exam is to demonstrate that the test taker has "basic proficiency" using LabVIEW. Since I've been writing LabVIEW code as my full-time job for over seven years now, I figured my work experience sufficiently prepared me for the CLAD. I recommend taking the sample exams available at the CLAD webpage above to make sure you are familiar with what kinds of questions to expect on the exam.

For me, the actual CLAD ended up being very similar to the practice exams, and I finished it very quickly (I think I was done with the 40 questions in about 15 minutes). If you have been writing LabVIEW code for several years, I doubt you'll need to do much preparation for this one. If you think you'll need more prep, I recommend watching the CLAD webcast and carefully studying the preparation materials. Both the webcast and the prep materials are available at the CLAD webpage linked above.

Additionally, there have been several threads on both the NI Forums and the LAVA Forums over the years that discuss the CLAD. Some threads have more general discussions, while others are specific to questions on the sample exams. Searching these forums for the term "CLAD" should get you to most of these threads.

Friday, January 9, 2009

"Artisan" Sounds a Lot Like "Architect"

I just found out today that I passed the CLA exam! Ever since I found out after NI Week 2008 that NI employees could receive NI Certification, I signed up in a hurry...first for the CLAD, then the CLD, then the CLA.

Look for some posts in the coming weeks about how I prepared for each exam.

Don't Like It When Quick Drop is "Populating...Please Wait"?

I wrote an occasional nugget a few months ago with some advanced Quick Drop tips. Apparently word hasn't gotten around yet, because people still sometimes ask me if there's any way to avoid the initial "Populating...Please Wait" message the very first time Quick Drop is used after starting LabVIEW.

So to reiterate, if you go to Tools > Options > Controls/Functions Palettes and choose Load palettes during launch, your LabVIEW launch time will increase by a few seconds, but Quick Drop will be immediately ready the first time you use it.

Spread the word!