Carleton University Canada's 
Capital University

Graduate Calendar Archives: 2003 / 2004

Ottawa-Carleton Institute for Computer Science

Herzberg Building 5302
Telephone: (613) 520-4333
Fax: (613) 520-4334
Web site:

The Institute

Director of the Institute: Ivan Stojmenovic

Associate Director of the Institute: Jean-Pierre Corriveau

Students who wish to pursue studies in computer science leading to an M.C.S. or a Ph.D. degree can do so in a joint program offered by the School of Information Technology and Engineering at the University of Ottawa and the School of Computer Science at Carleton University under the auspices of the Ottawa-Carleton Institute for Computer Science. The Institute is responsible for supervising the program and for providing a framework for interaction between the two departments at the research level. In addition to the faculty members from the two computer science departments, the Institute also has members with computer science expertise from other departments.

The M.C.S. is also available as part of ConGESE (Consortium for Graduate Education in Software Engineering), a collaborative program offering a specialization in software engineering. This program is geared towards software professionals working for participating industrial partners. The ConGESE program imposes further regulations and requirements on the existing program. The degree will in each case specify the discipline of the participating unit with Specialization in Software Engineering. Additional information is available from the graduate supervisor and on the Web (by searching for Congese).

Requests for information, and completed applications, should be sent to the graduate supervisor of the academic unit in which the candidate expects to find a supervisor.

The "home" department of each member is indicated by (SITE) for the School of Information Technology and Engineering, University of Ottawa; (ADM) for Faculty of Administration, University of Ottawa; (MCG) for the Department of Mechanical Engineering, University of Ottawa; (SCS) for the School of Computer Science, Carleton University; (MAT) for the School of Mathematics and Statistics, Carleton University; (SCE) for the Department of Systems and Computer Engineering, Carleton University; (C) for the Department of Civil and Environmental Engineering, Carleton University; (BUS) for the School of Business, Carleton University.

  • D. Amyot, Software engineering, requirements engineering, feature interactions (SITE)
  • M. Barbeau, Telecommunications software, distributed systems, mobile and wireless networks (SCS)
  • Caroline Barrière, Natural language processing, lexical knowledge bases, computational lexicography, knowledge acquisition and representation (SITE)
  • L. Bertossi, Database systems, intelligent information systems, knowledge representation (SCS)
  • Gregor von Bochmann, Communication protocols, software engineering, formal specifications, verification and validation, distributed applications and systems management, multimedia, high-speed networks, real-time systems (SITE)
  • F. Bordeleau, Object-oriented system design, real-time and distributed systems, software engineering (SCS)
  • P. K. Bose, Applied geometric computing, computational geometry, data structures, algorithm design and analysis, randomized algorithms, graph theory (SCS)
  • M. Bouchard, Signal processing, adaptive filtering, neural networks and control, applied to speech, acoustics and audio (SITE)
  • Sylvia Boyd, Combinatorial optimization, algorithm design and analysis, graph theory, polyhedral combinatorics (SITE)
  • Lionel Briand, Software verification and validation, software design for testability and maintainability, software quality assurance and measurement (SCE)
  • J.-P. Corriveau, Cognitive science, natural language understanding, CASE and knowledge-based tools, object-oriented technology (SCS)
  • Jurek Czyzowicz, (SITE/SCS - Adjunct)
  • A. Dabrowski, (SITE)
  • S. Dandamudi, Parallel and distributed systems, database systems, performance evaluation, computer architecture, operating systems (SCS)
  • F. Dehne, Computational complexity, design and analysis of algorithms, computational geometry, parallel and systolic algorithms (SCS)
  • D. Deugo, Large-scale distributed object computing, evolutionary computation (genetic algorithms, genetic programming, artificial life) and object-oriented systems (SCS)
  • J.D. Dixon, Algorithms in algebra and number theory, complexity theory, group theory and representation (MAT)
  • S. Dobrev, Design and analysis of algorithms, distributed algorithms, combinatorial algorithms, fault tolerance, mobile computing, interconnection networks, structural information in distributed computing (SITE)
  • Eric Dubois, Digital signal processing, multidimensional signal processing, data compression, source coding, image/video processing and coding (SITE)
  • A. El Saddik, Multimedia communications (SITE)
  • A.E.F. Fahim, Nonlinear optimization, computer aided design and manufacturing (CAD/CAM) methodology and software, flexible manufacturing cell (FMC) control environment, robot control, expert systems for design and manufacturing (MCG)
  • A.P. Felty, Theorem proving, automated deduction, formal methods in software engineering, computational logic (SITE)
  • P. Flocchini, Distributed computing, distributed algorithms, sense of direction, compact routing, cellular automata, discrete chaos (SITE)
  • N.D. Georganas, Multimedia broadband communications, computer-communications (SITE)
  • V. Groza, (SITE)
  • Robert Holte, Artificial Intelligence, machine learning, knowledge compilation, heuristic search (SITE)
  • N. Holtz, Computer-assisted structural engineering (CVE)
  • D.J. Howe, Automated reasoning, applied logic, formal methods in software engineering, programming languages (SCS)
  • D.I.-A. Ionescu, Computers, artificial intelligence, image processing, discrete event and real-time systems (SITE)
  • N. Japkowicz, Artificial Intelligence, machine learning (SITE)
  • A. Karmouch, Multimedia communications, multimedia real-time distributed information systems and databases (SITE)
  • G.E. Kersten, Expert systems, decision support systems (BUS - Adjunct)
  • E. Kranakis, Cryptography, combinatorial analysis, computational geometry, distributed computing, distributed and data networks (SCS)
  • D. Krizanc, Parallel and distributed computing, analysis of algorithms and use of randomization in computation (SCS - Adjunct)
  • T. Kunz, Wireless and mobile computing, load balancing in distributed systems, distributed programming environments for parallel and distributed systems, distributed systems management, parallel and distributed debugging, program understanding (SCE)
  • R. Laganière, Computer vision, image processing (SITE)
  • W.R. Lalonde, Symbolic processing languages, fifth generation machines, learning systems, compilers, artificial intelligence (SCS)
  • M. Lanthier, Behaviour-based robotics, artificial life, computational geometry, shortest path computations, GIS applications, parallel and distributed computing applications (SCS)
  • T. Lethbridge, Human-computer interaction/user interfaces, software engineering, software visualization, software reverse engineering, knowledge representation (SITE)
  • M. Liu, Database systems, Web query and inference technologies, object-oriented programming, and logic programming(SCS)
  • L. Logrippo, Telecommunications software engineering, software specification and verification with emphasis on distributed software (SITE - Adjunct)
  • C.-H. Lung, Software engineering, network traffic engineering, distributed and parallel computing (SCE)
  • A. Maheshwari, Data structures and algorithms, parallel computation, computational geometry, graph algorithms (SCS)
  • S.A. Mahmoud, Wireless communication systems, protocols for high-speed networks, speech processing and computer network design (SCE)
  • S. Majumdar, Parallel and distributed systems, performance evaluation, operating systems (SCE)
  • D. Makrakis, Computer Networks: Architectures, Protocols, Management, Broadband Applications (SITE)
  • S.J. Matwin, Artificial intelligence, knowledge-based systems, machine learning, software reuse (SITE)
  • D. R. McDonald, Applied probability, rare events in queueing networks, applications to telecommunications (SITE)
  • A. Miri, (SITE)
  • P. Morin, Computational geometry, parallel algorithms, network algorithms and crypto-graphy (SCS)
  • L.R. Morris, Digital signal processing, speech analysis and synthesis, computer graphics (SCE)
  • B.C. Mortimer, Error-correcting codes, combinatorics, algorithm design and analysis, group theory (MAT)
  • L. Moura, Combinatorial algorithms, combinatorial designs and their applications, combinatorial optimization (SITE)
  • J. Neilson, Distributed and parallel computing, including: operating systems, performance models, and applications; simulation and prototyping methodology; computer system performance engineering (SCS - Adjunct)
  • D. Nussbaum, Computational geometry, medical computing, parallel and distributed computing, geographic information systems, robotics and machine vision, data structures and algorithms (SCS)
  • J. Oommen, Learning systems, stochastic automata, pattern recognition, image processing, adaptive data structures (SCS)
  • F. Oppacher, Artificial intelligence, genetic algorithms, evolutionary computing, machine learning (SCS)
  • L. Orozco-Barbosa, Computer architecture, computer networks and performance evaluation (SITE)
  • B. Pagurek, Communications network management, artificial intelligence and fault management, knowledge-based software debugging (SCE)
  • D. Panario, Computer algebra, analytic combinatorics, analysis of algorithms, cryptography, analytic, computational and combinatorial number theory (MAT)
  • P. Payeur, 3-D modeling for robotics, computer vision, autonomous systems (SITE)
  • D. C. Petriu, Performance evaluation, software engineering (SCE)
  • E.M. Petriu, Robotic sensing and perception, neural networks (SITE)
  • R.L. Probert, Quality engineering of communications protocols and communications software, accelerated techniques for software engineering (SITE)
  • J. Pugh, Object-oriented programming systems, user interfaces, computer graphics (SCS - Adjunct)
  • J. Raymond, Teleeducation, intranet (SITE)
  • G. Roth, Computer vision, image processing, evolutionary algorithms, virtual reality and multi-media, computer graphics (SCS - Adjunct)
  • J.-R. Sack, Algorithms and complexity, computational geometry, graphics, pattern recognition, robotics (SCS)
  • N. Santoro, Distributed computing, fault tolerance, discrete chaos, reactive environments (SCS)
  • P. Scott, Logic, theoretical computer science, category theory (SITE)
  • B. Selic, Software engineering, real-time systems, object-oriented modeling, quality of service (SCS - Adjunct)
  • J.B. Sidney, Combinatorial optimization, job shop scheduling (SITE)
  • D.R. Skuce, Applications of artificial intelligence, expert systems, intelligent help and text retrieval, natural language understanding (SITE)
  • M. Smid, Computational geometry, data structures, geometric networks, randomized algorithms, applications of computational geometry in manufacturing and in the analysis of terrains (SCS)
  • B. Stevens, Combinatorics (MAT)
  • I. Stojmenovic, Wireless networks and mobile computing, algorithms (SITE)
  • S. Szpakowicz, Computational linguistics, knowledge acquisition, decision support systems (SITE)
  • D.A. Thomas, Artificial intelligence, fifth generation machines (SCS - Adjunct)
  • M. Turcotte, Bioinformatics, algorithm design, applications of machine learning (SITE)
  • H. Ural, Software reliability, verification and testing, communication protocols, distributed computing (SITE)
  • R. Vaillancourt, Differential equations, numerical and applied mathematics, scientific computation, image compression (JPEG, MPEG), wavelets, chirplets (SITE)
  • P. van Oorschot, Authentication, network security, software security, software protection, cryptography and cryptographic protocols, digital signatures, public key infrastructure (PKI) and key management, software tamper resistance, automated obfuscation, encryption (SCS)
  • H.L. Viktor, Data mining, information fusion and data warehousing (SITE)
  • G.A. Wainer, DEVS formalism, Real-Time modeling, cellular models, modeling and simulation methodologies and tools, parallel/distributed/Web-based simulation, Real-Time operating systems (SCE)
  • M. Weiss, Electronic commerce, network communities, agent patterns (SCS)
  • G.M. White, Information systems, dynamic workflow systems, timetabling and scheduling (SITE)
  • T. White, Mobile agents, swarm and collective intelligence, evolutionary computing, Internet applications, peer-to-peer computing (SCS)
  • A.W. Williams, Software testing, multi-platform software development, software engineering (SITE)
  • C.M. Woodside, Performance modeling, performance of distributed software, software design, queueing theory (SCE)
  • D.J. Wright, Voice over packet networks, business case for broadband networks, electronic commerce, telelearning (ADM)
  • M.C.E. Yagoub, Artificial neural networks for communication systems, optimization methods (SITE)
  • T. Yamakami, Quantum complexity, theory of relativization, cryptography, average-case complexity, logic, and recursion theory (SITE)
  • O. W. Yang, Computer communications network and protocol design, modeling, performance evaluation, queueing theory internetworking, photonic and IP networks (SITE)
  • J. Yao, Microwave photoinics, fibre-optic communications, fibre-optic sensors, optical signal processing (SITE)
  • N. Zaguia, (SITE)
  • J. Zhao, Image and video processing, multimedia communications (SITE)

Master of Computer Science

Admission Requirements

Applicants should have an Honours bachelor's degree in computer science or the equivalent, with at least high honours standing. By equivalent is meant an Honours degree in a program which includes at least twelve computer science half-credits, two of which must be at the 4000-level, as well as eight half- credits in mathematics, one of which must be at the 3000- or 4000-level. These courses must include the topics indicated below:

Computer Science
Data structures/file management, operating systems, computer architecture, algorithm design and analysis, assembly language and two high-level languages
Calculus, linear algebra, algebraic structures or discrete mathematics, probability and statistics, numerical analysis. Applicants who have a general (3-year) bachelor's degree, or who otherwise lack the required undergraduate preparation, may be admitted to a qualifying-year program. Refer to the General Regulations section of this Calendar for regulations governing the qualifying year.

Program Requirements

The program includes graduate study and research in four broad areas identified as follows:

  • Software Engineering
  • Theory of Computing
  • Computer Applications
  • Computer Systems

Within these areas, the program emphasizes problems of current practical significance and has close links to the scientific and industrial communities.

Normally, students in the program will be expected to complete a thesis; however, students who have substantial relevant work experience may be permitted to take the non-thesis option, which must include a graduate research project course. Each candidate submitting a thesis will be required to undertake an oral defence of the thesis.

Students in the thesis option must take 2.5 credits, fulfil the graduate seminar requirement, and complete a thesis. Students in the non-thesis option must take 4.0 credits, plus a graduate project (a project is equal to 1.0 credit and may be completed in one or two terms), and fulfil the graduate seminar requirement. The course selections must be approved by the student's academic adviser, and must include at least:

  • 0.5 credit in software engineering
  • 0.5 credit in the theory of computing
  • 0.5 credit in either computer applications or computer systems

The graduate seminar requirement includes a seminar presentation and participation in at least ten sessions in the joint graduate student seminar series.

Both course and thesis work may be completed either by full-time or part-time study.

A candidate may be permitted to carry out thesis work off campus provided suitable arrangements are made for supervision and experimental work, and prior approval is given by the Institute.

Guidelines for Completion of Master's Degree

The following completion times are estimates only, based on full-time study, and are intended to provide guidance only.

Students are strongly urged to check with the supervisor of graduate studies to determine the exact requirements of the degree program and other related information. Part-time students should calculate the completion times requirement by doubling the time estimates given below.

Students should complete the course work within the first two terms.

Selection of courses should be done in consultation with the student's faculty advisor. Approval from the Graduate Supervisor of the Institute is only required for courses not listed as valid OCICS courses. Subject to the approval of theGraduate Supervisor, M.C.S. students may take courses in other relevant disciplines. At least half of the course credits of an M.C.S. student must be valid OCICS courses. At most, two Fourth Year undergraduate courses may be taken with the permission of the Graduate Supervisor. A thesis supervisor and thesis topic must be selected by the end of the second term. The supervisor of graduate studies should be formally notified of this selection. The expected completion time for the M.C.S. degree is four to six terms of full-time study depending on the type of thesis and the area of research.

Doctor of Philosophy

Admission Requirements

A master's degree in Computer Science (or the equivalent) with high second-class standing is normally required for admission into the Ph.D. program. Students who are currently registered in the M.C.S. program may, in exceptional cases, be permitted to transfer into the Ph.D. program if they have completed all course requirements with at least high second-class standing and demonstrate significant promise for advanced research.

Program Requirements

  • A minimum of 1.5 credits at the graduate level in at least three different research areas (see OCICS course grouping by area). The admission committee and the student's advisory committee may impose additional program requirements according to the student's background and research topic. The thesis weight will be of 8.5 credits.
  • Presentation of at least two seminars in the Ottawa-Carleton Institute for Computer Science seminar series: Minimally, the student must make one presentation for the graduate seminar, as well as one presentation for the departmental seminar.
  • A comprehensive examination (COMP 6907) involving breadth and depth components.
  • A written thesis proposal (COMP 6908) defended at an oral examination.
  • A research thesis (COMP 6909) defended at an oral examination.

Guidelines for Completion of Doctoral Degree

The following completion times are estimates based on full-time study.

During the first term, the student and his or her faculty adviser should select graduate courses related to their area(s) of research and interests. Approval from the Graduate Supervisor of the Institute is only required for courses not listed as valid OCICS courses. Subject to the approval of the Graduate Supervisor, Ph.D. students may take courses in other relevant disciplines. At least half of the course credits of a Ph.D. student must be valid OCICS courses. An advisory committee comprised of three to five faculty members must be established before the student registers in the comprehensive examination. The committee is responsible for the comprehensive examination, the thesis proposal, and for guiding the student's research. The advisory committee must include at least one representative from SITE. The advisory committee must be approved by the director or associate director of the Institute. Comprehensive examinations (see COMP 6907) must be taken within the first 4 terms. All course requirements must be completed within the first 6 terms. Within the first 8 terms, the student must submit a written thesis proposal and defend it in an oral examination (see COMP 6908). The expected completion time for the Ph.D. program is approximately twelve terms depending on the type of thesis and the area of research. Before the completion of the program, the student is expected to present at least two seminars in the Ottawa-Carleton Institute for Computer Science seminar series.

Residence Requirement

Students must fulfil a residence requirement of at least four terms of full-time study.

Graduate Courses

Not all of the following courses are offered in a given year. For an up-to-date statement of course offerings for 2003-2004, please consult the Registration Instructions and Class Schedule booklet, published in the summer.

To determine the term of offering, consult the Registration Instructions and Class Schedule booklet, or online at:

Subject to the approval of the Graduate Supervisor, Ph.D. students may take courses in other relevant disciplines. The courses in the following list are offered by the two departments forming OCICS.

Carleton University
COMP School of Computer Science

University of Ottawa
CSI School of Information Technology and Engineering

Software Engineering

COMP 5001 (CSI 5113)
COMP 5104 (CSI 5314)
COMP 5106 (CSI 5123)
COMP 5305 (CSI 5129)
COMP 5400 (CSI 5310)
COMP 5403 (CSI 5143)
COMP 6104 (CSI 7314)
COMP 6603 (CSI 7161)
CSI 5107 (COMP 5609) Program Construction and Fault Tolerance
CSI 5109 (COMP 5701) Specification Methods for Distributed Systems
CSI 5111 (COMP 5501) Software Quality Engineering
CSI 5115 (COMP 5503) Database Analysis and Design
CSI 5118 (COMP 5302) Automated Verification and Validation of Software
CSI 5122 (COMP 5301) Software Usability
CSI 5181 (COMP 5705) Artificial Intelligence in Software Engineering
CSI 5184 (COMP 5804) Logic Programming
CSI 5507(COMP 5609) La Construction et la Tolérance aux Fautes des Programmes
CSI 5509 (COMP 5701) Méthodes Algébriques pour la Spécification de Systemes Répartis
CSI 5518(COMP 5708) Conception des compilateurs et traducteurs
CSI 5584 (COMP 5804) Programmation logique
Theory of Computing
COMP 5003 (CSI 5308)
COMP 5005 (CSI 5390)
COMP 5008 (CSI 5164)
COMP 5107 (CSI 5185)
COMP 5203 (CSI 5173)
COMP 5404 (CSI 5144)
COMP 5408 (CSI 5121)
COMP 5409 (CSI 5127)
COMP 5703 (CSI 5163)
COMP/MATH 5807 (CSI 5104)
COMP 6601 (CSI 7160)
COMP 6602 (CSI 7170)
CSI 5101 (COMP 5601) Formal Models of Computational Systems
CSI 5107 (COMP 5609) Program Construction and Fault Tolerance
CSI 5108 (COMP 5700) Software Specification and Verification
CSI 5110 (COMP 5707) Principles of Formal Software Development
CSI 5162 (COMP 5702) Order: Its Algorithms and Graphical Data Structures
CSI 5164 (COMP 5008) Computational Geometry
CSI 5165 (COMP 5709) Combinatorial Algorithms
CSI 5166(COMP 5805) Applications of Combinatorial Optimization
CSI 5169 (COMP 5304) Wireless Networks and Mobile Computing
CSI 5174 (COMP 5604) Validation Methods for Distributed Systems
CSI 5367 (COMP 5300) Structure in Complexity Theory
CSI 5507 (COMP 5609) La Construction et la Tolérance aux Fautes de Programmes
CSI 5508 (COMP 5700) Spécification et Vérification de Logiciels
CSI 5510 (COMP 5707) Principes de développement formel de logiciels
CSI 5565 (COMP 5709) Algorithmes Combinatoires
Computer Applications
COMP 5006 (CSI 5306)
COMP 5100 (CSI 5180)
COMP 5204 (CSI 5124)
COMP 5206 (CSI 5183)
COMP 5401 (CSI 5389)
COMP 5406 (CSI 5105)
COMP 5407 (CSI 5116)
COMP 6604 (CSI 7162)
CSI 5114 (COMP 5504) Automated Office Systems
CSI 5125 (COMP 5107) Simulation
CSI 5126 (COMP 5108) Algorithms in Bioinformatics
CSI 5161 (COMP 5606) Topics in System Simulation and Optimization
CSI 5162 (COMP 5702) Order: Its Algorithms and Graphical Data Structures
CSI 5181 (COMP 5705) Artificial Intelligence Applications in Software Engineering
CSI 5304 (COMP 5602) Knowledge Engineering
CSI 5380 (COMP 5405) Systems and Architectures for Electronic Commerce
CSI 5386 (COMP 5505) Natural Language Processing
CSI 5387 (COMP 5706) Data Mining and Concept Learning
CSI 5388 (COMP 5801) Topics in Machine Learning
CSI 5514 (COMP 5504) Bureautique
CSI 5580 (COMP 5100) Sujet en intelligence artificielle
CSI 5581 (COMP 5705) Applications de l'intelligence artificielle dans le développement des systèmes
CSI 5787 (COMP 5706) Apprentissage Symbolique Automatique
Computer Systems
COMP 5003 (CSI 5308)
COMP 5009 (CSI 5141)
COMP 5101 (CSI 5311)
COMP 5102 (CSI 5312)
COMP 5105 (CSI 5132)
COMP 5107 (CSI 5185)
COMP 5203 (CSI 5173)
COMP 5401 (CSI 5389)
COMP 5402 (CSI 5142)
COMP 5403 (CSI 5143)
COMP 5406 (CSI 5105)
COMP 5407 (CSI 5116)
COMP 5704 (CSI 5131)
COMP 6100 (CSI 7131)
COMP 6602 (CSI 7170)
COMP 6605 (CSI 7163)
CSI 5109 (COMP 5701) Specification Methods for Distributed Systems
CSI 5114 (COMP 5504) Automated Office Systems
CSI 5133 (COMP 5608) Simulation and Testing of Logic Circuits
CSI 5169 (COMP 5304) Wireless Networks and Mobile Computing
CSI 5170 (COMP 5800) Distributed Data Processing
CSI 5171 (COMP 5303) Network Architectures, Services, Protocols and Standards
CSI 5174 (COMP 5604) Validation Methods for Distributed Systems
CSI 5380 (COMP 5405) Systems and Architectures for Electronic Commerce
CSI 5509 (COMP 5701) Méthodes Algébriques pour la Spécification de Systems Répartis
CSI 5514 (COMP 5504) Bureautique
Theses, Projects and Topics
COMP 5900 (CSI 5140)
COMP 5901 (CSI 5901)
COMP 5902 (CSI 5900)
COMP 5903 (CSI 6900)
COMP 5904 (CSI 5902)
COMP 5905 (CSI 7999)
COMP 6601 (CSI 7160)
COMP 6602 (CSI 7170)
COMP 6603 (CSI 7161)
COMP 6604 (CSI 7162)
COMP 6605 (CSI 7163)
COMP 6901 (CSI 7901)
COMP 6902 (CSI 7900)
COMP 6907 (CSI 9998)
COMP 6908 (CSI 9997)
COMP 6909 (CSI 9999)
© 2023 Carleton University 1125 Colonel By Drive, Ottawa, ON, K1S 5B6 Canada | (613) 520-7400 Contact | Privacy Policy