Category Archives: 5. Courses

From Chat Bot to AI (Student Project, TU Berlin, Winter 2016/17)

Project name From Chat Bot to AI
Project logo  
Project vision The project management tool “RPLAN” makes it possible to plan projects efficiently and transparently. The user’s planning effort should be as small as possible. This will be achieved through a smart product which proposes further steps independently to the customer. For this purpose, RPLAN is connected to the web interface “Slack”, automating the planning process using natural language.
Industry partner Actano GmbH
Student team
Project summary Arrow.js supports the user to identify the correlation between multiple contexts and a single file. We score the relation between different resources. As the result the user gets a score, which describes the probability of a connection between these data sets. This service is accessible through a REST call.
Illustration N/A
Source code
Materials N/A

Chaos Testing (Student Project, FU Berlin, Summer 2016)

Project name Chaos Testing
Project logo  
Project vision A system to test, if new data and code versions for the DB ticket booking system are valid. The system is deployed in a Docker container to be used in a continuous delivery process. The data and code versions are integrated into a VM, given to us by DB Systel, which can get booking requests and replies with the same information the DB booking site would. By validating, if these replies are what we expected, we can detect if the new code has errors a lot faster than before, thus improving overall developing speed of DB Systel.
Industry partner DB Systel
Project summary See project vision
Illustration See final project presentation
Source code
Materials Final project presentation

Teaching Materials for Agile Methods Course

I finally put my teaching materials for my agile methods course on this website. The slides are available in “source” form, i.e. Open/LibreOffice format, as well as PDFs. I also added supplementary materials like the videos I use for illustration purposes. The slides are made available using the Creative Commons BY-SA license and are based on a course I’ve been giving several times now. It is far from being perfect but obviously good enough for a real course. Feel free to use or copy from the slides for your own courses!

My goal is to keep improving the slides. I expect there to be a new version every year or maybe every semester. For me, this is an experiment. I honestly don’t know how to collaborate around a format like ODP and ODT. It sure doesn’t feel like source code. So, my best suggestion is that if you find this useful and would like to see it improve in a direction that suits you, please let me know of your suggestions. I might then incorporate the suggested changes into the slide set. In general, my philosophy is that the content will grow, but ideally in a consistent fashion.

Agile Methods Course at Tsinghua University

Update 2012-03-28: I made the course slides available to the public.

I just finished teaching a one-week course on agile methods at Tsinghua University, the top (mainland) Chinese engineering school and one of the two leading Chinese universities. My host told me that I was the first non-Chinese-speaking lecturer to have held such a short course, not only in Computer Science but at Tsinghua as a whole. (I’m sure there have been plenty of prior foreign lecturers, but apparently I was the first one not to teach for a whole semester, but only for this condensed one-week half-day type of course). Yay! Adventure and breaking new grounds is still possible on this planet.

Moreover, with my research partner Prof. Bai, I’ll be leading a joint distributed agile software development project, involving student teams from both Tsinghua University (THU) and Friedrich-Alexander University (FAU). The goal of the project is to learn about what makes or breaks distributed agile development. We’ll start with simple hypotheses but hope to grow this into something larger. We already have student teams, but are looking for more. If you are a software engineering student at either THU or FAU, please come and talk to us!


“Startupinformatik” is a German term for “informatics (computer science) for startups” that I just made up. It is intended to be close to “Wirtschaftsinformatik”, which is German for “informatics for businesses”. So it is about the business of startups and the role software (IT) plays in it. You can read my prior thoughts


Teaching Note for Case "User-Generated Content Systems at Intuit(A)" E-381(A)

Abstract: This is a teaching note for the free case “User-Generated Content Systems at Intuit(A)”, E-381(A), from the Stanford Free Case collection available at ECCH. The original case is a product management case in which Intuit, maker of consumer and small business financial software, faces the decision to “go social or not” for user help in its tax preparation software. The original case discusses the pros and cons of such a disruptive innovation. This teaching note provides pertinent questions to ask your students as well as my summary answers to these questions. I could not find an original teaching note hence I wrote this one. This is my first such note so any suggestions for improvement are welcome. The note is licensed CC-BY-SA 3.0; feel free to use it in your own teaching. The note’s home is my website. For attribution, please link to it.

Continue reading

The Java IP Story

Every year, I teach the AMOS class, a lab course on “Agile Methods and Open Source” that combines lectures with a real software project that ideally turns into a startup (see the AMOS Project concept, in German). To explain open source, I have to introduce students to intellectual property rights, of which most have been blissfully unaware of until then. Nothing teaches concepts better than a colorful story, and so I have been using the IP strategies around Java to make this dry topic come alive. For fun, comments, and corrections, I’m providing the short version of my talk below, including commentary. (You can also download a PDF version of the talk, licensed as CC-BY 3.0. If you find this useful for teaching, please tell me.) Students at this point have a basic working understanding of intellectual property and exclusion rights. Please let me know what you think! Finally, IANAL.

Java is an important technology powering the modern web and in particular enterprise applications. It has a checkered intellectual property history, and with the recent acquisition of Sun, the Java creator and owner, by Oracle, things only stand to heat up. This slide set discusses some of the more interesting issues around Java intellectual property and its strategic use in business.

  1. What is Java?
  2. Short Java IP Story Time-Line
  3. Three Substories
  4. Java’s Challenge to the Windows Platform
  5. Microsoft and Java
  6. The OpenJDK Strategy (Open Core Model)
  7. Certification of Compatible Implementations
  8. Threats to Commercial Revenue
  9. Main Tools to Curtail “Competitors”
  10. Problems for Alternative Implementations
  11. Problems for OpenJDK Forks
  12. Thank you! and References

Continue reading