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.
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.