02-25-2020 06:41 AM
Disclaimer: I do not work for NI and this knowledge is based on a conversation I had with one of the NI Certification heads ~4 years ago.
Most of the CLD grading is automatic now and each requirement has a different weight. So if you didn't hit one of the main requirements, that would hurt you more than if you missed one of the minor requirements. And there is also the cascading effect: requirement B is tested with results from requirement A, but requirement A was not done properly (failed) and so requirement B will therefore also fail. Manual reviews are done, but pretty much only when the automatic grading results in a close to passing grade.
02-25-2020 06:51 AM
Thanks for your insight.
That makes sense to me. For example, if the initialized data were not read properly from the file provided, you are very likely to lose most of functionality points since it is usually at the very beginning of the program.
But for the exam I just took, I tested all functionality over and over to make sure it works. I still don't understand why I failed and this is what I am frustrated about.
02-25-2020 11:15 AM
Hi all
We have received Billy's request for feedback, and I'm preparing that for him. Because of privacy issues I won't be posting that in this forum, but Billy will be able to forward basic information consistent with the NDA (keep it at the category/general LabVIEW programming level, no details about the given exam scenario).
In the meantime, a couple of details may be helpful for this audience.
Hope this clears up some confusion.
Best Regards,
02-25-2020 11:50 AM
Hi,
Thanks for the message.
I would be better prepared if I know what I did wrong for the exam.
It is kind of a learning curve that will benefit my career. That is my purpose of taking the CLD exam, which is to evaluate how good I am in programming.
02-26-2020 05:03 AM
Hi,
is anyone entitled to get more detailed feedback? Although I don't want to dispute the results, it would be really helpful if I can see the feedback in more detail.
Best wishes,
Piotr Golacki
02-26-2020 09:19 AM
I'm sorry, Piotr, but due to the volume of grading we can't provide more specific feedback for all exams. The appeal process is in place to ensure that the exam evaluation is consistent with our grading guidelines and policies, to make sure we didn't miss crediting important functionality.
Best Regards,
Elwood
02-28-2020 02:14 PM
Hi Piotr,
Per discussion with the NI certification team, one portion of my code somehow locked out the front panel which prevented the program from further executing. But after the exam re-evaluation, I am able to pass the exam.
My suggestion is that always be aware of the response time of your program. Using a counter may be a good way to avoid this issue.
In addition, be careful when you use the event structure in a state machine, it may freeze your front panel if you do not manage it correctly.
03-03-2020 05:18 AM
Hi Billy,
Thanks for your response. I need to admit that when I recreated my exam at home I realized that I had a bug in my code which would lockout my code. I used Queued Message Handler and I actually en-queued idle state within the idle state which was unnecessary and accumulated in the queue causing it to gradually slow down the response and eventually making it unresponsive.
Best wishes,
Piotr Golacki
03-04-2020 07:11 AM
Hi Poitr,
I normally use a state machine to write the code.
As for producer consumer loop and QMH, you have to make sure that the name of sent/received message matches with the corresponding one in the case structure.
Just use the structure you feel most comfortable for the exam.
03-05-2020 06:19 AM
@piterx wrote:
I used Queued Message Handler and I actually en-queued idle state within the idle state which was unnecessary and accumulated in the queue causing it to gradually slow down the response and eventually making it unresponsive.
This has been discussed many times at various places on the forum (too lazy to search at the moment). Basically, a QMH should almost never enqueue onto itself. As you have discovered, it can cause really weird behavior and/or horrible race conditions. If you have a repeated task, use the queue/event timeout.