I teach interaction design. In the past, I taught a variety of different modules in Southampton and at EPFL, from Computer Vision to embedded C programming to RESTful web services in Node.js, as described below.
I regularly supervise master and undergraduate projects in Southampton (on average about 8 per year). At EPFL I supervised 4 master projects and 13 other students between semester projects and internships, between 2007 and 2009. At MIT Media Lab I supervised 6 interns and undergraduate student projects, between 2005 and 2006.

Interaction Design (COMP2213) &
Human-Computer Interaction (COMP2006)

Southampton, 2010 to 2015.

A compulsory module for second year undergraduate students in computer science and ITO, around 140 in total each year. The module provides a general introduction to HCI and interaction design, spanning research and practice. I teach half of the module, for which I updated the content to introduce methods widely used in the UX industry, such as wireframes and informal evaluation, as well as examples closely related to my research. Wireframing, informal evaluation and design iteration also constitute the core of the coursework structure for this module, which I designed in collaboration with Mark Weal (who used to teach the remaining half of the module).

Computer Vision (COMP3005)

Southampton 2011, 2012, 2013.

An elective module for 3rd year undergraduate students and MSc students, typically around 70. I taught the second half of this module, including an outline of pattern recognition, feature matching and 3D visions, as well as the necessary background material from Linear Algebra and Projective Geometry. I updated the content of my part of the module to reflect the state of the art in 3D vision. Due external constraints the module was not allowed to include any coursework, so it generally follows a theoretical approach.

C Programming (COMP1010)

Southampton 2011.

A compulsory module for first year electronics, electrical and electro-mechanical engineering students, around 150 in total. Within the constraints of an existing syllabus, I updated the module content and the weekly labs to considerably expand the amount of embedded programming, to match the interest of the specific students cohorts. I took advantage of Arduino Uno boards, as an off-the-shelf, inexpensive and easy to acquire platform that would allow students to program a micro-controller in plain C, in general computing labs as well as through their own computers.

Programming (ELEC1201)

Southampton 2012, 2013.

A compulsory module for first year electronics, electrical and electro-mechanical engineering students, around 150 in total. I taught the "hosted" component of the module, covering the fundamentals of command-line programming through a combination of lectures and laboratory sessions.

Web Architecture (COMP6218) &
Topics on Web Services (COMP6017)

Southampton 2013, 2014.

A compulsory module for MSc students, and an elective for 4th year undergraduate students, typically around 50 in total. I used to teach the implementation of RESTful web services (in COMP6017) or web applications (in COMP6218) using Node.js, through a combination of lectures and group-based coursework.

Personal Interaction Studio

EPFL 2008, 2009, with Jeffrey Huang and Julien Nembrini.

An elective master level module in computer science about Mobile HCI and software prototyping on mobile phones (in Symbian C++ and Python). I led the design of Personal Interaction Studio, under the guidance of Prof Jeffrey Huang (at the time my PhD advisor), modelling it on graduate modules from MIT Media Lab. I was, in large part, responsible for the teaching, marking and organization of the module, including the coordination of several external guests. The module included seminar, lab and group project components. The project involved the development from concept to a working prototype of a mobile app. Following the design studio tradition, project were evaluated through mid-term and final "crit" sessions with a panel of external guests.