<?xml version="1.0" encoding="utf-8"?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HEAD><TITLE> Christian Urban </TITLE><BASE HREF="http://nms.kcl.ac.uk/christian.urban/"><script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-4143458-4']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();</script></HEAD><BODY TEXT="#000000" BGCOLOR="#4169E1" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"><TABLE WIDTH="100%" BGCOLOR="#4169E1" BORDER="0" FRAME="border" CELLPADDING="10" CELLSPACING="2" RULES="all"><!-- left column --><TR><TD BGCOLOR="#FFFFFF" WIDTH="24%" VALIGN="TOP" ROWSPAN="19"><B>Links</B><BR><A HREF="http://nms.kcl.ac.uk/christian.urban/">Home</A><BR><A HREF="http://nms.kcl.ac.uk/christian.urban/publications.html">Publications</A><BR><A HREF="http://nms.kcl.ac.uk/christian.urban/teaching.html">Teaching</A><BR><A HREF="http://nms.kcl.ac.uk/christian.urban/travelling.html">Recent Talks</A><BR><A HREF="http://nms.kcl.ac.uk/christian.urban/Nominal/">Nominal Isabelle</A><BR><BR><B>Handy Information</B><BR><A HREF="http://nms.kcl.ac.uk/christian.urban/logic.html">People in Logic</A><BR> <A HREF="http://nms.kcl.ac.uk/christian.urban/programming.html">Programming Languages</A><BR> <A HREF="http://nms.kcl.ac.uk/christian.urban/misc.html">Miscellaneous</A><BR><BR><table border="0"><tr><td><A HREF="http://nms.kcl.ac.uk/christian.urban/Nominal/"><IMG SRC="nominal-logo.gif" ALT="" style="border-width: 0px;" align="left"></A></td></tr><tr><td><A HREF="http://nms.kcl.ac.uk/christian.urban/Cookbook/"><IMG SRC="Cookbook/logo-documentation.gif" ALT="" style="border-width: 0px;" align="left"></A></td></tr></table></TD><!-- right column --><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H2>Teaching</H2><p>Undergraduate students who have written dissertations under my supervision:<ul><li>Dominik Wee (2002-2003, King's College, Cambride; now at McKinsey in Munich) Part-II dissertation: An Implementation of Alpha-Prolog, A Logic Programming Language with Support for Binding Syntax (out of 84 dissertations, Dominik's thesis received the Data Connection prize for the highest number of marks awarded in 2003)</li><li>Lisa White (2003-2004, Corpus, Cambridge) Part-II dissertation: Hal 2004, A Nominal Theorem Prover</li><li><A HREF="http://www.pps.jussieu.fr/~tasson">Christine Tasson</A> (2004, ENS Cachan, France; now in the PPS group in Paris) Induction Principles for Alpha-Equated Lambda-Terms(the paper coming out of this work was presented at CADE)</li><li><A HREF="http://www.lsv.ens-cachan.fr/~arnaud">Mathilde Arnaud</A> (2007, ENS Cachan, France, works now at the CEA in Saclay, France) Formalization of Generative Unbinding</li><li>Akhil Junghare (MSc 2011-2012, King's, mark: 68%) Lexing and Parsing using Derivatives</li><li>Darius Hodaei (MSc 2011-2012, King's, mark: 88%, works now at Microsoft Skype in London)A Compiler for System F</li><li>Jian Jiang (MSc 2011-2012, King's) Suffix Array Sorting, received the prize of the best MSc thesis in 2012</li><li>Mateusz Bieniek (BSc 2012-2013, King's, mark: 80%, works as developer at RedBite in Cambridge and starts a MSc in Bioinformatics at Imperial) X86-Code Generator for a small Compiler</li><li>Daniel Zurawski (BSc 2012-2013, King's, mark: 75%, works now at MailOne) Lisp to JavaScript Translator in Clojure</li><li>Biljana Naumova (BSc 2012-2013, King's) Regular Expression Equivalence Checking using Asperti's Algorithm</li><li>Spencer Jevon (BSc 2012-2013, King's, mark: 73%) Automata Minimisation using Brzozowski's Algorithm</li><li>Maciej Surmacz (MSc 2012-2013, King's) A Student Polling System</li><li>Fahad Ausaf (MSc 2012-2013, King's, mark: 78%, is now doing a PhD at King's under my supervison)MS IL Code Generator for a Simple Compiler</li><li>Schwit Janwityanujit (MSc 2012-2013, King's) Syntax Highlighting in Web-Browsers</li><li>Mark Sangster (MSci 2013-2014, King's, mark: 80%) Regular Expression Matching and Partial Derivatives</li><li>Lisethe Sanmartin (BSc 2013-2014, King's), Raspberry Pi Weather Station</li><li>Gerwin Glorieux (BSc 2013-2014, King's, mark 80%) A Student Polling System</li><li>Anna Bladzich (MSci 2013-2014, King's, mark: 65%) Implementation of a Distributed Clock-Synchronisation Algorithmdeveloped at NASA</li><li>Ben Lertlumprasertkul (BSc 2013-2014, King's) An Online Collaboration System</li><li>Pawel Huszcza (MSci 2013-2014, King's, mark: 65%) A Simple Compiler Targeting the LLVM</li><li>Jan Soendermann (BSc 2013-2014, King's, mark: 85%, studies for his MSc at Cambridge University)A Lisp Compiler Targeting JavaScript/Asm.js</li><li>Ritu Kundu (MSc 2013-2014, King's, mark 79%) Modern Slide-Making in Elm and JavaScript</li><li>Vladislav Kononov (MSc 2013-2014, King's, mark 75%, works for RBS)Regular Expression Matching with Derivatives</li> <li>Daniel Martinez (MSc 2013-2014, King's, mark 73%) Raspberry Pi Network</li><li>Kintesh Patel (BSc 2014-2015, King's, mark 75%) Slide-Making in the Web-Age</li> <li>Vishvadeep Kadian (BSc 2014-2015, King's, mark 70%) Home Control, Automation & Management System Optimised for the Raspberry Pi</li><li> ...</ul><p>I was awarded in 2014 the prizes for both, best supervisor for BSc and best supervisorfor MSc projects, in the Faculty of Natural and Mathematical Sciences.</p><p>Examiner of PhD-theses:<ul><li>Dragisa Zunic (2007, ENS in Lyon)<li>Clement Houtmann (2010, INRIA Bordeaux)<li>Nikolai Sultana (2014, Cambridge)<li>Andrew Boyton (2014, UNSW Australia)<li>Amy Furniss (2015, Leicester)<li>Julian Hedges (2016, QMUL London)<li>Ana Cristina Rocha-Oliveira (2016, University of Brasilia)</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2017-2018</H3><ul><li>Compilers and Formal Languages<li>Security Engineering<li>Practical Experiences of Programming (Scala Part, 3 weeks)</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2016-2017</H3><ul><li>Compilers and Formal Languages<li>Security Engineering<li>Practical Experiences of Programming (Scala Part, 3 weeks)</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2015-2016</H3><ul><li>Automata and Formal Languages<li>Security Engineering</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2014-2015</H3><ul><li>Automata and Formal Languages course<li>Access Control and Privacy Policies</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2013-2014</H3><ul><li>Automata and Formal Languages course<li>Access Control and Privacy Policies</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2012-2013</H3><ul><li>Automata and Formal Languages course<li>Access Control and Privacy Policies</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2011-2012</H3><p><B>Autumn</B><ul><li>Course on Access Control and Privacy Policies (at King's; original course by Steve Barker)</ul><p><B>Spring</B><ul><li>Help Steffen Zschaler with the Programming Application course; Iam resposible for the exercises and the Scala part</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2010-2011</H3><p><B>Spring</B> <ul><li>one-day tutorial on Nominal Isabelle at POPL'11 with Cezary Kaliszyk</ul><p><B>Autumn</B> <ul><li>Types course at the University of Cambridge (Mondays, Wednesdays and Fridays at 10 o'clock in Lecture Theater 2, starting 8th October)[<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture1.pdf">Lec 1</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture2.pdf">Lec 2</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture3_script.pdf">Lec 3</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture4_script.pdf">Lec 4</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture5_script.pdf">Lec 5</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture6_script.pdf">Lec 6</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture7_script.pdf">Lec 7</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/types/raw-file/tip/lecture8.pdf">Lec 8</A>]<li>two-day Isabelle/Isar tutorial at the University Paris Sud with Markus Wenzel</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2009-2010</H3><p><B>Summer</B> <ul><li>a course on Isabelle Programming at the University of Science and Technology in Nanjing (24 hours) [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec01.thy">Lec 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec02.thy">Lec 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec03.thy">Lec 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec04.thy">Lec 4</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec05.thy">Lec 5</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec06.thy">Lec 6</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec07.thy">Lec 7</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec08.thy">Lec 8</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec09.thy">Lec 9</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec10.thy">Lec 10</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec11.thy">Lec 11</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/cgi-bin/repos.cgi/nanjing lectures/raw-file/tip/Lec12.thy">Lec 12</A>] </ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2008-2009</H3><p><B>Summer</B> <ul><li>a <A HREF="http://nms.kcl.ac.uk/christian.urban/Nominal/activities/cas09/">course</A> on Isabelle at the Chinese Academy of Science (7.5 h) <li>Pearls in Computer Science, a course for gifted undergraduate students in Munich (5h)</ul><p><B>Autumn</B> <ul><li>a course in <A HREF="http://www.cs.princeton.edu/">Princeton</A> on <A HREF="http://nms.kcl.ac.uk/christian.urban/Teaching/isabelle08.html">Isabelle, Binders and SOS</A> for students and members of the PL group (8h)</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2007-2008</H3><p><B>Sommersemester</B> <ul><li><A HREF="http://nms.kcl.ac.uk/christian.urban/Teaching/semantics08.html">Semantics of Programming Languages</A> (28h)<li>a course on Nominal Isabelle at the<A HREF="http://www.cs.uoregon.edu/research/summerschool/summer08/">Oregon Summer School on Logic and Theorem Proving in Programming Languages</A> (4h)[<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/oregon1.pdf">Slides 1</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/oregon2.pdf">Slides 2</A>][<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/oregon3.pdf">Slides 3</A>][<A HREF="http://www.cs.uoregon.edu/Research/summerschool/summer08/video/July25Lect3.wmv">Video 1</A>][<A HREF="http://www.cs.uoregon.edu/Research/summerschool/summer08/video/July26Lect2.wmv">Video 2</A>][<A HREF="http://www.cs.uoregon.edu/Research/summerschool/summer08/video/July24Lect1.wmv">Video 3</A>]</ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2006-2007</H3><p><B>Wintersemester</B><ul><li>Types course at the TU Munich (21h, slides of [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-01.pdf">Lec 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-02.pdf">Lec 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-03.pdf">Lec 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-04.pdf">Lec 4</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-05.pdf">Lec 5</A>, <A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/handout-05.pdf">Ho 5</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-06.pdf">Lec 6</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-07.pdf">Lec 7</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-08.pdf">Lec 8</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-09.pdf">Lec 9</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-10.pdf">Lec 10</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/types-11.pdf">Lec 11</A>])</li></ul><p><B>Sommersemester</B> <ul><li>A course at the International School on Rewriting (1.5h)</li></ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2005-2006</H3><p><B>Wintersemester</B><ul><li>Scheme course at the LMU (4h)</li> <li>a course on nominal datatypes at the University of Pennsylvania (6.5h, slides of [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/upenn01.ps">Lec 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/upenn02.ps">Lec 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/upenn03.ps">Lec 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/upenn04.ps">Lec 4</A>])</li> <li>Theory-Minicourse on nominal datatypes in Cambridge (4h, slides of [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/cam01.ps">Lec 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/cam02.ps">Lec 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/cam03.ps">Lec 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/cam04.ps">Lec 4</A>])</li> <li>Club2-course on the nominal datatype package at the TU Munich (5h, slides of [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/slides-club2a.pdf">Lec 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/slides-club2b.pdf">Lec 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/slides-club2c.pdf">Lec 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/slides-club2d.pdf">Lec 4</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/slides-club2e.pdf">Lec 5</A>])</li> </ul></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2004-2005</H3><p><B>Wintersemester</B><dl><dd>Scheme course at the LMU (10h) <dd>Linear Algebra for Computer Scientists at the LMU (14h) <dd>Discrete Structures for Computer Scientists at the LMU (12h)</dl><p><B>Sommersemester</B> <dl><dd>A course on my nominal work at the LMU (10h) (slides of [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom01.ps">Lec 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom02.ps">Lec 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom03.ps">Lec 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom04.ps">Lec 4</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom05.ps">Lec 5</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom06.ps">Lec 6</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom07.ps">Lec 7</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom08.ps">Lec 8</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom09.ps">Lec 9</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/nom10.ps">Lec 10</A>])</dl></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2003-2004</H3><p><B>Michelmas</B><dl><dd>Logic and Proof (4h) <dd>Discrete Mathematics I (9h) <dd>Part II project on a Nominal Theorem Assistant (5.5h) <dd>Interviews of new students (13.5h)</dl><p><B>Lent</B> <dl><dd>Computation Theory (3h) <dd>Discrete Mathematics II (8h) <dd>Semantics of Programming Languages (3h) <dd>Part II project on a Nominal Theorem Assistant (9.5h)</dl><p><B>Easter</B> <dl><dd>Regular Languages and Finite Automata (6h) <dd>Foundations of Functional Programming (3h) <dd>Complexity Theory</dl> <p><B>Summer</B><dl><dd>Avanced course on nominal logic at the <a href="http://esslli2004.loria.fr/">ESSLLI</a> summerschool in Nancy<BR> (slides of [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/MONDAY.pdf">Day 1</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/TUESDAY.pdf">Day 2</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/WEDNESDAY.pdf">Day 3</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/THURSDAY.pdf">Day 4</A>] [<A HREF="http://nms.kcl.ac.uk/christian.urban/Slides/FRIDAY.pdf">Day 5</A>]) <dd>student intern from the ENS Cachan</dl></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2002-2003</H3><p><B>Michelmas</B><dl><dd>Logic and Proof (5h) <dd>Discrete Mathematics I (7h) <dd>Part II project on Nominal Unification (7h) <dd>Interviews of new students</dl><p><B>Lent</B> <dl><dd>Computation Theory (5.5h) <dd>Discrete Mathematics II (8.5h) <dd>Part II project (5h)</dl><p><B>Easter</B> <dl><dd>Semantics of Programming Languages (4h) <dd>Regular Languages and Finite Automata (3h) <dd>Part II project (3.5h) </dl></TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>2001-2002</H3><p><B>Michelmas</B><dl><dd> Logic, Computability and Set Theory (for Math students) <dd>Data Structures and Algorithms <dd>Logic and Proof (4h) <dd>Discrete Mathematics I <dd>Interviews of new students</dl><p><B>Lent</B> <dl><dd>Discrete Mathematics II <dd>Semantics of Programming Languages <dd>Computation Theory <dd>Probablility </dl><p><B>Easter</B> <dl><dd>Regular Languages and Finite Automata <dd>Complexity Theory</dl> </TD></TR><TR><TD BGCOLOR="#FFFFFF" WIDTH="75%"><H3>previous</H3><dl><dd>Types<dd>Denotational Semantics<dd>Communicating Atomata and Pi-calculus<dd>Semantics of Programming Languages <dd>Foundations of Functional Programming <dd>Probability<dd>Computation Theory<dd>Complexity Theory<dd>Logic, Computation and Set Theory</dl></TD></TR></TABLE><P><!-- hhmts start --> Last modified: Thu May 26 23:10:20 BST 2016 <!-- hhmts end --><a href="http://validator.w3.org/check/referer">[Validate this page.]</a></BODY></HTML>