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 sotware 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.
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,* Complexity, Algorithms, Computational Algebra (SCS)
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 Regulations section of this Calendar for regulations governing
the qualifying year.
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 (or the equivalent), fulfil the graduate seminar requirement, and complete a thesis. Students in the non-thesis option must take 4.0 credits (or the equivalent), 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:
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.
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.
Carleton University
70 Department 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 Programing 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
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
CSI5174T
(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
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
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