The Media Informatics and Multimedia Systems group is dedicated to teaching programming, Web technologies, media processing, and human-computer interaction (HCI) for Bachelor and Master students.
Practical assignments offer the student an opportunity to deeply understand the methods in the context of the development of interactive systems. Most of our modules are offered as lectures along with practical exercises. The students work in teams of three students and design, implement, and evaluate a prototypical system. In these projects they need to apply and combine the different theoretical methods and technologies in one projects. Interweaving lectures with the practical steps gives students the theory first and then asks them to reflect and apply it in their projects. Weekly presentations of progress create competition but also confidence about the challenges of interactive systems designed and the development of prototypes. All small teams are supported by team members and tutors for an immersive and intensive education experience. Work in small teams also promotes team-work and collaborative skills, an attribute necessary for real-world software projects.
Research oriented teaching teaching
Our lectures, practical assignments, and topics for bachelor theses and master theses are inspired by our ongoing competitive scientific research projects. As one result of this research-oriented teaching we regularly publish the scientific results of a Bachelor thesis or Master thesis and from lab courses at national and international conferences. This demonstrates the high quality of our teaching and at the same time involves our bachelor and master students early in research. Whenever possible we also financially support the travel of the undergraduate students to the conferences, to immerse them as early as possible in the conference experience.
Basic knowledge of programming is taught to students of computer science in the courses PDA (Programming, Data Structures and Algorithms) and OMP (Object-Oriented Modeling and Programming) in the first two semesters of their bachelor studies. As a member of the Software Lab, we offer more advanced specialized courses in the programming environment. We are particularly interested in helping students practice a clean programming style in order to develop well-maintainable and easily reusable software. Therefore, all programming courses we offer also contain a high practical part.
Advanced programming concepts with Java are taught to students in the module "Advanced Java Technologies". Three courses are offered in this module. In the "Java Practical Course", students learn what possibilities the JDK class library offers and how larger software applications are structured properly. Assigned to the same module is the course "Parallel Programming with Java Threads", which introduces parallel programming, with which many students always have major problems. We also enable students to participate in the informatiCup programming competition of the Gesellschaft für Informatik as part of this module.
All our teaching undergoes internal and external evaluation. Within the team and with the teaching assistants we thoroughly analyze every lecture after each term and adapt the content as well as the organization and assignments. We focus on continuously exchanging the students throughout the term and discussing the course and their experience in class at the end of the term. We very much embrace and appreciate the comments by the students. Based on feedback from the students and the course evaluations, we critically review the content and structure of our courses every year and adjust the content and organization according to these experiences and feedback.