Hands-on exercises. You will get much more out of these if you try hard to do the exercises before looking at my code.