Ottawa-Carleton Institute for Computer Science

Herzberg Building 5302
Telephone: 788-4333
Fax: 788-4334

The Institute

Director of the Institute: L.G. Birta

Associate Director of the Institute: Frank Dehne

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 Department of Computer Science 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.

Requests for information, and completed applications, should be sent to the director or associate director of the Institute. A joint admissions committee examines all applications and assigns students to the most appropriate campus and supervisor.

Members of the Institute

The "home" department of each member is indicated by (CSI) for the Department of Computer Science, University of Ottawa, (ELG) for the Department of Electrical 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 Department of Mathematics and Statistics, Carleton University, (SCE) for the Department of Systems and Computer Engineering, Carleton University, (C) for the Department of Civil Engineering, Carleton University, (BUS) for the School of Business, Carleton University.

M.D. Atkinson, (SCS), Complexity, Algorithms, Computational Algebra

L.G. Birta, (CSI), Simulation, Optimization, Numerical Algorithms

Sylvia Boyd, (CSI), Optimization, Combinatorics

R.J. Buhr, (SCE), Software Design, Design Visualization, Real-Time and Distributed Systems, Object-Oriented Systems

T.-Y. Cheung, (CSI), Distributed Computing, Optimization, Databases

J.W. Chinneck, (SCE), Operations Research, Applied Optimization

J.-P. Corriveau, (SCS), Cognitive Science, Natural Language Understanding, CASE Tools

S.P. Dandamudi, (SCS), Parallel and Distributed Systems, Database Systems, Performance Evaluation, Computer Architecture, Operating Systems

N.W. Dawes, (SCE), Diagnosis and Pattern Recognition

Frank Dehne, (SCS), Computational Geometry, VLSI Algorithms

J.D. Dixon, (MAT), Algorithms, Algebra, Number Theory

A.E.F. Fahim, (MCG), Nonlinear Optimization, CAD/CAM Methodology and Software, FMC Control Environment, Robot Control, Expert Systems for Design and Manufacturing

Frantisek Fiala, (SCS), Optimization, Combinatorics

N.D. Georganas, (ELG), Computer Communications, Mobile Radio

Morris Goldberg, (ELG), Image Processing, Pattern Recognition

R.C. Holte, (CSI) Artificial Intelligence, Machine Learning, Knowledge Compilation

N.M. Holtz, (C) Computer-aided Structural Engineering

G.M. Karam, (SCE), Concurrent and Real-Time Systems, Software Engineering, Communications Software

A.R. Kaye, (SCE), Broadband Networks, BISDN, ATM, Performance Evaluation, Traffic Management and Design

G.F. Kersten, (BUS), Knowledge-based Systems, Intelligent Decision Support, Problem Structuring and Representation

Evangelos Kranakis, (SCS), Cryptography, Computational Number Theory, Combinatorial Analysis, Computational Geometry, Distributed Computing, Mathematical Logic

Moshe Krieger, (ELG), Computer Architecture

Danny Krizanc, (SCS), Parallel and Distributed Computing, Analysis of Algorithms and Use of Randomization in Computation

W.R. LaLonde, (SCS), Object-Oriented Systems, Design and Analysis Tools, Animation Systems

Luigi Logrippo, (CSI), Software Methodology, Communications Protocols

S.A. Mahmoud, (SCE), Wireless Communication Systems, Protocols for High Speed Networks, Speech Processing and Computer Network Design

S.J. Matwin, (CSI), Programing Languages, Expert Systems

A. Mili, (CSI), Formal Specification, Program Transformation

L.R. Morris, (SCE), Signal Processing, Speech Analysis, Graphics

B.C. Mortimer, (MAT), Combinatorics, Algorithms, Groups Theory

J. E. Neilson, (SCS), Distributed and Parallel Computing (including Operating Systems, Performance Models, and Applications), Simulation and Prototyping Methodology, Computer Systems Performance Engineering

L.D. Nel, (SCS), Network Reliability and Performance, Digital Signal Processing, Computer Music

J.B. Oommen, (SCS), Learning Systems, Stochastic Automata, Pattern Recognition, Image Processing, Adaptive Data Structures

Franz Oppacher, (SCS), Artificial Intelligence, Genetic Algorithms, Evolutionary Computing, Machine Learning

T.I. Oren, (CSI), Simulation, Modelling

R.B. Osborne, (SCS), Speculative Computation, Parallel Processing, Programing Languages

E.J. Otoo, (SCS), Databases, Algorithms

Bernard Pagurek, (SCE), Communications Network Management, Artificial Intelligence and Fault Management, Knowledge-Based Software Debugging

R.L. Probert, (CSI), Communications, Expert Systems

J.R. Pugh, (SCS), Object-Oriented Programing Systems, User Interfaces, Computer Graphics

Jacques Raymond, (CSI), Computer Architecture, Graphics

Irwin Reichstein, (SCS), Numerical Applications, Microcomputers

Ivan Rival, (CSI), Combinatorics, Optimization, Algorithms

J.-R. Sack, (SCS), Algorithms and Complexity, Sequential and Parallel Computing, Computational Geometry, Geographic Information Systems, Medical Computing

Nicola Santoro, (SCS), Distributed Computing, Fault-Tolerance, Discrete Chaos, Reactive Environments

Philip Scott, (CSI), Logic, Theoretical Computer Science, Category Theory

J.B. Sidney, (ADM), Combinatorics, Complexity, Computational Geometry

D.R. Skuce, (CSI), Artificial Intelligence, Logic Programing

Ivan Stojmenovic, (CSI), Computational Geometry, Multiple-valued Logics, Parallel Computing

Stan Szpakowicz, (CSI), Logic Programing, Computational Linguistics

D.A. Thomas, (SCS), Artificial Intelligence, Fifth Generation Machines

Hasan Ural, (CSI), Software Reliability and Testing, Data Communication Protocols, Applications of Logic Programing

Jorge Urrutia, (CSI), Algorithms, Combinatorics, Geometry And Algorithms

Rémi Vaillancourt, (CSI), Numerical Methods

G.M. White, (CSI), Networking, Office Automation

C.M. Woodside, (SCE), Performance Modelling, Performance of Distributed Software, Software Design, Queuing Theory

Negib Zaguia, (CSI), Optimization, Theory of Algorithms, Theory of Ordered Sets

Master of Computer Science

Admission Requirements

Applicants should have an honours bachelor's degree in computer science or 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 courses, two of which must be at the fourth-year level, as well as eight half courses in mathematics, one of which must be at the third- or fourth-year 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

Mathematics

Calculus, linear algebra, algebraic structures or discrete mathematics, probability and statistics, numerical analysis. Applicants who have a general (pass) bachelor's degree, or who otherwise lack the required undergraduate preparation, may be admitted to a qualifying-year program. Refer to the general 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:

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 five half courses or equivalent, fulfil the graduate seminar requirement, and complete a thesis. Students in the non-thesis option must take eight half courses, plus a graduate project (project is equal to one full 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:

The graduate seminar requirement includes a seminar presentation and participation in at least thirteen seminars 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 that 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 supervisor of graduate studies. A thesis supervisor and a 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 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

Guidelines for Completion of the Doctoral Degree

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

During the first term, the thesis supervisor and the student must select courses. Course selection must be submitted for approval to the director or associate director of the Institute. An advisory committee comprised of three to five faculty members must be established before the end of the second term. The committee is responsible for the comprehensive examination, the thesis proposal, and for guiding the student's research. The advisory committee must be approved by the director or associate director of the Institute. Comprehensive examinations must be taken within the first 12 months. All course requirements must be completed within the first 24 months. The student must submit a written thesis proposal and defend it in an oral examination. The expected completion time for the Ph.D. program is nine to 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

The courses in the following list are offered by various departments indicated by the prefix of the course code as follows:

Carleton University

University of Ottawa

Software Engineering

Theory of Computing

Computer Applications

Computer Systems

Theses, Projects and Topics