(1) Factorial and Fibonacci functions (recursion, trade-off, what if we want to call it several times?)
(2) Given a binary tree, return another tree with reverse in-order traversal.
(3) Find output and bugs in a given program.
(4) Design an object-oriented program for a library (emphasis on users, types of books, check-out, return)