I've been thinking how interesting (fun and a little mean) it would be to teach a Software Development class where you
- assign groups of students that don't really get along,
- have groups consume APIs written by previous groups,
- change the assignment (slightly or significantly) every week or so,
- constantly email students asking if they could "just make one little tweak"
- etc...If you were completely up front about expectations (this is about learning the processes/pitfalls of software development, not about submitting a polished assignment at the end) maybe you could give students a sense of the skills needed to succeed not just at computer science, but software dev as well.
eli_gottlieb|10 years ago
Sounds like CS320 at UMass Amherst. We all considered it one of the most work-intensive courses in the degree.