Possui graduação em Ciência da Computação pela Universidade de São Paulo (1986), mestrado em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro (1993) e doutorado em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro (1998). Atualmente é Professor Titular do Instituto de Computação da Universidade Federal Fluminense e Docente da Pós-Graduação em Computação. Tem experiência nas áreas de Teoria de Grafos, Análise de Algoritmos e Complexidade de Computação. Foi membro do Comitê Assessor (Ciência da Computação) do CNPq de novembro de 2016 a junho de 2019. Exerceu a função de Coordenador da Área de Computação da FAPERJ de janeiro de 2016 a julho de 2018. Foi contemplado pelo Programa Cientista do Nosso Estado da FAPERJ em 2012, 2016 e 2021. Membro do Comitê Gestor da Comissão Especial em Algoritmos, Combinatória e Otimização da SBC, desde 2019.