Dr. sc. ETH Zürich

Werbung
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
Herunterladen