Hermann Lehner Dr. sc. ETH Zürich Witikonstrasse 16 8118 Pfaffhausen H +41 78 819 04 52 B [email protected] Í hermann-lehner.com ∗ 25. Oktober 1978 verheiratet, zwei Kinder Berufspraxis 2016–jetzt Dozent für Informatik 100%, ETH Zürich. · Lehraufträge für die Service-Lehre und Informatik Grundausbildung · Projekte im Bereich “Educational Engineering” und “Flipped Classroom” 2014–2016 Senior Software Engineer 80%, Incentage AG, Fehraltorf. · Produkt-Verantwortlicher für das Incentage Process Cockpit. · Development Team-Leader. · Durchführung interner und externer Technologie- und Produktschulungen. Technologien: Java, Spring, Oracle 12c, Solr/Lucene 2011–2014 Senior Software Engineer 100%, Incentage AG, Fehraltorf. · Produkt-Verantwortlicher für die Incentage Middleware Suite. · Verantwortlich für Testing-Framework und Qualitätssicherung. · Durchführung interner und externer Technologie- und Produktschulungen. Technologien: Java/JEE, Oracle 12c 2005–2011 Wissenschaftlicher Assistent 100%, ETH Zürich. · Mitarbeit im “Mobius” EU-Projekt als wissenschaftlicher Assistent (60%). · Unterrichtstätigkeit bei diversen Professoren als Übungsleiter (40%). Technologien: Java, C, C++, MS Visual Basic, Theorem-Beweiser: Coq, Event B, Isabelle Jan–Okt 2004 Software Engineer 80%, ELCA Informatik AG, Zürich. · Mitarbeit am Design einer Softwarelösung für grosse Krankenkassen. · Mitarbeit an der Implementierung eines Grundbuchsystems für den Kanton Zürich. · Implementierung eines Archivierungsprozesses für UBS. Technologien: Java, MS Visual C++, COM, C, Pro*C, PL/SQL, Rogue Wave Source Pro, XML, Delphi Mai–Okt 2001 Praktikant 100%, SAS Institute AG, Brüttisellen. · Erstellung und Durchführung von vier Workshops über die Technologien JSP und LDAP. · Aufbau eines Pilot-Webportals zu Schulungszwecken. · Erstellung und Durchführung eines zweitägigen Kurses zum Thema Portal-Administration. Technologien: SAS, Java, JSP, LDAP, HTML, JS Nov 2000– Jan 2001 Software Engineer 100%, BBT Software AG, Zermatt. · Durchführung von zwei Teilprojekten für eine Branchenlösung für Schreinereien: · Design einer domain-spezifischen Sprache inklusive Interpreter. · Erstellung eines graphischen CNC-Maschinen-Simulators mit CNC-Steuerung. Technologien: MS Visual Basic, MS Access, Oracle 8i, Java 1/4 1998–2000 Freelancer, BBT Software AG. · Mitarbeit am Design und der Programmierung einer Branchenlösung für Krankenkassen. · Aufbau der BBT Software Plattform. Technologien: MS Visual Basic, MS Access Ausbildung 2005–2011 Doktorat, ETH Zürich. Abschluss: Doctor of Science ETH. Chair of Programming Methodology (bis 2008 Teil des Chair of Software Engineering). Supervision: Prof. Dr. Peter Müller. Thema: A Formal Definition of JML in Coq and its Application to Runtime Assertion Checking. 2004–2005 Didaktikstudium, ETH Zürich. Abschluss: Didaktischer Ausweis ETH. Fach: Informatik. 1998–2005 Informatikstudium, ETH Zürich. Abschluss: Dipl. Informatik-Ingenieur ETH. Diplomarbeit in der Gruppe für Informatik-Didaktik an der ETH Zürich. Supervision: Ruedi Arnold, Prof. Dr. Werner Hartmann. Thema: Ein semantischer und lösungsorientierter Link-Checker für swisseduc.ch. 1993–1998 Mittelschule, Kollegium “Spiritus Sanctus”, Brig. Abschluss: Matura Typus C Unterrichtstätigkeit Wenn nicht anders angegeben, handelt es sich pro Iteration um 14 Wochen à zwei Unterrichtsstunden, inklusive Prüfungsvorbereitung, -durchführung und -korrektur. 2014–2015 Case Studies from Practice, ETH Zürich, Referent. Drei Vorlesungsstunden. Thema: “Of joyful product development and why size doesn’t matter”, zwei Iterationen. 2011–2015 Incentage Training Week, Incentage AG, Kursleiter. Einwöchige Produktschulung für Kunden aus dem Bankensektor, vier Iterationen. 2006–2011 Kernfach Software Engineering, ETH Zürich, Assistent. Mit Prof. Dr. Peter Müller (2007–2008 mit Prof. Dr. Bertrand Meyer), sechs Iterationen. 2006–2011 Kompaktkurs Projektmanagement mit MS Project, ETH Zürich, Co-Referent. Zweitägiger Kurs für Teilnehmer aus Wirtschaft und Industrie mit Prof. Dr. Peter Müller, vier Iterationen. 2010 Informatik für Mathematiker und Physiker, ETH Zürich, Assistent. Mit Prof. Dr. Juraj Hromkovic und Dr. Bernd Gärtner. 2009 Seminar Software Engineering, ETH Zürich, Tutor. Mit Prof. Dr. Peter Müller und Dr. Laura Kovacs. 2006–2008 Einführung in die Programmierung, ETH Zürich, Assistent. Mit Prof. Dr. Bertrand Meyer, drei Iterationen. 2005 Seminar Specification and Verification of OO-Software, ETH Zürich, Tutor. Mit Prof. Dr. Peter Müller und Prof. Dr. Daniel Kröning. 2005 Informatik Projektentwicklung, ETH Zürich, Assistent. Mit Prof. Dr. Peter Müller. 2/4 2005 Informatik L1, NTB Buchs, Praktikant. Mit Prof. Rolf Grun, zehn Lektionen im Rahmen der Didaktik-Ausbildung. 2005 Begleiteter Unterricht C-Kurs, NTB Buchs, Praktikant. Mit Prof. Rolf Grun, neun Lektionen im Rahmen der Didaktik-Ausbildung. 2005 Software Engineering, NTB Buchs, Praktikant. Mit Prof. Rolf Grun, vier Lektionen im Rahmen der Didaktik-Ausbildung. 2002–2003 Anwendungsnahes Programmieren, ETH Zürich, Hilfsassistent. Mit Dr. Bettina Bauer, zwei Iterationen. 2002–2003 Informatik Nachhilfekurs, ETH Zürich, Kursleiter. Einwöchiger Nachhilfekurs für Erstsemestrige in den Semesterferien, zwei Iterationen. 2001–2003 Vernetzte Systeme, ETH Zürich, Hilfsassistent. Mit Prof. Dr. Friedemann Mattern, drei Iterationen. Betreuung von Masterarbeiten 2015 2009 2008 2007 2007 2006 2006 Lukas Hofmaier, Static checking for a financial messaging DSL. Roman Fuchs, Software Engineering Modules for the CS Talent Scout. Andreas Kägi, Embedding JML-annotated Programs in the Coq Proof System. Claudia Brauchli, Integration of a new VCGen in ESC/Java2. Samuel Willimann, An Automated Program Verifier for Java Bytecode. Ovidio Mallo, A Translator from BML annotated Java Bytecode to BoogiePL. Alex Suzuki, Formalization and implementation of translation from Java Bytecode to Guarded Commands. Vorträge 2005–2011 Informatik in der Praxis, Frauenfürderung des D-INFK, ETH Zürich. Ein Überblick der verschiedenen Aspekte von Software Engineering, sechs Iterationen. 2006–2008 Linux Crash Kurs, Frauenfürderung des D-INFK, ETH Zürich. Eine Einführung in Linux für Studierende im ersten Semester, zwei Iterationen. 2006–2008 Hardware Crash Kurs, Frauenfürderung des D-INFK, ETH Zürich. Eine Einführung in Computer Hardware für Studierende im ersten Semester, zwei Iterationen. 2007 Formal Translation of Bytecode into BoogiePL, ETAPS Workshop 2007, Braga, Portugal. 2007 Summary Talk eines Teilprojekts im “Mobius” EU Projekt, UCD, Dublin, Irland. Als Stellvertreter von Prof. Dr. Peter Müller. 2007 Präsentation unserer Forschungsarbeit im “Mobius” EU Projekt, UCD, Dublin, Irland. Hochschulpolitische Aktivitäten 2005–2010 Unterrichtskommission des D-INFK, Vorsitz. Ein Gremium am Departement Informatik der ETH Zürich, welches über sämtliche für die Lehre entscheidenden Sachverhalte befindet. 2007–2010 Verein des Mittelbaus der Informatik an der ETH Zürich (VMI), Revisor. 3/4 2005–2008 2004–2005 2004 2003–2004 Verein der Informatikstudierenden der ETH Zürich (VIS), Revisor. Geschäftsprüfungskommission des VSETH, Mitglied. Akademischer Sportverband Zürich (ASVZ), Vorstandsmitglied. Verband der Studierenden an der ETH Zürich (VSETH), Vorstandsmitglied. Ressort: Information und Kommunikation. 2002–2004 Fachvereinsrat des VSETH, Präsident. Ein hochschulpolitisches Gremium des VSETH, bestehend aus Vertretern aller 14 Fachvereine der ETH Zürich 2002–2003 Verein der Informatikstudierenden der ETH Zürich, Präsident. 1999–2003 Verein der Informatikstudierenden der ETH Zürich, Vorstandsmitglied. Ressorts: Hochschulpolitik, Verlag, Infrastruktur. Sprachen Deutsch Englisch Französisch Muttersprache Sehr gut in Wort und Schrift Schulkenntnisse Referenzen Auf Anfrage Publikationen 1 Hermann Lehner. A Formal Definition of JML in Coq and its Application to Runtime Assertion Checking. PhD thesis, ETH Zurich, Switzerland, 2011. 2 H. Lehner and P. Müller. Efficient runtime assertion checking of assignable clauses with datagroups. In D. Rosenblum and G. Taentzer, editors, Fundamental Approaches to Software Engineering (FASE), volume 6013 of Lecture Notes in Computer Science, pages 338–352. Springer-Verlag, 2010. 3 A. Kägi, H. Lehner, and P. Müller. A formalization of JML in the Coq proof system. Technical Report 714, ETH Zurich, 2010. 4 H. Lehner and P. Müller. Formal translation of Bytecode into BoogiePL. In M. Huisman and F. Spoto, editors, Bytecode Semantics, Verification, Analysis and Transformation (BYTECODE), volume 190(1) of Electronic Notes in Theoretical Computer Science, pages 35–50, 2007. 4/4