Once again, it's time for Advent of Code - a series of small programming problems released once a day.
It's only day three but so far, all of the problems look really nice for students in APCS-A or any similar intro course. I'm thinking of looking at a couple of the problems this week with my class at Hunter.
I didn't think about this much last year but one thing I really like about the competition is that each problem comes in two parts. You're first presented with the problem and the input and once you put in the correct answer, you're presented with part two.
This can be annoying at times, particularly when it requires a large code rewrite but it also means that well designed, not too specific solutions are rewarded.
It's not quite the same as changing the specs on a project mid way but it does encourage thinking about more than just solving a super specific problem.
Check out Advent of Code and see if it's something you or your classes might enjoy.