Carleton University Canada's 
Capital University
 

Graduate Calendar Archives: 1998 / 1999

Ottawa-Carleton Institute for Computer Science

Ottawa-Carleton Institute for Computer Science

Herzberg Building 5302
Telephone: 520-4333
Fax: 520-4334
E-mail: scs@carleton.ca

The Institute

Director of the Institute, B.J. Oommen

Associate Director of the Institute, S.J. Matwin

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.

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.

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

  • M.D. Atkinson, Complexity, Algorithms, Computational Algebra (SCS - Adjunct)
  • L.G. Birta, Simulation, Optimization, Numerical Algorithms (CSI)
  • P. Bose, Applied Geometric Computing, Computational Geometry, Data Structures, Algorithms Design and Analysis, Randomized Algorithms, Graph Theory (SCS)
  • Sylvia Boyd, Optimization, Combinatorics (CSI)
  • R.J. Buhr, Software Design, Design Visualization, Real-Time and Distributed Systems, Object-Oriented Systems, Software Architecture, Use Case-Maps (SCE)
  • J.W. Chinneck, Operations Research, Applied Optimization (SCE)
  • J.-P. Corriveau, Cognitive Science, Natural Language Understanding, CASE Tools (SCS)
  • S.P. Dandamudi, Parallel and Distributed Systems, Database Systems, Performance Evaluation, Computer Architecture, Operating Systems (SCS)
  • N.W. Dawes, Diagnosis and Pattern Recognition (SCE - Adjunct)
  • Frank Dehne, Computational Geometry, VLSI Algorithms (SCS)
  • D. Deugo, Large-Scale Distributed Object Computing, Evolutionary Computation (Genetic Algorithms, Genetic Programming, Artificial Life), Object-Oriented Systems (SCS)
  • J.D. Dixon, Algorithms, Algebra, Number Theory (MAT)
  • A.E.F. Fahim, Nonlinear Optimization, CAD/CAM Methodology and Software, FMC Control Environment, Robot Control, Expert Systems for Design and Manufacturing (MCG)
  • Frantisek Fiala, Combinatorial Algorithms, Vehicle Routing Problems, Software Tools (SCS)
  • N.D. Georganas,Computer Communications, Mobile Radio (ELG)
  • Morris Goldberg, Image Processing, Pattern Recognition (ELG)
  • R.C. Holte, Artificial Intelligence, Machine Learning, Knowledge Compilation (CSI)
  • N.M. Holtz,Computer-aided Structural Engineering (C)
  • A. Karmouch, Multimedia Communications, Multimedia Real-Time Distributed Information Systems and Databases (ELG)
  • G.E. Kersten, Knowledge-based Systems, Intelligent Decision Support, Problem Structuring and Representation (BUS)
  • Evangelos Kranakis, Cryptography, Computational Number Theory, Combinatorial Analysis, Computational Geometry, Distributed Computing, Distributed and Data Networks SCS)
  • Moshe Krieger, Computer Architecture (ELG)
  • Danny Krizanc, Parallel and Distributed Computing, Analysis of Algorithms and Use of Randomization in Computation (SCS)
  • 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. Laganiere, Computer Vision, Image Processing (CSI)
  • W.R. LaLonde, Object-Oriented Systems, Design and Analysis Tools, Animation Systems (SCS)
  • Luigi Logrippo, Software Methodology, Communications Protocols (CSI)
  • A. Maheshwari, Data Structures and Algorithms, Parallel Computation, Computational Geometry, Graph Algorithms (SCS)
  • S.A. Mahmoud, Wireless Communication Systems, Software Project Management, Protocols for High Speed Networks, Speech Processing and Computer Network Design (SCE)
  • M. Marchand, Computational Learning Theory, Machine Learning, Neural Networks (CSI)
  • S.J. Matwin, Programing Languages, Expert Systems (CSI)
  • A. Mili, Formal Specification, Program Transformation (CSI)
  • B.C. Mortimer, Combinatorics, Algorithms, Groups Theory (MAT)
  • J. E. Neilson, Distributed and Parallel Computing including: Operating Systems, Performance Models, and Design Tools; Simulation and Prototyping Methodology, Computer Systems Performance Engineering (SCS-Adjunct)
  • L.D. Nel, Object-Oriented Programing and Obect-Oriented Development, Computer Music and Multimedia (SCS)
  • J.B. Oommen, Learning Systems, Stochastic Automata, Syntactic Pattern Recognition, Adaptive Data Structures, Neural Networks (SCS)
  • Franz Oppacher, Artificial Intelligence, Genetic Algorithms, Evolutionary Computing, Machine Learning (SCS)
  • T.I. Ören, Simulation, Modelling (CSI)
  • E.J. Otoo, Databases, Algorithms (SCS)
  • Bernard Pagurek, Communications Network Management, Artificial Intelligence and Fault Management, Knowledge-Based Software Debugging (SCE)
  • R.L. Probert, Communications, Expert Systems (CSI)
  • J.R. Pugh, Object-Oriented Development Environments (SCS - Adjunct)
  • Jacques Raymond, Computer Architecture, Graphics (CSI)
  • Ivan Rival, Combinatorics, Optimization, Algorithms (CSI)
  • J.-R. Sack, Algorithms and Complexity, Computational Geometry, Geographic Information Systems, Parallel Computing, Graphics (SCS)
  • Nicola Santoro, Distributed Computing, Fault-Tolerance, Discrete Chaos, Reactive Environments (SCS)
  • Philip Scott, Logic, Theoretical Computer Science, Category Theory (CSI)
  • J.B. Sidney, Combinatorics, Complexity, Computational Geometry (ADM)
  • D.R. Skuce, Artificial Intelligence, Logic Programing (CSI)
  • Ivan Stojmenovic, Computational Geometry, Multiple-valued Logics, Parallel Computing (CSI)
  • Stan Szpakowicz, Logic Programing, Computational Linguistics (CSI)
  • D.A. Thomas, Artificial Intelligence, Fifth Generation Machines (SCS - Adjunct)
  • Hasan Ural, Software Reliability and Testing, Data Communication Protocols, Applications of Logic Programing (CSI)
  • Jorge Urrutia, Algorithms, Combinatorics, Geometry And Algorithms (CSI)
  • Rémi Vaillancourt, Numerical Methods (CSI)
  • G.M. White, Networking, Office Automation (CSI)
  • C.M. Woodside, Performance Modelling, Performance of Distributed Software, Software Design, Queuing Theory (SCE)
  • Negib Zaguia, Optimization, Theory of Algorithms, Theory of Ordered Sets (CSI)

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 400-level, as well as eight half credits in mathematics, one of which must be at the 300- or 400-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 (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 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 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 2.5 credits, at the graduate level which must include: 0.5 credit in software engineering; 0.5 credit in the theory of computing; 0.5 credit in either computer applications or computer systems
  • Presentation of at least two seminars in the Ottawa-Carleton Institute for Computer Science seminar series
  • A comprehensive examination involving breadth and depth components
  • A written thesis proposal defended at an oral examination
  • A research thesis, defended at an oral examination

Guidelines for Completion of the Doctoral Degree

The following completion times are estimates 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

Not all of the following courses are offered in a given year. For an up-to-date statement of course offerings for 1998-99, please consult the Registration Instructions and Class Schedule booklet published in the summer. face="Times New Roman">

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

Carleton University

70   School of Mathematics and Statistics
94 Department of Systems and Computer Engineering
95 School of Computer Science
97 Department of Electronics

University of Ottawa

CSI Department of Computer Science
ELG Department of Electrical Engineering
MAT Department of Mathematics

Software Engineering

94.480   Software Engineering
95.404   Systems Software
95.490   Advanced Topics in Computer Science
94.531 (ELG6131) System Design with Ada
94.571 (CSI5117) Operating System Methods for Real-Time Applications
94.573 (ELG6173) Integrated Database Systems
94.579 (ELG6179) Advanced Topics in Software Engineering
94.586 (ELG6186) Object-Oriented Design of Real-Time and Distributed Systems
95.501 (CSI5113) Foundations of Programming Languages
95.502 (CSI5119) User-Interface Facilities
95.514 (CSI5314) Object-Oriented Systems
95.516 (CSI5123) Languages for Parallel Computing
95.614 (CSI7314) Advanced Topics in Object-Oriented Systems
95.663 (CSI7161) Advanced Topics in Programing Systems and Languages
CSI5107 (95.569) Program Construction and Fault Tolerance
CSI5109 (95.571) Specification Methods for Distributed Systems
CSI5111 (95.551) Software Testing: Theory and Practice
CSI5118 (95.578) Design of Compilers and Translators
CSI5181 (95.575) Artificial Intelligence in Software Engineering
CSI5184 (95.584) Logic Programing
CSI5507 (95.569) La Construction et la Tolérance aux Fautes des Programmes
CSI5509 (95.571) Méthodes Algébriques pour la Spécification de Systemes Répartis
CSI5518 (95.578) Conception des compilateurs et traducteurs
CSI5584 (95.584) Programmation logique
     

Theory of Computing

70.482   Introduction to Mathematical Logic
70/95.483   Topics in Applied Logic
70/95.484   Design and Analysis of Algorithms
70/95.485   Theory of Automata
70/95.486   Numerical Linear Analysis
95.409   Introduction to Parallel and Systolic Computing
70.565 (MAT5165) Theory of Automata
70.585 (MAT5308) Topics of Algorithm Design
94.505 (ELG6105) Optimization Theory and Methods
95.503 (CSI5308) Principles of Distributed Computing
95.504 (CSI5305) Topics in Arithmetic Complexity
95.505 (CSI5390) Learning Systems for Random Environments
95.508 (CSI5164) Computational Geometry
95.517 (CSI5185) Principles of Pattern Recognition
95.522 (CSI5172) Network Reliability
95.523 (CSI5173) Data Networks
95.528 (CSI5167) Complexity of Boolean Functions
95.573 (CSI5163) Algorithm Analysis and Design
95/70.587 (CSI5104) Formal Language and Syntax Analysis
95.661 (CSI7160) Advanced Topics in Theory of Computing
95.662 (CSI7170) Advanced Topics in Distributed Computing
CSI5101 (95.561) Formal Models of Computational Systems
CSI5107 (95.569) Program Construction and Fault Tolerance
CSI5108 (95.570) Software Specification and Verification
CSI5110 (95.577) Principles of Formal Software Development
CSI5162 (95.572) Order: Its Algorithms and Graphical Data Structures
CSI5164 (95.508) Computational Geometry
CSI5165 (95.579) Combinatorial Algorithms
CSI5166 (95.585) Applications of Combinatorial Optimization
CSI5174 (95.564) Validation Methods for Distributed Systems
CSI5507 (95.569) La Construction et la Tolérance aux Fautes de Programmes
CSI5508 (95.570) Spécification et Vérification de Logiciels
CSI5510 (95.577) Principes de développement formel de logiciels
CSI5565 (95.579) Algorithmes Combinatoires

Computer Applications

70/95.486   Numerical Linear Algebra
94.405   Discrete Simulation and Its Applications
95.402   Computer Graphics
95.403   Transaction Processing Systems
95.405   First Course in Robotics and Computer Vision
95.407   Applied Artifical Intelligence
70.569 (MAT5301) Order: Its Algorithms and Graphical Data Structures
70.581 (MAT5303/
ADM6385)
Linear Optimization
70.583 (MAT5304/
ADM6386)
Nonlinear Optimization
70.584 (MAT5307/
ADM6387)
Topics in Operations Research
70.586 (MAT5180) Numerical Analysis
70.588 (MAT5305) Combinatorial Optimization I
70.589 (MAT5306) Combinatorial Optimization II
94.501 (ELG6101) Simulation and Modelling
94.503 (ELG6103) Discrete Stochastic Models
94.504 (ELG6104) Mathematical Programing for Engineering Applications
94.505 (ELG6105) Optimization Theory and Methods
94.535 (ELG6135) Representations and Methods in Design Tools for Concurrent Systems
94.538 (ELG6138) Computer Architecture and Parallel Processing
94.542 (ELG6142) Advanced Dynamics with Applications to Robots
94.561 (ELG6161) Neural Signal Processing
94.563 (ELG6163) Digital Signal Processing Microprocesors, Software and Applications
95.506 (CSI5306) Natural Language Understanding
95/94.507 (CSI5307) Expert Systems
95.510 (CSI5180) Topics in Artificial Intelligence
95.513 (CSI5313) Cryptography
95.520 (CSI5182) Cerebral Computations
95.524 (CSI5124) Computational Aspects of Geographic Information Systems
95.526 (CSI5183) Genetic Algorithms and Artificial Life
95.664 (CSI7162) Advanced Topics in Computer Applications
CSI5114 (95.554) Automated Office Systems
CSI5125 (95.517) Simulation
CSI5161 (95.566) Topics in System Simulation and Optimization
CSI5162 (95.572) Order: Its Algorithms and Graphical Data Structures
CSI5181 (95.575) Artificial Intelligence Applications in Software Engineering
CSI5304 (95.562) Knowledge Engineering
CSI5386 (95.555) Natural Language Processing
CSI5387 (95.576) Data Mining and Concept Learning
CSI5388 (95.581) Topics in Machine Learning
CSI5514 (95.554) Bureautique
CSI5580 (95.510) Sujet en intelligence artificielle
CSI5581 (95.575) Applications de l’intelligence artificielle dans le développement des systèmes
CSI5787 (95.576) Apprentissage Symbolique Automatique
ELG5162 (92.505) Knowledge-Based Systems: Principles and Design
ELG5163 (92.510) Machine Vision
ELG5196 (92.579) Automata and Neural Networks: Applications in Machine Perception
ELG5199 (92.514) Design of Multimedia Distributed Database Systems
ELG5373 (92.515) Secure Communications and Data Encryption

Computer Systems

94.457   Introduction to the Architecture of Computer Systems
94.470   Introduction to Telecommunications
95.408   Performance Modelling
94.506 (ELG6106) Design of Real-Time and Distributed Systems
94.511 (ELG6111) Design of High Performance Software
94.519 (ELG6119) Teletraffic Engineering
94.521 (ELG6121) Computer Communications
94.527 (ELG6127) Distributed Processing Systems
94.538 (ELG6138) Computer Architecture and Parallel Processing
94.558 (ELG6158) Digital Systems Architecture
94.563 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications
94.571 (CSI5117) Operating System Methods for Real-Time Applications
94.576 (ELG6176) Analytical Performance Models of Computer Systems
94.577 (ELG6177) Teleprocessing Software Design
94.581 (ELG6181) Advanced Topics in Computer Communications
94.587 (ELG6187) Advanced Topics in Computer Systems
95.503 (CSI5308) Principles of Distributed Computing
95.509 (CSI5141) Associative Data Structures and Advanced Databases
95.511 (CSI5311) Distributed Databases and Transaction Processing Systems
95.512 (CSI5312) Distributed Operating Systems
95.515 (CSI5132) Parallel Processing Systems
95.517 (CSI5185) Principles of Pattern Recognition
95.523 (CSI5173) Data Networks
95.574 (CSI5131) Parallel Algorithms and their Implementation
95.610 (CSI7131) Advanced Parallel and Systolic Algorithms
95.662 (CSI7170) Advanced Topics in Distributed Computing
95.665 (CSI7163) Advanced Topics in Computer Systems
97.587 (ELG6387) Microprocessor Electronics
CSI5109 (95.571) Specification Methods for Distributed Systems
CSI5114 (95.554) Automated Office Systems
CSI5133 (95.568) Simulation and Testing of Logic Circuits
CSI5135 (95.565) High Level Language Machines
CSI5170 (95.580) Distributed Data Processing
CSI5171 (95.583) Software for Communication Networks
CSI5174 (95.564) Validation Methods for Distributed Systems
CSI5509 (95.571) Méthodes Algébriques pour la Spécification de Systems Répartis
CSI5514 (95.554) Bureautique
CSI5535 (95.565) Les machines de haut niveau
ELG5192 (92.577) Microprocessor-based Systems
ELG5193 (92.578) Multi-microprocessor Systems
ELG5194 (92.573) Design and Testing of Reliable Digital Systems
ELG5197 (92.512) Introduction to Embedded Systems
ELG5198 (92.513) Parallel Processing with VLSI
ELG5374 (92.567) Computer-Communication Networks
ELG5378 (92.559) Image Processing Techniques and Image Communications

Theses, Projects and Topics

95.590 (CSI5140) Selected Topics in Computer Science
95.591 (CSI5901) Directed Studies (M.C.S.)
95.592 (CSI5900) Graduate Project (M.C.S.)
95/70/94.595 (CSI7999) M.C.S. Thesis
95.661 (CSI7160) Advanced Topics in the Theory of Computing
95.662 (CSI7170) Advanced Topics in Distributed Computing
95.663 (CSI7161) Advanced Topics in Programing Systems and Languages
95.664 (CSI7162) Advanced Topics in Computer Applications
95.665 (CSI7163) Advanced Topics in Computer Systems
95.691 (CSI7901) Directed Studies (Ph.D)
95.692 (CSI7900) Graduate Project (Ph.D)
95.699 (CSI9999) Ph.D. Thesis
CSI9998   Examen général de doctorat/Ph.D. Comprehensive Examination
© 2025 Carleton University 1125 Colonel By Drive, Ottawa, ON, K1S 5B6 Canada | (613) 520-7400 Contact | Privacy Policy