This folder contains the following Jupyter notebooks.
- Introduction: This explains how raster images and their pixels can be represented and introduces a simple image loading/saving library used for all exercises.
- Puzzles: These exercises involve revealing an image hidden among apparently completely random pixels.
- Pixels: These exercises involve modifying individual pixels to change or remove the colours of an image.
- Image: These exercises involve modifying groups of pixels to rotate, flip and blur an image.
The exercises require only basic programming constructs: assignments, integer expressions, if-statements, for-loops (possibly nested), arrays, matrices (2D arrays), and functions.
Some exercises require generating random numbers but they indicate which built-in function should be used.