In the 2012/13 aca­demic ses­sion I am teach­ing the fol­low­ing mod­ules at St Andrews:

  • ID1003: “Great ideas”, lec­ture on the his­tory and social impact of the internet
  • CS1005: Com­puter sci­ence in every­day life, 2 lec­tures on sens­ing the real world
  • CS2001: Found­a­tions of com­pu­ta­tion, the the­ory parts, with Edwin Brady
  • CS3301: Com­pon­ent Technology

Over the years I have also taught soft­ware engin­eer­ing, context-aware sys­tems, prin­ciples of pro­gram­ming lan­guages. type the­ory, semantics, com­mu­nic­a­tions and inter­net tech­no­lo­gies, as well as sev­eral invited tutorials.