Nasci em Portugal em 1964. Sou licenciado em matemática pela Faculdade de Ciências da Universidade do Porto (FCUP) e tenho um doutoramento em ciência de computadores pela mesma instituição. Correntemente, sou professor auxiliar no departamento de ciências de computadores da FCUP. Também estou afiliado no Center for Research in Advanced Computing Systems (CRACS) uma unidade de investigação do INESC TEC, onde sou membro efectivo. Os meus interesses de investigação são o ensino mediado por computador, adaptabilidade web e web semântica.