He has a Diploma in Computer Engineering and Computer Science from the University of Patras, MA and Ph.D. degrees from the Department of Computer Science, University of Princeton. He has been a Postdoctoral Fellow at the Max-Planck-Institut for Informatik, a Visiting Researcher at the University of Helsinki, an Associate Researcher at the Almaden Research Center IBM, and a Professor in the Department of Computer Science and Engineering, University of California-Riverside.