He studied at the National Technical University of Athens (Diploma in Electrical Engineering, 1975), and at Princeton University (PhD in Computer Science, 1979). He worked at Bell Labs Research from 1978 until 2001, as Member of Technical Staff (1978-1991) and as Head of the Computing Principles Research Department (1991-2001). He was Director of Computing Principles Research at Avaya Labs (2001-2002), and Professor of Computer Science at Stanford University (2002-2003). He joined Columbia University in 2004. His research interests include design and analysis of algorithms, complexity theory, combinatorial optimization, game theory, databases, and modeling, verification and testing of reactive systems.