Teaching Experience
Between September 1999 and July 2001, I worked as a student assistant in the Section of Logic and Computation of the Department of Mathematics at the Instituto Superior Técnico, in Lisbon, teaching exercise classes in several Programming and related courses.
As a PhD student, I helped with the exercise classes for two courses at the University of Nijmegen: T2 (Complexity Theory for Informatics students) and an optative two-week course on Reflection for Biology students, both in 2003/2004.
After moving back to Lisbon, I worked for three years as an Invited Assistant Professor, again at the Section of Logic and Computation of the Department of Mathematics of Instituto Superior Técnico, teaching various courses on Programming.
From October 2007 until August 2009 I was an assistant professor at the Department of Informatics of the Faculty of Sciences of the University of Lisbon, where I taught the introductory Programming course, as well as several exercise and lab classes in other Programming and Theory of Computation classes.
From October 2009 to the end of 2013 I taught at the Escola Superior Náutica Infante D. Henrique, located near Lisbon, and switched back to Mathematics. In those four years, I taught all undergraduate Mathematics courses available (Calculus I & II, Linear Algebra, Numerical Methods, Probabilities and Statistics) and worked on reorganizing the syllabus and producing course notes for several of those courses.
In 2014 I started (again) as a postdoc at the Department of Mathematics and Computer Science of the University of Southern Denmark, becoming Assistant Professor in 2018 and Associate Professor in 2020. I teach different courses in Programming, Logic and Artificial Intelligence.
Course notes
All course notes from 2013 and before are in Portuguese. Their title might be a giveaway...
- Logic for Computer Science
University of Southern Denmark, v0.3, Apr/2021 - Álgebra Linear (with P. Engrácia)
Escola Superior Náutica Infante Dom Henrique, 2nd edition, Sep/2011 - Análise Matemática I (with P. Engrácia)
Escola Superior Náutica Infante Dom Henrique, 1st edition, Sep/2010 - Programação em Lógica
Instituto Superior Técnico, v1.2, May/2006
Exercise lists
Note: these lists contain exercises adapted from various sources, and not consisting only of original exercises. They were prepared as support material for specific courses, and are not to be understood as my publications.
- Introduction to Programming,
part I ; part II ; and labs
University of Southern Denmark, Autumn 2021 - Álgebra Linear
Escola Superior Náutica Infante Dom Henrique, 2012/2013 - Probabilidades e Estatística
Escola Superior Náutica Infante Dom Henrique, 2012/2013 - Métodos Numéricos
Escola Superior Náutica Infante Dom Henrique, 2011/2012 - Análise Matemática II
Escola Superior Náutica Infante Dom Henrique, 2009/2010 - Introdução à Programação (em Java)
Faculdade de Ciências da Universidade de Lisboa, 2008/2009
Very boring list of all courses taught
2021/2022 @ SDU
Autumn
Introduction to Programming CS
2020/2021 @ SDU
Autumn
Introduction to Programming CS Math Comp. Biomed. DS
Spring
Logic for Computer Science
CS
Artificial Intelligence
CS
2019/2020 @ SDU
Autumn
Introduction to Programming CS Math Comp. Biomed. DS
Spring
Logic for Computer Science CS
2018/2019 @ SDU
Autumn
Introduction to Programming CS Math Comp. Biomed.
Spring
Logic for Computer Science CS
2016/2017 @ SDU
Autumn
Programming Languages CS
Spring
Logic for Computer Science CS
2015/2016 @ SDU
Autumn
Programming Languages CS
2014/2015 @ SDU
Autumn
Programming Languages CS
Spring
Logic for Computer Science CS
2013/2014 @ ENIDH
Autumn
Álgebra Linear LEMM+LESEM
2012/2013 @ ENIDH
Autumn
Álgebra Linear
LEMM+LESEM+LGP+LGTL
Análise Matemática I
LEMM+LESEM
Métodos Numéricos
LEMM
Spring
Análise Matemática I
LEMM
Análise Matemática II
LEMM+LESEM+LGP
Probabilidades e Estatística
LEMM
2011/2012 @ ENIDH
Autumn
Álgebra Linear
LEMM+LESEM+LGP+LGTL
Análise Matemática I
LEMM+LESEM
Métodos Numéricos
LEMM
Spring
Álgebra Linear
LPil
Análise Matemática II
LGP
Probabilidades e Estatística
LEMM
2010/2011 @ ENIDH
Autumn
Álgebra Linear
LEMM+LESEM+LGP+LGTL
Análise Matemática I
LEMM
Spring
Métodos Computacionais
LEMM
Probabilidades e Estatística
LEMM+LPil
2009/2010 @ ENIDH
Autumn
Análise Matemática I LEMM+LESEM
Spring
Álgebra Linear
LGP+LGTL
Análise Matemática II
LEMM+LESEM
2008/2009 @ FCUL
Autumn
Introdução à Programação LEI
Spring
Algoritmos e Estruturas de Dados
LEI
Laboratórios de Programação
LEI
Teoria da Computação
LEI
2007/2008 @ FCUL
Autumn
Introdução à Programação
LEI
Software Fiável
MEI
Spring
Algoritmos e Estruturas de Dados
LEI
Laboratórios de Programação
LEI
2006/2007 @ IST
Autumn
Computação e Programação
LEAmb+LEMat
Computação e Programação
LQ
Elementos de Programação
LMAC+MEBiom
2005/2006 @ IST
Autumn
Computação e Programação LEB+LQ
Spring
Programação em Lógica LCI LEIC
2004/2005 @ IST
Autumn
Elementos de Programação LEBM+LMAC
Spring
Programação em Lógica LCI
2003/2004 @ KUN
Spring
Schakelblok Informatica voor Biologen
Autumn
T2 – Inl. Complexiteitstheorie Informatica+Informatiekunde
2000/2001 @ IST
Spring
Teoria da Computação
LEIC
Elementos Algébricos da Programação I
LMAC
Autumn
Programação
LEBM
Elementos Algébricos da Programação II
LMAC
1999/2000 @ IST
Spring
Teoria da Computação LEIC
Autumn
Programação LEBM+LQ
Symbols
Lectures
Exercises
Labs
1st year BSc
2nd year BSc
3rd year BSc
4th year BSc / 1st year MSc