Si è laureato in Ingegneria Elettronica nel 1972 e ha ottenuto il Master in Mathematics al MIT nel 1977, sotto la guida di G. C. Rota.
È stato fino all'anno 2017 Professore Ordinario di Informatica presso l'Università degli studi di Milano, ove ha tenuto per molti anni i corsi di Architettura degli Elaboratori e di Teoria dei Grafi. Autore di testi universitari e di numerosi articoli scientifici, la sua principale area di ricerca è stata l'Analisi Combinatoria.
Nei ritagli di tempo si dedicava alla scrittura di musica, soprattutto pianistica e da camera ma anche sinfonica.