Teaching

I am a professor at Instituto Superior Técnico since September 2018. Before that, I worked in the UK Higher Education (HE) environment for 12 years, since my first teaching experiences at the University of Nottingham. After obtaining my Postgraduate Certificate in Learning and Teaching in Higher Education (PgCLTHE) in 2013, I became a Fellow of The Higher Education Academy (HEA).

I have experience in teaching a variety of modules on software engineering, algorithms, introductory programming, programming languages, and mathematics. All my teaching is informed by my research and I employ innovative teaching approaches as documented in some of my pedagogic publications.

For more details, see the list of students and the list of courses below.

PhD Students

PhD Graduates

  • Saul Johnson, Teesside University, 2024 (co-supervised with Alexandra Mendes and Julien Cordry)
  • Thomas Hayton, Teesside University, 2019 (co-supervised with Julie Porteous)
  • Jonathan Siddle, Teesside University, 2018 (co-supervised with Julie Porteous)
  • Mengda He, Teesside University, 2017 (co-supervised with Shengchao Qin)
  • Campbell Ritchie, Teesside University, 2016

Courses

I currently teach in IST’s Computer Science and Engineering undergraduate and masters programs.

Before 2018

Before I joined IST, I worked in the UK for 12 years. I taught a variety of courses at The University of Nottingham and Teesside University.

Teesside University

  • 2017/18

  • 2016/17

    • Network Scripting, BSc, Fall 2016 (with Alexandra Mendes and Julien Cordry)
    • Algorithms and Data Structures, BSc, Fall 2016 (with Eudes Diemoz)
    • Final Year Project, BSc, Spring 2017
  • 2015/16

    • Network Scripting, BSc, Fall 2015 (with Alexandra Mendes and Julien Cordry)
    • Algorithms and Data Structures, BSc, Fall 2015 (with Eudes Diemoz)
    • Supervised Work Experience, BSc, Spring 2016
      • I supervised 4 student industrial placements at Accenture UK
  • 2014/15

    • Algorithms and Data Structures, BSc, Fall 2014 (with Eudes Diemoz)
  • 2013/14

    • Final Year Project, BSc, Spring 2014
    • Network and Concurrent Programming, BSc, Spring 2014 (with Julien Cordry)
    • Pattern-Driven Development, MSc, Spring 2014 (with Simon Lynch)
    • Java Programming, BSc, Year-long course (with Zafar Khan and Eudes Diemoz)
    • Algorithms and Data Structures, BSc, Fall 2013 (with Eudes Diemoz)
  • 2012/13

    • Final Year Project, BSc, Spring 2013
    • Java Programming, BSc, Year-long course (with Zafar Khan and Eudes Diemoz)
    • Algorithms and Data Structures, BSc, Fall 2012 (with Eudes Diemoz)
  • 2011/12

    • Final Year Project, BSc, Spring 2012
    • Foundation Degree Workshop, BSc, Year-long course
    • Developing Technologies, BSc, Fall 2011 (with Vicky Rushin-Chape)

The University of Nottingham

  • 2009/10

    • Algorithmic Problem Solving, BSc, Fall 2009
  • Between 2006 and 2011

    • I was a tutor of the modules Algorithmic Problem Solving (2006–2011) and Mathematics for Computer Scientists (2006–2008)