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 man­age­ment tool “RPLAN” makes it pos­si­ble to plan projects effi­cient­ly and trans­par­ent­ly. The user’s plan­ning effort should be as small as pos­si­ble. This will be achieved through a smart pro­duct which pro­pos­es fur­ther steps inde­pen­dent­ly to the cus­tomer. For this pur­pose, RPLAN is con­nect­ed to the web inter­face “Slack”, automat­ing the plan­ning process using nat­u­ral lan­guage.
Indus­try part­ner Actano GmbH
Stu­dent team
Project sum­ma­ry Arrow.js sup­ports the user to iden­ti­fy the cor­re­la­tion between mul­ti­ple con­texts and a sin­gle file. We score the rela­tion between dif­fer­ent resources. As the result the user gets a score, which describes the prob­a­bil­i­ty of a con­nec­tion between the­se data sets. This ser­vice is acces­si­ble through a REST call.
Illus­tra­tion N/A
Source code
Mate­ri­als N/A

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

Project name Chaos Test­ing
Project logo  
Project vision A sys­tem to test, if new data and code ver­sions for the DB tick­et book­ing sys­tem are valid. The sys­tem is deployed in a Dock­er con­tain­er to be used in a con­tin­u­ous deliv­ery process. The data and code ver­sions are inte­grat­ed into a VM, given to us by DB Sys­tel, which can get book­ing requests and replies with the same infor­ma­tion the DB book­ing site would. By val­i­dat­ing, if the­se replies are what we expect­ed, we can detect if the new code has errors a lot faster than before, thus improv­ing over­all devel­op­ing speed of DB Sys­tel.
Indus­try part­ner DB Sys­tel
Project sum­ma­ry See project vision
Illus­tra­tion See final project pre­sen­ta­tion
Source code
Mate­ri­als Final project pre­sen­ta­tion

Teaching Materials for Agile Methods Course

I final­ly put my teach­ing mate­ri­als for my agile meth­ods course on this web­site. The slides are avail­able in “source” form, i.e. Open/LibreOffice for­mat, as well as PDFs. I also added sup­ple­men­tary mate­ri­als like the videos I use for illus­tra­tion pur­pos­es. The slides are made avail­able using the Cre­ative Com­mons BY-SA license and are based on a course I’ve been giv­ing sev­er­al times now. It is far from being per­fect but obvi­ous­ly good enough for a real course. Feel free to use or copy from the slides for your own cours­es!

My goal is to keep improv­ing the slides. I expect there to be a new ver­sion every year or may­be every semes­ter. For me, this is an exper­i­ment. I hon­est­ly don’t know how to col­lab­o­rate around a for­mat like ODP and ODT. It sure doesn’t feel like source code. So, my best sug­ges­tion is that if you find this use­ful and would like to see it improve in a direc­tion that suits you, please let me know of your sug­ges­tions. I might then incor­po­rate the sug­gest­ed changes into the slide set. In gen­er­al, my phi­los­o­phy is that the con­tent will grow, but ide­al­ly in a con­sis­tent fash­ion.

Agile Methods Course at Tsinghua University

Update 2012-03-28: I made the course slides avail­able to the pub­lic.

I just fin­ished teach­ing a one-week course on agile meth­ods at Tsinghua Uni­ver­si­ty, the top (main­land) Chi­ne­se engi­neer­ing school and one of the two lead­ing Chi­ne­se uni­ver­si­ties. My host told me that I was the first non-Chinese-speaking lec­tur­er to have held such a short course, not only in Com­put­er Sci­ence but at Tsinghua as a whole. (I’m sure there have been plen­ty of pri­or for­eign lec­tur­ers, but appar­ent­ly I was the first one not to teach for a whole semes­ter, but only for this con­densed one-week half-day type of course). Yay! Adven­ture and break­ing new grounds is still pos­si­ble on this plan­et.

More­over, with my research part­ner Prof. Bai, I’ll be lead­ing a joint dis­trib­ut­ed agile soft­ware devel­op­ment project, involv­ing stu­dent teams from both Tsinghua Uni­ver­si­ty (THU) and Friedrich-Alexander Uni­ver­si­ty (FAU). The goal of the project is to learn about what makes or breaks dis­trib­ut­ed agile devel­op­ment. We’ll start with sim­ple hypothe­ses but hope to grow this into some­thing larg­er. We already have stu­dent teams, but are look­ing for more. If you are a soft­ware engi­neer­ing stu­dent at either THU or FAU, please come and talk to us!


Star­tupin­for­matik” is a Ger­man term for “infor­mat­ics (com­put­er sci­ence) for star­tups” that I just made up. It is intend­ed to be close to “Wirtschaftsin­for­matik”, which is Ger­man for “infor­mat­ics for busi­ness­es”. So it is about the busi­ness of star­tups and the role soft­ware (IT) plays in it. You can read my pri­or thoughts 


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

Abstract: This is a teach­ing note for the free case “User-Generated Con­tent Sys­tems at Intuit(A)”, E-381(A), from the Stan­ford Free Case col­lec­tion avail­able at ECCH. The orig­i­nal case is a pro­duct man­age­ment case in which Intu­it, mak­er of con­sumer and small busi­ness finan­cial soft­ware, faces the deci­sion to “go social or not” for user help in its tax prepa­ra­tion soft­ware. The orig­i­nal case dis­cuss­es the pros and cons of such a dis­rup­tive inno­va­tion. This teach­ing note pro­vides per­ti­nent ques­tions to ask your stu­dents as well as my sum­ma­ry answers to the­se ques­tions. I could not find an orig­i­nal teach­ing note hence I wrote this one. This is my first such note so any sug­ges­tions for improve­ment are wel­come. The note is licensed CC-BY-SA 3.0; feel free to use it in your own teach­ing. The note’s home is my web­site. For attri­bu­tion, please link to it.

Con­tin­ue read­ing

The Java IP Story

Every year, I teach the AMOS class, a lab course on “Agile Meth­ods and Open Source” that com­bi­nes lec­tures with a real soft­ware project that ide­al­ly turns into a star­tup (see the AMOS Project con­cept, in Ger­man). To explain open source, I have to intro­duce stu­dents to intel­lec­tu­al prop­er­ty rights, of which most have been bliss­ful­ly unaware of until then. Noth­ing teach­es con­cepts bet­ter than a col­or­ful sto­ry, and so I have been using the IP strate­gies around Java to make this dry top­ic come alive. For fun, com­ments, and cor­rec­tions, I’m pro­vid­ing the short ver­sion of my talk below, includ­ing com­men­tary. (You can also down­load a PDF ver­sion of the talk, licensed as CC-BY 3.0. If you find this use­ful for teach­ing, please tell me.) Stu­dents at this point have a basic work­ing under­stand­ing of intel­lec­tu­al prop­er­ty and exclu­sion rights. Please let me know what you think! Final­ly, IANAL.

Java is an impor­tant tech­nol­o­gy pow­er­ing the mod­ern web and in par­tic­u­lar enter­prise appli­ca­tions. It has a check­ered intel­lec­tu­al prop­er­ty his­to­ry, and with the recent acqui­si­tion of Sun, the Java cre­ator and own­er, by Ora­cle, things only stand to heat up. This slide set dis­cuss­es some of the more inter­est­ing issues around Java intel­lec­tu­al prop­er­ty and its strate­gic use in busi­ness.

  1. What is Java?
  2. Short Java IP Sto­ry Time-Line
  3. Three Sub­sto­ries
  4. Java’s Chal­lenge to the Win­dows Plat­form
  5. Microsoft and Java
  6. The Open­JDK Strat­e­gy (Open Core Mod­el)
  7. Cer­ti­fi­ca­tion of Com­pat­i­ble Imple­men­ta­tions
  8. Threats to Com­mer­cial Rev­enue
  9. Main Tools to Cur­tail “Com­peti­tors”
  10. Prob­lems for Alter­na­tive Imple­men­ta­tions
  11. Prob­lems for Open­JDK Forks
  12. Thank you! and Ref­er­ences

Con­tin­ue read­ing