Prepare a presentation about the software you wrote during the class. Give a brief overview of what you did. Give a detailed discussion of something you found to be very hard to do conceptually, explain your most painful mistake and how you fixed it, explain something you are most proud of, explain something you wish you could have done better, and finally describe what you think you learned most successfully through writing the software.
Choose a recent research paper from a compiler conference, such as PLDI, LLVM Developer Meetings, CC, or OOPSLA. Read it, understand it, and present it to me. Your presentation should explain its purpose, the problem it addresses, how it tries to solve it, how it evaluates itself, how you evaluate it, and what you learned from this effort.