graduado em Engenharia de Computação na Pontifícia Universidade Católica do Rio de Janeiro (1994), obteve mestrado e doutorado em Informática na Pontifícia Universidade Católica do Rio de Janeiro (1999 e 2003) e passou o ano de 2018 em estágio pós-doutoral no Instituto de Matemática da Universidade de Bordeaux.