Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

CLD Car Wash Preparation

Hello all I would really appreciate a review of my CLD car wash solution below.

For this solution, I limited myself to 4hrs so it's not fully polished, but I think it would work. Doing an exam while paying attention to time raised a few questions:

  1. I have a few Enum states that I ended up not using. How important is it to "cleanup after yourself," in the CLD exam?
  2. I spent about 10-15 min making Sub-vi Icons Is that useful or should I have spent that time somewhere else? 
  3. I'd appreciate feedback on my Timer SubVi. Is this a good way to handle elapsed time or is there a better method?
  4. I know for the CLA exam, it is suggested to use the actor framework for this problem. However, I didn't think I was proficient enough to get a project that used that framework (or any kind of G-OOP program) active in under 4 hours. Should I get better at this before I go for the CLD or is the required overhead for Classes not worth it?
  5. Although the program works as intended, I don't feel like it's how I would approach making an actual car wash (where each position would have its own init and end states to activate and deactivate). How much does it matter how realistic vs code-golfy my solution is when the exam is graded?

 

 

0 Kudos
Message 1 of 7
(4,892 Views)

@JScherer wrote:

Hello all I would really appreciate a review of my CLD car wash solution below.

For this solution, I limited myself to 4hrs so it's not fully polished, but I think it would work. Doing an exam while paying attention to time raised a few questions:

  1. I have a few Enum states that I ended up not using. How important is it to "cleanup after yourself," in the CLD exam?
  2. I spent about 10-15 min making Sub-vi Icons Is that useful or should I have spent that time somewhere else? 
  3. I'd appreciate feedback on my Timer SubVi. Is this a good way to handle elapsed time or is there a better method?
  4. I know for the CLA exam, it is suggested to use the actor framework for this problem. However, I didn't think I was proficient enough to get a project that used that framework (or any kind of G-OOP program) active in under 4 hours. Should I get better at this before I go for the CLD or is the required overhead for Classes not worth it?
  5. Although the program works as intended, I don't feel like it's how I would approach making an actual car wash (where each position would have its own init and end states to activate and deactivate). How much does it matter how realistic vs code-golfy my solution is when the exam is graded?

 

 


It's not cheating to use the elapsed time express vi.  Anything that comes with LabVIEW - i.e., what's on the stick - is fair game.  That being said, let me take a look.  (It will take a while, as I have to take this home to look at it.)

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 2 of 7
(4,863 Views)

Okay, I took a quick look at the project.  Treat the document that comes with it as your requirements document.  As long as it satisfies the requirements, you are set.  That being said:

  • I think the document says to use the front panel provided?  (I can't remember off the top of my head.  If it did, I would be extremely upset if I was the customer, that you customized the front panel.)
  • You have deviated very significantly from the requirements document by changing how the application works on a fundamental basis.  (For instance, where's the slider?)  You will fail functionality simply because the application doesn't work the way the requirements document says it should.  Even if your design choices are sound.  Even if they are better.  In real life, of course, you would have a meeting with the customer to discuss possible design changes.
  • Time constraints are an unfortunate fact of life, especially in the world of software development.  While any code that works would (probably) be acceptable, you would be better off using a standard design pattern.  In this case, you are waffling about which design pattern to use.  I would use the one that gives you the best shot at getting it done on time.  This is good real-world practice, here.

I know you put a lot of thought and effort into making it the way it should work, but remember, the customer is calling the shots.  Perhaps it would be better if you thought of this as the result of many meetings to hammer out the details, and this is what everyone agreed should be the product.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
Message 3 of 7
(4,860 Views)

@billko wrote:

Okay, I took a quick look at the project.  Treat the document that comes with it as your requirements document.  As long as it satisfies the requirements, you are set.  That being said:

  • I think the document says to use the front panel provided?  (I can't remember off the top of my head.  If it did, I would be extremely upset if I was the customer, that you customized the front panel.)
  • You have deviated very significantly from the requirements document by changing how the application works on a fundamental basis.  (For instance, where's the slider?)  You will fail functionality simply because the application doesn't work the way the requirements document says it should.  Even if your design choices are sound.  Even if they are better.  In real life, of course, you would have a meeting with the customer to discuss possible design changes.
  • Time constraints are an unfortunate fact of life, especially in the world of software development.  While any code that works would (probably) be acceptable, you would be better off using a standard design pattern.  In this case, you are waffling about which design pattern to use.  I would use the one that gives you the best shot at getting it done on time.  This is good real-world practice, here.

I know you put a lot of thought and effort into making it the way it should work, but remember, the customer is calling the shots.  Perhaps it would be better if you thought of this as the result of many meetings to hammer out the details, and this is what everyone agreed should be the product.


Ok, I used the 2004 exam (below) for a reference, I'm guessing that later exams have a position slider for the car's location? I'll rework it later with a slider.

In terms of getting a project done on time, are there any good rules of thumb for which patterns take more/less time or a good set of rules as to which pattern to use in a particular case? I sort of go with the pattern I feel is the best, but if anyone really asked me to justify my choice I wouldn't be able to say much other than "I felt this would be best, and I got it working."

0 Kudos
Message 4 of 7
(4,806 Views)

Wow, that is OLD!  😄

 

There's a kit out there that will help you a LOT, and is very close to what you will encounter for the real test.  It's here: Preparation E-kit for the NI Certified LabVIEW Developer (CLD) Exam.  Good luck - have fun!  🙂

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 5 of 7
(4,797 Views)

@JScherer wrote:

@billko wrote:

Okay, I took a quick look at the project.  Treat the document that comes with it as your requirements document.  As long as it satisfies the requirements, you are set.  That being said:

  • I think the document says to use the front panel provided?  (I can't remember off the top of my head.  If it did, I would be extremely upset if I was the customer, that you customized the front panel.)
  • You have deviated very significantly from the requirements document by changing how the application works on a fundamental basis.  (For instance, where's the slider?)  You will fail functionality simply because the application doesn't work the way the requirements document says it should.  Even if your design choices are sound.  Even if they are better.  In real life, of course, you would have a meeting with the customer to discuss possible design changes.
  • Time constraints are an unfortunate fact of life, especially in the world of software development.  While any code that works would (probably) be acceptable, you would be better off using a standard design pattern.  In this case, you are waffling about which design pattern to use.  I would use the one that gives you the best shot at getting it done on time.  This is good real-world practice, here.

I know you put a lot of thought and effort into making it the way it should work, but remember, the customer is calling the shots.  Perhaps it would be better if you thought of this as the result of many meetings to hammer out the details, and this is what everyone agreed should be the product.


Ok, I used the 2004 exam (below) for a reference, I'm guessing that later exams have a position slider for the car's location? I'll rework it later with a slider.

In terms of getting a project done on time, are there any good rules of thumb for which patterns take more/less time or a good set of rules as to which pattern to use in a particular case? I sort of go with the pattern I feel is the best, but if anyone really asked me to justify my choice I wouldn't be able to say much other than "I felt this would be best, and I got it working."


This is where it gets interesting.  Although you won't have to justify anything to your proctor, in real life, your colleagues may ask you just such a question as part of a code review.  Here's a gem I just dug up by Googling "LabVIEW Design Patterns" -

Design Patterns in NI LabVIEW - National Instruments

 

It's a PDF presentation.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 6 of 7
(4,792 Views)

LabVIEW Core 2 covers selecting an appropriate design pattern.  The CLD R will really test your ability to apply that decision making process.   

 

You may want to look at the recert exams to help focus your studies.


"Should be" isn't "Is" -Jay
0 Kudos
Message 7 of 7
(4,679 Views)