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
CANADA
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).
Research:
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.
- 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 Elrad →
Nissim Francez →
Amir Pnueli →
Chaim Leib Pekeris →
Carl-Gustaf Arvid Rossby →
Erik 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 Fall 2024:
During Fall 2024 I teach SOEN 331-S (Introduction to Formal Methods for Software Engineering) and
SOEN 342 - Sections H and II (Software Requirements and Deployment).
"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
|