Dr. Constantinos Constantinides, P.Eng.
Associate Professor

Department of Computer Science and Software Engineering
Concordia University
1455 De Maisonneuve Blvd West, Montreal, QC H3G 1M8
Email: constantinos[dot]constantinides[at]concordia[dot]ca
Tel: 514 - 848 2424 Ext. 5374
Fax: 514 - 848 2830

Biographical note

I am an Associate Professor in the Department of Computer Science and Software Engineering at Concordia University.

I received my Ph.D. in Computer Science from Illinois Institute of Technology (2000), under the supervision of Dr. Tzilla Elrad.

I hold a Master of Science degree in Computer Science from New York Institute of Technology (1995), a Certificate in Teaching and Learning in Higher Education from the Institute of Education, University of London (2003), (currently part of University College London), a Postgraduate Certificate in Engineering from City University (1992), (currently: City, University of London), and a Bachelor of Science degree in Electronics from Keele University (1991). I hold a Professional Engineer designation from Professional Engineers Ontario (2009).

I received tenure at Concordia in 2009, after I joined the University in 2004 as a tenure-track Assistant Professor. Prior to coming to Concordia I was a Lecturer in the School of Computer Science and Information Systems at Birkbeck, University of London (2001 - 2004), and a Visiting Assistant Professor in the Department of Mathematical and Computer Sciences (currently: the Department of Computer Science) at Loyola University Chicago (2000 - 2001).

While a Ph.D. student / candidate (1996 - 2000), I worked as a part-time instructor at Roosevelt University, Illinois Institute of Technology, and Loyola University Chicago.


In Winter 2021 I teach

  • SOEN 331 (Sections S and U): Introduction to Formal Methods for Software Engineering, and

  • SOEN 6461-DD: Software Design Methodologies.

In Summer 2021 I will teach COMP 6411-AA: Comparative Study of Programming Languages.

In Fall 2021 I will teach

  • SOEN 331 (Sections S): Introduction to Formal Methods for Software Engineering, and

  • SOEN 6461-SS: Software Design Methodologies.


I am interested in the intersection of formal methods, programming languages and software engineering with the objective of building reliable software systems. Some of my publications can be found at DBLP here and here. Some more are available at the ACM Digital Library here.

My academic genealogy:

me → Tzilla Elrad → Nissim Francez → Amir Pnueli → Chaim Leib Pekeris → Carl-Gustaf Arvid Rossby.

The complete path can be viewed from the Mathematics Genealogy Project.

Erdös number: 4. (Paul Erdos ← Shmuel Zaks ← Nissim Francez ← Tzilla Elrad ← me)

"The required techniques of effective reasoning are pretty formal, but as long as programming is done by people that don't master them, the software crisis will remain with us and will be considered an incurable disease. And you know what incurable diseases do: they invite the quacks and charlatans in, who in this case take the form of Software Engineering gurus."

Professor Edsger W. Dijkstra (2000), "Answers to Questions from Students of Software Engineering."