I have been involved in higher education as a teacher from my third semester as a bachelor student onward. During the following years of constant teaching assignments, I have taken up many roles, from tutor to lab supervisor to lecturer to course responsible and I have supervised seminar, bachelor, and master theses. I have created several new courses, taken part in international teaching exchanges, and received extensive pedagogical training. In fall 2015, I was nominated for the award for good teaching by the Faculty of Information Systems and Applied Computer Science at the University of Bamberg.

My teaching rationale is that education in computer science in general and software engineering in particular thrives through the practical application of theory. To achieve a true understanding of a subject, students should not only be taught theory and methods, but they should be supported in applying the theory as often and as soon as possible during a course. I have made the experience that through a guided practical application of the topics of a course, for instance in the form of programming exercises and assignments, the students reach a deeper level of understanding. Moreover, the students foster creativity and problem solving skills, next to the actual content of a course. I have found that positive experiences through early successes in small exercises help to fascinate students for a topic and to maintain their motivation for larger assignments and tasks. Apart from practical exercises, I think that students should work in teams. Team work and social skills are indispensable in today’s workplace and, therefore, students should train these skills as soon as possible.

Course Supervision and Teaching Responsibilities

I have participated in the teaching of various courses at the University of Bamberg (before 2016) and at Karlstad University (2016 onward). I am used to the application of different styles of teaching and presentation methods, as well as online learning platforms. My teaching responsibilities included the following courses:

  • Software Systems Architecture (Fall 2017)
  • Software Engineering (Fall 2017)
  • Software Engineering Project (Fall 2016)
  • Software Engineering (Fall 2016)
  • Master Seminar in Distributed Systems (Fall 2015)
  • Advanced Java Programming (Summer 2011, 2012, 2013, 2014, 2015)
  • Programming of Complex Interacting Systems (Fall 2011, 2012, 2013, 2014, 2015)
  • Introduction to Distributed Systems (Summer 2011, 2012, 2014)
  • Distributed Systems Project (Fall 2013, 2014, Summer 2015)
  • Introduction to Algorithms, Programming, and Software (Fall 2014)
  • Bachelor Seminar in Distributed Systems (Fall 2013)

Pedagogical Training

I have obtained a “Certificate for Teaching in Higher Education of the Bavarian Universities” from the Skill Centre for University Teaching (Fortbildungszentrum Hochschullehre) of the Universities of Bamberg, Bayreuth, and Erlangen-Nuremberg totaling 152 units (45 minutes each) of training sessions.

Courses taken:

  • Teaching Abroad: Intercultural Know-How and Classroom English Skills
  • Sovereignty and Serenity
  • Effective Application and Efficient Evaluation of Term Papers
  • Understanding and Incorporating Body Language
  • Copyright Laws in Teaching and Research – A Series of Case Studies
  • Mnemonic Training in Teaching
  • Teaching-related Stress: Strategies for Coping and Prevention
  • Finding Your Voice
  • Conflict and Negotiation
  • Teaching Writing Skills at the University
  • Project Management – Supervision of Final Papers
  • Effective Methods of Evaluation and Feedback
  • Examination Rights and Legal Policies
  • Speed Reading
  • Time and Self-Management in University Teaching
  • The Legal Foundations of University Education

International Teaching Exchange

In September and October 2012, I was visiting the Software Engineering Research Lab at the Blekinge Institute of Technology in Karlskrona, Sweden, as a guest lecturer. The exchange was funded by the ERASMUS STA1 program for teacher mobility. I was giving guest lectures in the following courses:

  • Software Architecture
  • Mobile Services
  • Initial Programming in Java
  • Service Design and Sustainable Development

Supervised Theses

  • Matthias Weiß, 2015, Bachelor Thesis: “Continuous Inspection for Process-Aware Information Systems with Sonarqube”
  • Stefan Kolb, 2012, Master Thesis: “Integrating Heterogeneous Process-Based Systems – A Petri-Net-Based Integration of Windows Workflow and BPEL”

Student Tutor

Besides working as a student tutor in the courses listed below during my studies at the University of Bamberg, I was also supporting the student counseling.

  • Introduction to Algorithms, Programming, and Software (Fall 2010)
  • Software Engineering (Summer 2009, 2010)
  • Introduction to Computer Science (Fall 2008, 2009)
  • Java Practical (Fall 2008, 2009)
  • Algorithms and Data Structures (Summer 2007)
  • Introduction to Information Systems (Fall 2006)