The final exam is cumulative and encompasses all topics covered by earlier exams. The new concept since the last exam is recursion. In addition, concepts from the final homework assignment may be included (recursive web crawling, random surfer simulations, etc.).
No sample exam is provided. The format will be similar to previous exams except twice as long. In addition, we may ask some slightly longer coding problems (worth 15-20 points rather than the usual 10).
Problems from class (handouts, etc.).
Practice problems (includes solutions)
codingbat does not have any recursion problems for python, but it does have a nice collection for Java. you can read those problem descriptions and still try to solve them (in python of course). They can be found here: java coding bat
Additional problems can be found at the end of each textbook chapter.