We describe the implementation of and our experiences with a capstone course on wavelet based image compression held at the Berlin University of Technology in the years 2002 to 2006. This course has been designed as an ``integrated project'', which means that it combines lectures, seminar talks to be prepared and held by the students, and a programming part. The design goal of this course has been to provide all the necessary theoretical knowledge to understand the concepts behind image compression technologies, such as JPEG2000. We are also aiming at simulating the work-flow as found within an IT company as realistically as possible, preparing electrical engineers and computer scientists as well as possible for their professional life. This training does not only include the technical, but also the social skills required to successfully complete larger projects. The subject of image compression offers the advantage of requiring a solid knowledge on terms of information science such as entropy, distortion, quantization, Fourier and wavelet-transformation, but also offering a direct visual feedback of how these techniques perform. Therefore, we believe that image compression is an attractive topic to be used for a capstone course. Traditionally, a course would assign weekly programming exercises to the students; however, we believe this to be unsuitable for a capstone course as it does not simulate the work-flow of a professional software development team; furthermore, it does not require the degree of team-work we deem critical to modern software development. Thus, we divide students into groups of two to four people and assign each team to one sub-task of an image codec and provide some boiler-plate code of our own. Much to their astonishment, students soon find themselves spending a considerable amount of time with project management and coordination activities. That means, teams have to design interfaces and data structures to combine their efforts to create a working project, which adds an often underestimated social component to the course. With some guidance from the teachers, students have always been able to supply a working code at the end of the semester. Needless to say, the thrill of having a nontrivial working program at the end of the course is a major source of motivation for our students and adds much to the satisfaction and positive feedback we receive.