Licenciado em Ciências dos Computadores, ramo Científico pela Faculdade de Ciências da Universidade do Porto. Mestre em Engenharia Matemática pela Faculdade de Ciências da Universidade do Porto. Doutor em Engenharia Computacional e Eléctrica na Faculdade de Ciências da Universidade do Porto.