Originally posted by Pauline McNamara:
Note: I'm talking just about hands-on programming labs, not other kinds of exercises.
What? No aerobics?
Originally posted by Kathy Sierra:
Howdy -- we had a big controversy at Sun over what the labs should be like for the in-class hands-on exercises for Java.
Originally posted by Mark Herschberg:
Um, this looks like an interesting topic, but I have no idea how to pick a side. What was the purpose of having the labs?
Labs's are great for some things, bad for others. Until we know the goals of this particular program, it's argue to argue whether or not a lab can achieve those goals.
Originally posted by Johannes de Jong:
I think this is the most important one for me. I really think that there shoud be [b]one universal project that should be defined and that all IT related training should use it as its base. Even books should use this.
I personally think that in courses too much time is wasted in describing the project.
* Labs should be very real world; students should be doing things almost exactly as they would in the real world. That may include having the student do only small pieces of some larger project.
* Labs should be greatly simplified versions of something that *might* scale to the real world, and you can show them how it might scale, but the actual in-class lab is something they can complete themselves.
* Labs do not have to be real world, as long as you can show that the thing they're practicing -- the objective of the lab exercise -- is something that *does* map to the real world (which you can demonstrate with examples).
* Labs do not have to be completed.
* Students can be given the solutions in advance.
* Students should NOT be given the solutions in advance, but must try to figure it out on their own.
* Students should NOT be given the solutions in advance, but can be given hint sheets, with progressively graduated hints
* All students should be doing the exact same thing.
* Different students can work on different labs, you can give them an option
* Labs should be scalable, so that everyone must complete a baseline level, but more advanced students can go on to implement some more advanced (but optional) functionality, or at least they can be given a list of suggestions on things they might want to do (while they're waiting for the rest of the class to finish.)
* Labs should be done in pairs.
* Labs should be done alone.