In recent months I've been working on a project, and two weeks from now I'm leaving the company. I've scheduled a 4-hour training session next week in order to train my colleagues (the team leader and fellow programmers) on this project. One of the programmers has already written some code in it, so I'm not leaving the team with zero knowledge, but I'd like the others to be experts as well. The project has a few thousand lines of code, it includes some concepts which are new to the team (such as ORM and IoC), and due to its central role it will probably be heavily maintained in the future.
So far I've written two presentations about different modules of the project, so these presentations can be used both for the current session and for training programmers that will come to the team in the future.
From your experience, how can I make this session fun and effective? I really want this application to be maintained well, I'd like to leave a "fine legacy", so that the code will be maintained in the same spirit that I intended it to be.