There is a 99% chance that none of these problems will be on your test. However, there is a 110% chance that the concepts that these drill in to you will be used extensively on all coding questions in the tests. If you understand the nature of all (or even just half) of these problems, then you will have a deeper understanding of why the code works without the "it sort of looks right" syndrome. Each section of problems begins with the simplest, most watered-down examples possible and slowly works up to more complex problems where the last few go beyond the scope of this class (so if you can do the last ones, you know you're definitely good for the test). Each problem has a solution with a full description of how it was written.
-Blake O'Hare