Jana Koehler's Teaching Activities


Powerpoint versions of slides available on request...

Teaching at HSLU

Note that slides are mostly in german ...

Software Quality and Refactoring

Refactoring is a systematic approach to improve the quality of code and its underlying design. In this course, students learn and practice systematic refactoring using their own examples or the example projects from Martin Fowler. His large energy billing example (completed with some additional code pieces and tests) contains "nice" bad smells and leads to interesting discussions. The course assumes familiarity with metrics and unit testing in C# or Java.


Exercise projects (from Fowler's Book)

Software Application Architecture - Architectural Thinking

We focus on architectural thinking and learn how architects proceed to systematically derive an architecture that fits the desired purpose of the to-be-build-software. Students use an example project of their own choice (often their diploma thesis software project) to practice the various concepts.


The example project is based on the Kolumbus Scenario developed by Gregor Engels and his co-authors in the Quasar Enterprise book. I adapted it to application architecture and complemented it with additional information and subtasks to practice architectural thinking. Students can use this project if they do not feel confident to select their own one.

Entprise Architecture

A short introduction into enterprise architecture and its broader focus in comparison to application architecture.


Artificial Intelligence

I teach the initial part of a larger AI course. This part covers a general introduction into the field, the history of AI, recent controversies, the agent metaphor, various search methods, and the basics of planning and scheduling as well as some very basic introduction into problem complexity for undergraduate students without a background in theoretical computer science.


Strategic IT Management

A short course covering selected IT management topics using the classical Weill/Ross model from the MIT Sloan School, project portfolio management, project risks, and recent IT trends such as cloud and big data.


Business Process Management

A course that looks at BPM from both the business and IT perspective with the BPM life cycle in focus. We start with and analysing business processes, implement an example process in a real BPM suite, add business rules to automate decisions and implement monitoring for continuous improvement. We use the Software AG Campus Connect Project for exercises, but implement it with the IBM Process Manager and model with Signavio.



three-day course for 14-16 years old girls that shows the diversity of computer science and allows the girls to be creative (see also flyer). We also do a programming course using Alice, which the girls love very much as the focus is on creativity and story telling, not on the technology. Nevertheless, the girls do amazing things: After seeing a few examples like this one, they create their own worlds and stories. This was the winner of our contest and this one the runner-up. The ITgirls course is very popular and was featured in newspapers and on the radio (NLZ, radio interview, radio report).

Previous selected Teaching


* University of Zurich: Designing Business Process Management Solutions using Open Standards and Patterns, PhD Summer School on Complex Software Systems, September 2009

  1. Slides Part 1: Why BPM?
  2. Slides Part 2: Business Process Modeling Notation BPMN
  3. Slides Part 3: Quality Assurance, Patterns and Anti-patterns
  4. Slides Part 4: Beyond Process Modeling

* ETH Zurich: Fallstudien aus der Praxis, guest lecture website (with Olaf Zimmermann), May 2009


* ETH Zurich: Enterprise Application Integration, slides of guest lecture (with Ksenia Wahler), November 2008

Last update August 2, 2016.