The following assignments are numbered for convenience, and the higher-numbered ones are generally more complicated than the lower-numbered ones, but you are not required to do them in this order; in fact, you're not required to do all of them at all.
For many of the following assignments I've described how to do them in several different languages. In addition, for Scheme, any of the homework assignments in How to Design Programs are fair game for demonstrating your ability. For Prolog, any of the exercises in the Amzi tutorial should work.