Print and PDF Options

School of Computer Science
Herzberg Bldg 5302
613-520-4333
http://scs.carleton.ca

This section presents the requirements for programs in:

Program Requirements

M.C.S. Computer Science (5.0 credits)

Requirements - Thesis pathway (5.0 credits)
1.  2.5 credits in course work. Course work must include a minimum of 1.5 credits of OCICS courses in three different research areas (see OCICS course listing by research areas).2.5
2.  2.5 credits in:2.5
COMP 5905 [2.5]
M.C.S. Thesis (Each candidate submitting a thesis will be required to undertake an oral defence of the thesis.)
Total Credits5.0
Requirements - Research Project pathway (5.0 credits)
1.  4.0 credits in course work. Course work must include a minimum of 1.5 credits of OCICS courses in three different research areas (see OCICS course listing by research areas).4.0
2.  1.0 credit in Graduate project (Each candidate submitting a Project will be required to present a departmental seminar on their Project)1.0
COMP 5903 [1.0]
Graduate Project (M.C.S.)
Total Credits5.0

M.C.S. Computer Science
with Specialization in Data Science (5.0 credits)

Requirements - Thesis pathway (5.0 credits)
1.  0.5 credit in:0.5
DATA 5000 [0.5]
Data Science Seminar
2.  2.0 credits in course work. Course work must include a minimum of 1.5 credits of OCICS courses in at least three different research areas. See OCICS course listing by research areas.2.0
3.  2.5 credits in:2.5
COMP 5905 [2.5]
M.C.S. Thesis (M.C.S. Thesis must be in an area of Data Science and requires approval from the Institute of Data Science. Each candidate submitting a thesis will be required to undertake an oral defence of the thesis.)
Total Credits5.0
 

Ph.D. Computer Science (1.5 credits)

Requirements:
1.  1.5 credits in OCICS courses. Course work must include a minimum of 1.5 credits of OCICS courses in at least three different research areas (see OCICS course listing by research areas) within the first 4 terms.1.5
The admission committee and the student's advisory committee may impose additional program requirements according to the student's background and research topic.
2. Requirement of two seminars.
3.  0.0 credit in: 0.0
COMP 6907 [0.0]
Doctoral Comprehensive (involving breadth and depth components, must be taken within the first 4 terms)
4.  0.0 credit in:0.0
COMP 6908 [0.0]
Doctoral Proposal (defended at an oral examination within the first 6 terms)
5.  0.0 credits in:
COMP 6909 [0.0]
Ph.D. Thesis (defended at an oral examination)
Total Credits1.5
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 EECS at the University of Ottawa. The advisory committee must be approved by the director or associate director of the Institute.

  • All course requirements must be completed within the first four (4) terms.

  • Within the first six (6) 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 must satisfy the seminar requirement

Graduate Courses

The following graduate courses are offered by the joint Ottawa-Carleton Institute for Computer Science (OCICS). The institute comprises the School of Electrical Engineering and Computer Science (EECS) at the University of Ottawa and the School of Computer Science (SCS) at Carleton University. Typically, the courses with COMP (CSI) designation are offered by SCS and the courses with CSI (COMP) designation are offer by EECS. Note that not all of the following courses are offered in a given year. For an up-to-date statement of course offerings or to determine the term of offering, consult central.carleton.ca. The courses are grouped according to research areas as follows:

Software Engineering
COMP 5001 (CSI 5113) Foundations of Programming Languages
COMP 5104 (CSI 5314) Object-Oriented Software Development
COMP 5110 (CSI 5136) Computer Security and Usability
COMP 5113 Machine Learning for Healthcare
COMP 5116 (CSI 5155.) Machine Learning
COMP 5117 (CSI 5346.) Mining Software Repositories
COMP 5119 (CSI 5345.) Internet of Things Security
COMP 5209 (CSI 5135) Visual Analytics
COMP 6104 (CSI 7314) Advanced Topics in Object-Oriented Systems
COMP 6603 (CSI 7161,CSI 7561) Advanced Topics in Programming Systems and Languages
CSI 5111 (COMP 5501) Software Quality Engineering
CSI 5112 (COMP 5207) Software 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 5134 (COMP 5004) Fault Tolerance
SYSC 5101 (ELG 6111) Design of High Performance Software
SYSC 5103 (ELG 6113) Software Agents
SYSC 5105 (ELG 6115) Software Quality Engineering and Management
SYSC 5709 (ELG 6179) Advanced Topics in Software Engineering
Theory of Computing
COMP 5003 (CSI 5308) Principles of Distributed Computing
COMP 5005 (CSI 5390) Learning Systems for Random Environments
COMP 5008 (CSI 5164) Computational Geometry
COMP 5107 (CSI 5185) Statistical and Syntactic Pattern Recognition
COMP 5111 (CSI 5153) Data Management for Business Intelligence
COMP 5112 (CSI 5154) Algorithms for Data Science
COMP 5113 Machine Learning for Healthcare
COMP 5116 (CSI 5155.) Machine Learning
COMP 5119 (CSI 5345.) Internet of Things Security
COMP 5203 (CSI 5173) Data Networks
COMP 5306 (CSI 5100) Data Integration
COMP 5307 (CSI 5101) Knowledge Representation
COMP 5308 (CSI 5102) Topics in Medical Computing
COMP 5310 (CSI 5152) Evolving Information Networks
COMP 5408 (CSI 5121) Advanced Data Structures
COMP 5409 (CSI 5127) Applied Computational Geometry
COMP 5703 (CSI 5163) Algorithm Analysis and Design
COMP 6601 (CSI 7160) Advanced Topics in the Theory of Computing
COMP 6602 (CSI 7170,CSI 7970) Advanced Topics in Distributed Computing
CSI 5108 (COMP 5700) Software Specification and Verification
CSI 5110 (COMP 5707) Principles of Formal Software Development
CSI 5126 (COMP 5108) Algorithms in Bioinformatics
CSI 5148 (COMP 5103) Wireless Ad Hoc Networking
CSI 5149 (COMP 5007) Graphical Models
CSI 5161 (COMP 5606) Topics in System Simulation and Optimization
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 5510 (COMP 5707) Principes de developpement formel de logiciels
CSI 5526 (COMP 5108) Algorithmes en bioinformatique
CSI 5565 (COMP 5709) Algorithmes combinatoires
Computer Applications
COMP 5002 (CSI 5128) Swarm Intelligence
COMP 5100 (CSI 5180,CSI 5580) Topics in Artificial Intelligence
COMP 5110 (CSI 5136) Computer Security and Usability
COMP 5111 (CSI 5153) Data Management for Business Intelligence
COMP 5112 (CSI 5154) Algorithms for Data Science
COMP 5113 Machine Learning for Healthcare
COMP 5114 Quantum Communications and Networking
COMP 5115 (CSI 5344.) Geometry Processing
COMP 5116 (CSI 5155.) Machine Learning
COMP 5117 (CSI 5346.) Mining Software Repositories
COMP 5118 (CSI 5347.) Trends in Big Data Management
COMP 5204 (CSI 5124) Computational Aspects of Geographic Information Systems
COMP 5206 (CSI 5183) Evolutionary Computation and Artificial Life
COMP 5209 (CSI 5135) Visual Analytics
COMP 5210 (CSI 5167) Human-Computer Interaction Models, Theories, and Frameworks
COMP 5220 (CSI 5175) Mobile Commerce Technologies
COMP 5305 (CSI 5129) Advanced Database Systems
COMP 5306 (CSI 5100) Data Integration
COMP 5307 (CSI 5101) Knowledge Representation
COMP 5308 (CSI 5102) Topics in Medical Computing
COMP 5310 (CSI 5152) Evolving Information Networks
COMP 5401 (CSI 5389, CSI 5789) Electronic Commerce Technologies
COMP 5406 (CSI 5105) Network Security and Cryptography
COMP 5407 (CSI 5116) Authentication and Software Security
COMP 6604 (CSI 7162) Advanced Topics in Computer Applications
CSI 5126 (COMP 5108) Algorithms in Bioinformatics
CSI 5146 (COMP 5202) Computer Graphics
CSI 5147 (COMP 5201) Computer Animation
CSI 5151 (COMP 5205) Virtual Environments
CSI 5168 (COMP 5309) Digital Watermarking
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 5526 (C0MP 5108) Algorithmes en bioinformatique
CSI 5580 (COMP 5100) Sujet en intelligence artificielle
CSI 5780 (COMP 5405) Systemes et architectures des logiciels pour le commerce electronique
CSI 5787 (COMP 5706) Fouille des donnees et apprentissage des concepts
Computer Systems
COMP 5003 (CSI 5308) Principles of Distributed Computing
COMP 5101 (CSI 5311) Distributed Databases and Transaction Processing Systems
COMP 5102 (CSI 5312) Distributed Operating Systems
COMP 5107 (CSI 5185) Statistical and Syntactic Pattern Recognition
COMP 5118 (CSI 5347.) Trends in Big Data Management
COMP 5203 (CSI 5173) Data Networks
COMP 5305 (CSI 5129) Advanced Database Systems
COMP 5401 (CSI 5389, CSI 5789) Electronic Commerce Technologies
COMP 5402 (CSI 5142) Protocols for Mobile and Wireless Networks
COMP 5406 (CSI 5105) Network Security and Cryptography
COMP 5407 (CSI 5116) Authentication and Software Security
COMP 5704 (CSI 5131) Parallel Algorithms and Applications in Data Science
COMP 6100 (CSI 7131) Advanced Parallel and Systolic Algorithms
COMP 6602 (CSI 7170,CSI 6970) Advanced Topics in Distributed Computing
COMP 6605 (CSI 7163) Advanced Topics in Computer Systems
CSI 5134 (COMP 5004) Fault Tolerance
CSI 5147 (COMP 5201) Computer Animation
CSI 5148 (COMP 5103) Wireless Ad Hoc Networking
CSI 5161 (COMP 5606) Principles of Distributed Simulation
CSI 5168 (COMP 5309) Digital Watermarking
CSI 5169 (COMP 5304) Wireless Networks and Mobile Computing
CSI 5174 (COMP 5604) Validation Methods for Distributed Systems
CSI 5380 (COMP 5405) Systems and Architectures for Electronic Commerce
CSI 5780 (COMP 5405) Systemes et architectures des logiciels pour le commerce electronique
COMP 5220 (CSI 5175) Mobile Commerce Technologies
Others
COMP 5900 (CSI 5140) Selected Topics in Computer Science
COMP 5901 (CSI 5901) Directed Studies (M.C.S.)
COMP 5903 (CSI 6900) Graduate Project (M.C.S.)
COMP 5905 (CSI 7999) M.C.S. Thesis
COMP 5913 (CGI 6001/CGI 6002) Master's Co-operative Work Term
COMP 6901 (CSI 7901) Directed Studies (Ph.D.)
COMP 6902 (CSI 7900) Graduate Project (Ph.D.)
COMP 6907 (CSI 9998) Doctoral Comprehensive
COMP 6908 (CSI 9997) Doctoral Proposal
COMP 6909 (CSI 9999) Ph.D. Thesis

Computer Science (COMP) Courses

COMP 5001 [0.5 credit] (CSI 5113)
Foundations of Programming Languages

Advanced study of programming paradigms from a practical perspective. Paradigms may include functional, imperative, concurrent, distributed, generative, aspect- and object-oriented, and logic programming. Emphasis on underlying principles. Topics may include: types, modules, inheritance, semantics, continuations, abstraction and reflection.

COMP 5002 [0.5 credit] (CSI 5128)
Swarm Intelligence

Collective computation, collective action, and principles of self-organization in social agent systems. Algorithms for combinatorial optimization problems, division of labour, task allocation, task switching, and task sequencing with applications in security, routing, wireless and ad hoc networks and distributed manufacturing.

COMP 5003 [0.5 credit] (CSI 5308)
Principles of Distributed Computing

Formal models of distributed environment; theoretical issues in the design of distributed algorithms; message and time complexity; problem solving in distributed settings. Problems discussed may include: coordination and control, information diffusion, leader election, consensus, distributed data operations, computing by mobile entities.

COMP 5004 [0.5 credit] (CSI 5134)
Fault Tolerance

Hardware and software techniques for fault tolerance. Topics include modeling and evaluation techniques, error detecting and correcting codes, module and system level fault detection mechanisms, design techniques for fault-tolerant and fail-safe systems, software fault tolerance through recovery blocks, N-version programming, algorithm-based fault tolerance, checkpointing.

COMP 5005 [0.5 credit] (CSI 5390)
Learning Systems for Random Environments

Computerized adaptive learning for random environments and its applications. Topics include a mathematical review, learning automata which are deterministic/stochastic, with fixed/variable structures, of continuous/discretized design, with ergodic/absorbing properties and of estimator families.
Prerequisite(s): SYSC 5503 or equivalent.

COMP 5007 [0.5 credit] (CSI 5149)
Graphical Models and Applications

Bayesian networks, factor graphs, Markov random fields, maximum a posteriori probability (MAP) and maximum likelihood (ML) principles, elimination algorithm, sum-product algorithm, decomposable and non-decomposable models, junction tree algorithm, completely observed models, iterative proportional fitting algorithm, expectation- maximization (EM) algorithm, iterative conditional modes algorithm.

COMP 5008 [0.5 credit] (CSI 5164)
Computational Geometry

Study of design and analysis of algorithms to solve geometric problems; emphasis on applications such as robotics, graphics, and pattern recognition. Topics include: visibility problems, hidden line and surface removal, path planning amidst obstacles, convex hulls, polygon triangulation, point location.

COMP 5100 [0.5 credit] (CSI 5180.)
Topics in Artificial Intelligence

Areas in knowledge-based systems including recent approaches to machine learning and data mining, inference methods, knowledge-based and fuzzy systems, heuristic search, and natural language processing.
Precludes additional credit for COMP 4106 (no longer offered).

COMP 5101 [0.5 credit] (CSI 5311)
Distributed Databases and Transaction Processing Systems

Principles in the design and implementation of distributed databases and distributed transaction processing systems. Topics include: distributed computing concepts, computing networks, distributed and multi-database system architectures and models, atomicity, synchronization and distributed concurrency control algorithms, data replication, recovery techniques, reliability in distributed databases.

COMP 5102 [0.5 credit] (CSI 5312)
Distributed Operating Systems

Design issues of advanced multiprocessor distributed operating systems: multiprocessor system architectures; process and object models; synchronization and message passing primitives; memory architectures and management; distributed file systems; protection and security; distributed concurrency control; deadlock; recovery; remote tasking; dynamic reconfiguration; performance measurement, modeling, and system tuning.

COMP 5103 [0.5 credit] (CSI 5148)
Wireless Ad Hoc Networking

Self-organized, mobile, and hybrid ad hoc networks. Physical, medium access, networks, transport and application layers, and cross-layering issues. Power management. Security in ad hoc networks. Topology control and maintenance. Data communication protocols, routing and broadcasting. Location service for efficient routing.

COMP 5104 [0.5 credit] (CSI 5314)
Object-Oriented Software Development

Issues in modeling and verifying quality and variability in object-oriented systems. Testable models in model-driven and test-driven approaches. System family engineering. Functional conformance: scenario modeling and verification, design by contract. Conformance to non functional requirements: goals, forces and tradeoffs, metrics.

COMP 5107 [0.5 credit] (CSI 5185)
Statistical and Syntactic Pattern Recognition

Topics include a mathematical review, Bayes decision theory, maximum likelihood and Bayesian learning for parametric pattern recognition, non-parametric methods including nearest neighbor and linear discriminants. Syntactic recognition of strings, substrings, subsequences and tree structures. Applications include speech, shape and character recognition.

COMP 5108 [0.5 credit] (CSI 5126)
Algorithms in Bioinformatics

Fundamental mathematical and algorithmic concepts underlying computational molecular biology; physical and genetic mapping, sequence analysis (including alignment and probabilistic models), genomic rearrangement, phylogenetic inference, computational proteomics and systemics modelling of the whole cell.

COMP 5110 [0.5 credit] (CSI 5136)
Computer Security and Usability

This course focuses on designing and evaluating security and privacy software with particular attention to human factors and how interaction design impacts security. Topics include current approaches to usable security, methodologies for empirical analysis, and design principles for usable security and privacy.

COMP 5111 [0.5 credit] (CSI 5153)
Data Management for Business Intelligence

Application of computational techniques to support business such as decision making, business understanding, data analysis, business process automation, learning from data, producing and using business models, data integration, data quality assessment and cleaning, use of contextual data, etc.
Also offered at the undergraduate level, with different requirements, as COMP 4111, for which additional credit is precluded.


COMP 5112 [0.5 credit] (CSI 5154)
Algorithms for Data Science

Algorithmic techniques to handle (massive/big) data arising from, for example, social media, mobile devices, sensors financial transactions. Algorithmic techniques may include locality-sensitive hashing, dimensionality reduction, streaming, clustering, VC-dimensions, external memory, core sets, link analysis and recommendation systems.

COMP 5113 [0.5 credit]
Machine Learning for Healthcare

Principles, techniques, technology and applications of machine learning for medical data such as medical imaging data, genomic data, physiological signals, speech and language.

COMP 5114 [0.5 credit]
Quantum Communications and Networking

Quantum communications and networking; the use of individual photons and teleportation to represent and transmit information. Theoretical (mathematical) principles. Practical aspects (implementation and software simulation) of quantum communications and networking.

COMP 5115 [0.5 credit] (CSI 5344.)
Geometry Processing

Concepts, representations, and algorithms for processing 3D geometric datasets. Topics include shape representations (e.g., triangle meshes and implicit functions), and the geometry processing pipeline covering the acquisition (e.g., with laser scanning or depth cameras), reconstruction, manipulation, editing, analysis, and fabrication (3D printing) of geometric models.

COMP 5116 [0.5 credit] (CSI 5155.)
Machine Learning

This course provides a broad introduction to the fundamental concepts, techniques and algorithms in machine learning.
Prerequisite(s): Familiarity with probability and statistics; familiarity with linear algebra and calculus; programming skills at a level sufficient to write a reasonably non-trivial computer program.

COMP 5117 [0.5 credit] (CSI 5346.)
Mining Software Repositories

Introduction to the methods and techniques of mining software engineering data. Software repositories and their associated data. Data extraction and mining. Data analysis and interpretation (statistics, metrics, machine learning). Empirical case studies.

COMP 5118 [0.5 credit] (CSI 5347.)
Trends in Big Data Management

In-depth study of recent research articles in the field of data management, with focus on data integration, Internet of Things, large scale data management, recommendation systems, text processing, and question answering. Students will work on a term-long project.
Prerequisite(s): Upper level undergraduate course work in operating systems, database management systems, algorithm design and analysis; or permission of the instructor.

COMP 5119 [0.5 credit] (CSI 5345.)
Internet of Things Security

Security issues related to the Internet of Things (IoT). IoT device software design and device lifecycle, device pairing and configuration, management and security infrastructure, smarthome platforms, data and communication protocol security, IoT operating systems, malware, firmware in embedded systems, security administration and best practices.

COMP 5201 [0.5 credit] (CSI 5147)
Computer Animation

Theories and techniques in 3D modeling and animation. Animation principles, categories, and history. Forward and inverse kinematics. Motion capture, editing and retargeting. Flexible bodies. Particle animation. Behavioral animation. Human modeling. Facial animation. Cloth animation and other sub-topics.

COMP 5202 [0.5 credit] (CSI 5146)
Computer Graphics

Principles and advanced techniques in rendering and modelling. Research field overview. Splines, subdivision surfaces and hierarchical surface representations. Physics of light transport, rendering equation and Bidirectional Reflectance Distribution Function. Classical ray tracing, radiosity, global illumination and modern hybrid methods. Plenoptic function and image-based rendering.

COMP 5203 [0.5 credit] (CSI 5173)
Data Networks

Mathematical and practical aspects of design and analysis of communication networks. Topics include: basic concepts, layering, delay models, multi-access communication, queuing theory, routing, fault-tolerance, and advanced topics on high-speed networks, ATM, mobile wireless networks, and optical networks.

COMP 5204 [0.5 credit] (CSI 5124)
Computational Aspects of Geographic Information Systems

Through recent advances in navigation systems, mobile devices, and new software such as Mapquest and Google Earth, GIS is becoming increasingly important and exciting from a CS perspective. This course lays the algorithmic foundations to understand, use and further this technology.
Also offered at the undergraduate level, with different requirements, as COMP 4202, for which additional credit is precluded.

COMP 5205 [0.5 credit] (CSI 5151)
Virtual Environments

Basic concepts. Virtual worlds. Hardware and software support. World modeling. Geometric modeling. Light modeling. Kinematic and dynamic models. Other physical modeling modalities. Multi-sensor data fusion. Anthropomorphic avatars. Animation: modeling languages, scripts, real-time computer architectures. Virtual environment interfaces. Case studies.

COMP 5206 [0.5 credit] (CSI 5183)
Evolutionary Computation and Artificial Life

Study of algorithms based upon biological theories of evolution, applications to machine learning and optimization problems. Possible topics: Genetic Algorithms, Classifier Systems, and Genetic Programming. Recent work in the fields of Artificial Life (swarm intelligence, distributed agents, behavior-based AI) and of connectionism.
Precludes additional credit for COMP 4107.


COMP 5207 [0.5 credit] (CSI 5112)
Software Engineering

Topics of current interest in Software Engineering, such as requirements engineering, precise and advanced modelling, development processes, change management, standards, and emerging types of applications.

COMP 5209 [0.5 credit] (CSI 5135)
Visual Analytics

Principles, techniques, technology and applications of information visualization for data analysis. Topics include human visual perception, cognitive processes, static and dynamic models of image semantics, interaction paradigms, big data visual analysis case studies.
Includes: Experiential Learning Activity

COMP 5210 [0.5 credit] (CSI 5167)
Human-Computer Interaction Models, Theories, and Frameworks

Emphasis on the application of theory to user interface design. Review of main theories of human behaviour relevant to HCI, including especially cognitive dimensions of notations framework, mental models, distributed cognition, and activity theory, and their application to design and development of interactive systems.
Lecture

COMP 5220 [0.5 credit] (CSI 5175)
Mobile Commerce Technologies

Wireless networks support for m-commerce; m-commerce architectures and applications; mobile payment support systems; business models; mobile devices and their operating systems; mobile content presentation; security issues and solutions; relevant cross layer standards and protocols; case studies.
Includes: Experiential Learning Activity

COMP 5301 [0.5 credit] (CSI 5122)
Software Usability

Design principles and metrics for usability. Qualitative and quantitative methods for evaluation of software system usability: Heuristic evaluation, usability testing, usability inspections and walkthroughs, cognitive walkthroughs, formal usability experimentation. Ethical concerns. Economics of usability. Integration of usability engineering lifestyle.

COMP 5302 [0.5 credit] (CSI 5118)
Automated Verification & Validation of Software

Topics in formal test derivation methods, test management, high-level, CASE-based verification and validation, data-flow and control-flow measures and metrics for assessing quality of designs and code, regression analysis and testing.

COMP 5304 [0.5 credit] (CSI 5169)
Wireless Networks and Mobile Computing

Computational aspects and applications of design and analysis of mobile and wireless networking. Topics include Physical, Link Layer, Media Access Control, Wireless, Mobile LANs, Ad-Hoc, Sensor Networks, Power Consumption optimization, Routing, Searching, Service Discovery, Clustering, Multicasting, Localization, Mobile IP/TCP, File Systems, Mobility Models, Wireless Apps.

COMP 5305 [0.5 credit] (CSI 5129)
Advanced Database Systems

In-depth study on developments in database systems shaping the future of information systems, including complex object, object-oriented, object-relational, and semi-structured databases. Data structures, query languages, implementation and applications.

COMP 5306 [0.5 credit] (CSI 5100)
Data Integration

Materialized and virtual approaches to integration of heterogeneous and independent data sources. Emphasis on data models, architectures, logic-based techniques for query processing, metadata and consistency management, the role of XML and ontologies in data integration; connections to schema mapping, data exchange, and P2P systems.

COMP 5307 [0.5 credit] (CSI 5101)
Knowledge Representation

KR is concerned with representing knowledge and using it in computers. Emphasis on logic-based languages for KR, and automated reasoning techniques and systems; important applications of this traditional area of AI to ontologies and semantic web.

COMP 5308 [0.5 credit] (CSI 5102)
Topics in Medical Computing

Introductory course on data structures, algorithms, techniques, and software development related to medical computing (in particular spatial modeling). Topics may include: computational geometry algorithms for cancer treatment, medical imaging, spatial data compression algorithms, dynamic programming for DNA analysis.

COMP 5309 [5.0 credits] (CSI 5168)
Digital Watermarking

Overview of recent advances in watermarking of image, video, audio, and other media. Spatial, spectral, and temporal watermarking algorithms. Perceptual models. Use of cryptography in steganography and watermarking. Content authentication, copy control, intellectual property, digital rights management and other applications.

COMP 5310 [0.5 credit] (CSI 5152)
Evolving Information Networks

Convergence of social and technological networks with WWW. Interplay between information content, entities creating it and technologies supporting it. Structure and analysis of such networks, models abstracting their properties, link analysis, search, mechanism design, power laws, cascading, clustering and connections with work in social sciences.
Also offered at the undergraduate level, with different requirements, as COMP 4206, for which additional credit is precluded.

COMP 5340 [0.5 credit] (CSI 5340)
Introduction to Deep Learning and Reinforcement Learning

Fundamentals of machine learning; multi-layer perceptron, universal approximation theorem, back-propagation; convolutional networks, recurrent neural networks, variational auto-encoder, generative adversarial networks; components and techniques in deep learning; Markov Decision Process; Bellman equation, policy iteration, value iteration, Monte-Carlo learning, temporal difference methods, Q learning, SARSA, applications.

COMP 5341 [0.5 credit] (CSI 5341)
Learning-based Computer Vision

Introduction to learning-based computer vision; statistical learning background; image processing and filtering primer; convolutional neural networks (CNNs), network layers, computer vision data sets and competitions; computer vision problems, in particular, image classification, detection and recognition, semantic segmentation, image generation, multi view problems and tracking.

COMP 5342 [0.5 credit] (CSI 5342)
Ubiquitous Sensing for Smart Cities

Sensor and actuator networks. Dedicated and non-dedicated sensing. Vehicular sensing and smart transportation. Software Defined Things. Sensing as a service. Machine and deep learning-based misbehaviour detection. IoT-data analytics ecosystems. Federated Learning. AI-based security solutions. Auction and game theory concepts in ubiquitous sensing.

COMP 5343 [0.5 credit] (CSI 5343)
AI-Enabled Communications

Wireless networking fundamentals. Device to-device communications. Networking with cognitive radio. Cyber physical systems (CPS). Self-organization. Supervised and unsupervised learning. Reinforcement learning. Deep learning.

COMP 5401 [0.5 credit] (CSI 5389)
Electronic Commerce Technologies

Introduction to business models and technologies. Search engines. Cryptography. Web services and agents. Secure electronic transactions. Value added e-commerce technologies. Advanced research questions.

COMP 5402 [0.5 credit] (CSI 5142)
Protocols for Mobile and Wireless Networks

Link and network layer protocols of wireless networks; applications of wireless networks may be discussed. Topics may include: protocol implementation, mobile IP, resource discovery, wireless LANs/PANs, and Spreadspectrum.
Precludes additional credit for SYSC 5306.

COMP 5405 [0.5 credit] (CSI 5380)
Systems and Architectures for Electronic Commerce

E-commerce system architecture with a focus design patterns. Web servers and application frameworks. Web protocols, services, and client technologies. Scaleability through load balancing, clustering, and code optimization. Internationalization, accessibility, and privacy. Data mining and sharing approaches for digital targeted advertising. E-commerce development project.

COMP 5406 [0.5 credit] (CSI 5105)
Network Security and Cryptography

Advanced methodologies selected from symmetric and public key cryptography, network security protocols and infrastructure, identification, anonymity, privacy technologies, secret-sharing, intrusion detection, firewalls, access control technologies, and defending network attacks.
Prerequisite(s): COMP 3203 and COMP 4109, or equivalent, or permission of the instructor.

COMP 5407 [0.5 credit] (CSI 5116)
Authentication and Software Security

Specialized topics in security including advanced authentication techniques, user interface aspects, electronic and digital signatures, security infrastructures and protocols, software vulnerabilities affecting security, untrusted software and hosts, protecting software and digital content.

COMP 5408 [0.5 credit] (CSI 5121)
Advanced Data Structures

Simple methods of data structure design and analysis that lead to efficient data structures for several problems. Topics include randomized binary search trees, persistence, fractional cascading, self-adjusting data structures, van Emde Boas trees, tries, randomized heaps, and lowest common ancestor queries.

COMP 5409 [0.5 credit] (CSI 5127)
Applied Computational Geometry

Computer-based representation and manipulation of geometric objects. Design and analysis of efficient algorithms for solving geometric problems in applied fields such as Computer-Aided Design and Manufacturing, Cartography, Materials Science, and Geometric Network Design.

COMP 5500 [0.5 credit]
Internet Measurements and Security

Measurement methodologies for understanding complex Internet phenomena and behaviors including: spread of vulnerabilities, remote network topologies, attack patterns, content popularity, Internet censorship, service quality, and adoption of security systems. Tools for efficient measurements, large-scale data analysis, stats, reproducibility of results. Ethical considerations.

COMP 5501 [0.5 credit] (CSI 5111)
Software Quality Engineering

Software quality issues. Quality components and metrics. Software process quality. Software reliability engineering. Software design for testability. Requirements capture and validation. Systematic design validation; grey-box approach, test design, implementation and management, case studies in validation and verification of communications software. Object-oriented design and test.

COMP 5503 [0.5 credit] (CSI 5115)
Database Analysis & Design

The dimensional and multidimensional data models for data warehousing. Data dependencies and decomposition. Structure and use of data definition and manipulation languages. Database economics, engineering, deployment and evolution. Issues in integrity, security, the Internet and distributed databases. Relationships to decision support systems.

COMP 5505 [0.5 credit] (CSI 5386)
Natural Language Processing

Overview of both rule-based or symbolic methods and statistical methods as approaches to Natural Language Processing (NLP), with more emphasis on the statistical ones. Applications such as information retrieval, text categorization, clustering, and statistical machine translation could be discussed.

COMP 5604 [0.5 credit] (CSI 5174)
Validation Methods for Distributed Systems

Review of formal specification and description techniques for distributed and open systems. Verification techniques. Correctness proofs. Verification of general properties of distributed systems. Analysis and relief strategies. Testing techniques. Test generation strategies. Test architectures.

COMP 5606 [0.5 credit] (CSI 5161)
Principles of Distributed Simulation

Distributed simulation principles and practices. Synchronization protocols: Optimistic vs Conservative, Deadlock detection in conservative simulations, Time warp simulation. Distributed interactive simulation: Data distribution management, Interest management, High Level Architectures (HLA), Run Time Infrastructure (RTI). Distributed web-based and agent based simulation. Real time applications.

COMP 5703 [0.5 credit] (CSI 5163)
Algorithm Analysis and Design

Topics of current interest in the analysis and design of sequential and parallel algorithms for non-numerical, algebraic and graph computations. Lower bounds on efficiency of algorithms. Complexity classes.

COMP 5704 [0.5 credit] (CSI 5131)
Parallel Algorithms and Applications in Data Science

Multiprocessor architectures from an application programmer’s perspective: programming models, processor clusters, multi-core processors, GPU’s, algorithmic paradigms, efficient parallel problem solving, scalability and portability. Projects on high performance computing in Data Science, incl. data analytics, bioinformatics, simulations. Programming experience on parallel processing equipment.
Includes: Experiential Learning Activity

COMP 5706 [0.5 credit] (CSI 5387)
Data Mining & Concept Learning

Concepts and techniques of data mining. Methods for data summarization and data preprocessing. Algorithms for finding frequent patterns and association analysis; classification; cluster analysis and anomaly detection. Model selection, model evaluation and statistical significance testing. Applications of data mining and coping with Big Data.

COMP 5707 [0.5 credit] (CSI 5110)
Principles of Formal Software Development

Methodologies in formal software specification, development, and verification. The use of theorem proving, automated deduction, and other related formal methods for software correctness. Applications in program verification and secure computation.

COMP 5709 [0.5 credit] (CSI 5165.)
Combinatorial Algorithms

Design of algorithms for solving problems that are combinatorial in nature, involving exhaustive generation, enumeration, search and optimization. Algorithms for generating basic combinatorial objects and for solving hard optimization problems. Metaheuristic search, backtracking, branch-and-bound. Computing isomorphism of combinatorial objects.

COMP 5801 [0.5 credit] (CSI 5388)
Topics in Machine Learning


COMP 5805 [0.5 credit] (CSI 5166)
Applications of Combinatorial Optimization

Topics in combinatorial optimization with emphasis on applications in Computer Science. Topics include network flows, various routing algorithms, polyhedral combinatorics, and the cutting plane method.

COMP 5900 [0.5 credit] (CSI 5140)
Selected Topics in Computer Science

Selected topics, not covered by other graduate courses. Details will be available from the School at the time of registration.

COMP 5901 [0.5 credit] (CSI 5901)
Directed Studies (M.C.S.)

A course of independent study under the supervision of a member of the School of Computer Science.

COMP 5903 [1.0 credit] (CSI 6900)
Graduate Project (M.C.S.)

A one- or two-session course. For M.C.S. non-thesis option students only.

COMP 5905 [2.5 credits] (THM 7999)
M.C.S. Thesis


COMP 5913 [0.0 credit] (CGI 6001/CGI 6002)
Master's Co-operative Work Term


COMP 6100 [0.5 credit] (CSI 7131)
Advanced Parallel and Systolic Algorithms

Continuation of COMP 5704.

COMP 6104 [0.5 credit] (CSI 7314)
Advanced Topics in Object-Oriented Systems

Advanced object-oriented software engineering, in particular the issues of reuse and testing. Sample topics include: interaction modeling; class and cluster testing; traceability; design patterns and testing; the C++ standard template library. Students will carry out research.

COMP 6601 [0.5 credit] (CSI 7160)
Advanced Topics in the Theory of Computing


COMP 6602 [0.5 credit] (CSI 7170)
Advanced Topics in Distributed Computing


COMP 6603 [0.5 credit] (CSI 7161, CSI 7561)
Advanced Topics in Programming Systems and Languages


COMP 6604 [0.5 credit] (CSI 7162)
Advanced Topics in Computer Applications


COMP 6605 [0.5 credit] (CSI 7163)
Advanced Topics in Computer Systems


COMP 6901 [0.5 credit] (CSI 7901)
Directed Studies (Ph.D.)


COMP 6902 [0.5 credit] (CSI 7900)
Graduate Project (Ph.D.)


COMP 6907 [0.0 credit] (CSI 9998)
Doctoral Comprehensive

Committee assembled approves at least 3 topics for written examination: typically, a major and two minor areas. An oral examination occurs if the written exam is passed. Both elements must take place within the first 4 terms following initial registration in the program.
The comprehensive may be failed, passed conditionally (i.e., with extra course requirements) or passed unconditionally. If failed this course may be retaken at most one time.

COMP 6908 [0.0 credit] (CSI 9997)
Doctoral Proposal

Within 8 terms following initial registration in the program, a document generally defining the problem addressed, relating it to the literature, and outlining the hypotheses, goals, research methodology, initial results and validation approach must be submitted to an examination committee and successfully defended.

COMP 6909 [8.5 credits] (THD 9999)
Ph.D. Thesis


Note: Not all courses listed are offered in a given year. For an up-to-date statement of course offerings for the current session and to determine the term of offering, consult the class schedule at central.carleton.ca.

Summer session: some of the courses listed in this Calendar are offered during the summer. Hours and scheduling for summer session courses will differ significantly from those reported in the fall/winter Calendar. To determine the scheduling and hours for summer session classes, consult the class schedule at central.carleton.ca

Admission

M.C.S. and M.C.S. Data Science

See the General Regulations section of this Calendar for detailed admission requirements. Applicants should have an honours bachelor's degree in computer science or the equivalent. By equivalent is meant an honours degree in a program that includes at least twelve computer science half-credits, two of which must be at the 4000-level, and eight half-credits in mathematics, one of which must be at the 3000- or 4000-level.

Applicants who have a three-year non-honours 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.

Accelerated Pathway

The accelerated pathway in the M.C.S. Computer Science is a flexible and individualized plan of graduate study. Students in their final year of a Carleton B.C.S.(Hons.) degree with demonstrated academic excellence and aptitude for research may qualify for this option.

Students in their third-year of study in the B.C.S.(Hons.) degree should consult with both their Undergraduate Program Coordinator and the Director for Graduate Studies to determine if the accelerated pathway is appropriate for them and to confirm their selection of courses for their final year of undergraduate studies.

Accelerated Pathway Requirements
  1. At least one OCICS courses at the 5000-level with a grade of B+ or higher.
  2. Minimum overall and Major CGPA of A-.

Students may receive advanced standing of up to 1.0 credit which can reduce their time to completion.

Admission

See the General Regulations section of this Calendar for detailed admission requirements. Admission to the Ph.D. in Computer Science requires a Masters in Computer Science with thesis, or equivalent including demonstrated significant research ability.

In exceptional cases, students who are currently in the M.C.S. program and who have completed all course requirements with a grade of no less than A in each course may be permitted to transfer into the Ph.D. program.

Co-operative Option

A co-operative option is also available to full-time students in the Masters of Computer Science. Co-operative education is based on the principle that academic studies combined with work experience are desirable for effective professional preparation.

In addition to all other requirements for the degree, students admitted to the co-operative option must satisfactorily complete two work terms placements with a suitable employer in order to graduate with a co-op designation on their transcripts and diplomas. It is desirable that the work placements be related to the student's research. Placements are subject to the approval of the Supervisor of Graduate Studies and of the student's research supervisor. These work terms are four months in duration and students will conduct job searches through the university's co-op office. During a work term, students will register in COMP 5913.While on a work term, students in this option are limited to taking one additional 0.5-credit course, or registering in their thesis.

Students in the co-op option normally apply for admission to the co-operative option during their first academic term. This option requires an initial study period of two academic terms, typically followed by two work terms and a final academic period to complete the remaining requirements of the degree. The student must submit a work term report upon the completion of each work placement, and receive a grade of Satisfactory in order to meet the requirements for the successful completion of that work term's requirement.

Regulations

See the General Regulations section of this Calendar.

Regularly Scheduled Break

For immigration purposes, the summer term (May to August) for the Master of Computer Science program, including all specializations/concentrations within the program, is considered a regularly scheduled break approved by Carleton University. Students should resume full-time studies in September.