One of the biggest deterrents for learning is lack of organization. LabVIEW examples in the Example Finder are currently only half-organized. There's a directory structure--and that's great--if I need to find a data acquisition or generation task example, I can pretty easily think through the directories:
Hardware Input and Output >> DAQmx >> Analog Measurements >> Voltage
But here's where I have to stop and REALLY search. Not only is it hard to read through the examples (see my other idea about Resizing Example Finder), but the slew of examples make no sense in order of complexity. The Example Finder currently appears to only organize examples based on alphabetic order.
For instance, take a gander at the following laundry list of DAQmx >> Analog Measurement >> Voltage. I marked in blue the first five examples I would recommend to a new user, in the order I would recommend them.
How would a new programmer ever be able to get started with those so well hidden? I have a lot of people who ask me exactly that: "I know I just need an example, but I don't know which one!" From a customer support perspective, I have to say a lot of time spent and confusion revolves around finding a good, pertinent example.
So here's what I recommend::
Reorganize all the examples in order of increasing complexity. How do we define increasing complexity? Well, the DAQ and Signal Conditioning Course already has it hammered down pretty well for DAQmx:
1. We start with just a Finite Acquisition with an internal clock--the most basic acquisition
2. Then, we add a little complexity with a trigger
3. We add a little more complexity by showing how to simulate a trigger in software
4. We add a little more complexity, doing the same thing in hardware-timing
5. And so on until the very end, when we look at very special-case, fancy examples which are supported by specific hardware, and which require specific property nodes to manipulate the behavior.
6. When we've exhausted the subject of Finite Acquisitions with triggers, we move on to Continuous Acquisitions with triggers in another sub-topic of the lesson. Again, we build up from simple to complex.
Not only would this simple re-ordering help new learners, but it helps re-learners who have taken a DAQ class and have forgotten which example to start with (which happens all the time). Let's be honest--it's VERY difficult to remember everything you've taken in any class. We should do a better job to marry coursework (customer education courses) with homework (Example Finder).
It would also be of benefit if we added some extra directory structure to examples--such as Finite vs. Continuous and Internal vs. External clock in the case of DAQmx examples. It is of really no benefit to have all these examples run together, as they are now. New programmer or experienced programmer, a long list format with a lot of reading just gets confusing. Technically, I believe anything over 7 items is about the limit for grasping new concepts. Beyond 7 items, an average learner will be overtaxed and/or lose interest. Besides--adding some extra descriptive folders would help a budding programmer to identify abbreviations like "Int Clk" with "Internal Clock".
From my digging, it looks like the examples that are in the most dire need are DAQmx, SVXMPL (Sound & Vibration), and everything in LabVIEW Fundamentals. The CAN, RIO, and FPGA examples are actually organized a little better, but could still use some work organizing from simple to complex instead of alphabetically.
This is a relatively easy project an intern could do, but it would be a huge help getting new programmers through the LabVIEW learning curve.