Codeforces is a huge website with a wealth of well-defined programming problems: https://codeforces.com/help#q1 (Useful for program synthesis and other situations where you want a large problem set to play with.)