Hacker News new | ask | show | jobs
by blangblang 5657 days ago
^Like everything else, writing a really excellent assignment is an iterative process. After two or three offerings, you finally have something your users (ie, students) really value: an assignment that teaches well.

New assignments should be just that, another iteration on the original, excellent assignment. I had a few assignments in undergrad for which even solutions to previous versions were essentially useless unless you understood the underlying principles. The professor made this quite clear from the beginning. Minor changes in input/intermediate/output structures and changing constraints on the expected solutions easily confound the copy-pasters. I think this method even enhanced the learning experience for me by highlighting early on how a subtle difference in an algorithm can make all the difference in the world.