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 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 completing my doctoral studies, I worked as a part-time instructor at Roosevelt University, Illinois Institute of Technology, and Loyola University Chicago.

I hold a Professional Engineer designation from Professional Engineers Ontario (2009), and a Certificate in Teaching and Learning in Higher Education from the Institute of Education, University of London (2003) (currently part of University College London).

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 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 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.

If you are interested in pursuing a research degree under my supervision, please note that I am looking for the following:

  • Mandatory: You have already taken courses in (a) Discrete Mathematics, (b) Programming and (c) Software Engineering.
    You are familiar with (Propositional/Predicate) Logic, Discrete Structures (Sets, Lists), Binary Relations, and Functions. You are familiar with OOP as implemented by languages such as Java/C++/C#. You are familiar with the static and dynamic model of UML (class diagrams, interaction diagrams, activity diagrams, state machines), design patterns, architectural patterns.

    Please do not email me if you do not have all of the above.

  • Desired: You have taken a course in Formal Methods and Programming Paradigms/Languages.
    You are familiar with Linear Temporal Logic, Relational Calculus, and Z/Object-Z specification languages. You are familiar with logic programming as implemented by Prolog, and functional programming as implemented by the LISP family.

    If you do have all of the mandatory (and perhaps the desired) and you decide to email me, please do not send me your CV. Send me your transcript of courses, indicating the marks that you have received in courses that relate to the above areas.

My academic genealogy:

me → Tzilla ElradNissim FrancezAmir PnueliChaim Leib PekerisCarl-Gustaf Arvid RossbyErik Ivar Fredholm → ...

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

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

Teaching during Winter 2024:

During Winter 2024 I teach SOEN 331 (Formal Methods for Software Engineering) and SOEN 342 (Software Requirements and Specifications).

If you are interested in being a Teaching Assistant in any of my courses, please follow the Department process and apply. Please do not contact me.

"If 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself: 'Dijkstra would not have liked this', well that would be enough immortality for me." Edsger W. Dijkstra