Exercises from chapter 5 of Web Programming Step-by-Step