Comment Labs (Score 1) 214
I would create a list of labs, and spend significant time on each one. On Monday introduce the problem of the lab, and maybe one new programming concept that can be used to help solve it. Then from Tuesday to Thursday give students time in class to work on it, and help students that are confused, finished students should help the ones who are really far behind. Collect the programs at the beginning of class on friday, and go over the example of a correct program, answering questions along the way.
I think you'd find the best success with a program like this spending as much hands on time as possible.