The Book of Programming Ideas document contains 64 example programming exercises for students to try. The sections cover everything from basic input and output exercises through to subroutines, functions, and file handling. There are Python and Java versions of the document, although all exercises are written to be language-independent.
The Little Book of Programming Challenges
This book contains 27 programming tasks for students. They range from simple assignments that output messages and variables to the screen, to more complex programs to play simple games or solve common problems. Each activity lists the required programming knowledge (e.g. loops) to complete it. This is a really useful booklet for starter or extension tasks, allowing students to work at their own pace. The activities are written so that they are language independent.