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
- Sofia Reis, INESC-ID & IST (co-supervised with Rui Abreu)
- Carolina Carreira, INESC-ID & IST and Carnegie Mellon University (co-supervised with Alexandra Mendes and Nicolas Christin)
- Nuno Saavedra, INESC-ID & IST (co-supervised with Alexandra Mendes)
- Henrique Guerra, INESC-ID & IST (co-supervised with João Costa Seco)
- Martim Afonso, INESC-ID & IST & Politecnico di Torino (co-supervised with Maurizio Morisio and Marco Torchiano)
- Bruno Lourenço, INESC-ID & IST (so-supervised with Cátia Vaz and Pedro Adão)
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.
2023/24
- Programming Languages, MSc, Spring 2024
- Software Engineering, BSc, Spring 2024 (with António Rito Silva)
- Advanced Topics in Software Engineering, PhD, Fall 2023 (with António Rito Silva)
2022/23
- Programming Languages, MSc, Spring 2023
- Student feedback: 9 out of 9
- Software Engineering, BSc, Spring 2023 (with Nuno Lopes)
- Student feedback: 8.62 out of 9
- Programming Languages, MSc, Spring 2023
2021/22
- Programming Languages, MSc, Spring 2022
- Student feedback: 9 out of 9
- Sabbatical leave during the first semester (visited MPI-SWS and Cylab@CMU)
- Programming Languages, MSc, Spring 2022
2020/21
- Programming Languages, MSc, Spring 2021
- Student feedback: 9 out of 9
- Software Specification, BSc, Fall 2020 (with Jan Cederquist)
- Student feedback: 9 out of 9
- Programming Languages, MSc, Spring 2021
2019/20
- Programming Languages, MSc, Spring 2020
- Student feedback: 9 out of 9
- Software Engineering, BSc, Spring 2020 (with António Rito Silva)
- Student feedback: 9 out of 9
- Software Specification, BSc, Fall 2019 (with Jan Cederquist)
- Student feedback: 9 out of 9
- Programming Languages, MSc, Spring 2020
2018/19
- Programming Languages, MSc, Spring 2019
- Student feedback: 9 out of 9
- Software Engineering, BSc, Spring 2019 (with António Rito Silva and Rui Abreu)
- Student feedback: 9 out of 9
- Foundations of Programming, BSc, Fall
2018 (with Alberto Abad, Pedro Monteiro, Rui Abreu, and Sofia Reis)
- Student feedback: 9 out of 9
- Programming Languages, MSc, Spring 2019
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
- Network Scripting, BSc, Fall 2017 (with Alexandra Mendes and Julien Cordry)
- Mathematics and Problem Solving, BSc, Fall 2017
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)