Having fun with data structures, recursion, sorting, etc.