Master Computer Science
Master Computer Science
Master Computer Science
MASTER OF COMPUTER • To learn about possibilities for financing your graduate studies,
consult the Awards and financial support (https://www.uottawa.ca/
Notes
Summary • Programs are governed by the general regulations (http://
• Degree offered: Master of Computer Science (MCS) www.uottawa.ca/graduate-studies/students/general-regulations/) in
effect for graduate studies and the regulations in effect at Carleton
• Registration status options: Full-time; Part-time
University.
• Language of instruction: English
• In accordance with the University of Ottawa regulation, students
• Program options (expected duration of the program):
have the right to complete their assignments, examinations, research
• within two years of full-time study
papers, and theses in French or in English. In addition, research
• For immigration purposes, the summer term (May to August) for this activities can be conducted in either English or French or both
program is considered a regularly scheduled break approved by the depending on the language used by the professor and the members
University. Students should resume full-time studies in September. of the research group.
• Academic units: Faculty of Engineering (http:// • Students may include courses from both universities in their
engineering.uottawa.ca/), School of Electrical Engineering programs, and may select a supervisor from either university, but
and Computer Science (http://engineering.uottawa.ca/eecs/), they should apply to the university with which their supervisor is
Ottawa-Carleton Institute for Computer Science (http:// associated. Their study program is administered by the university at
ocics.site.uottawa.ca/) (OCICS). which they are enrolled and is subject to its regulations.
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
1
This is a copy of the 2021-2022 catalog.
• Complete two OCICS master’s courses each with 70% (B) or higher Compulsory Courses:
grade (taken during their Bachelor’s program in Computer Science or 9 course units in computer science (CSI) at the graduate 9 Units
Software Engineering). level, including:
1
• Have an admission average of A- (80%) or higher. 3 course units in Software Engineering (Category E)
• Have a thesis supervisor. 3 course units in the Theory of Computing (Category T)
Language Requirements
3 course units in Computer Applications (Category A) or
in Computer Systems (Category S)
Applicants must be able to understand and fluently speak the language 6 elective course units in computer science (CSI) at the 6 Units
of instruction (French or English) in the program to which they are 1
graduate level
applying. Proof of linguistic proficiency may be required. Thesis:
2, 3
Applicants whose first language is neither French nor English must THM 7999 Master's Thesis
provide proof of proficiency in the language of instruction.
Note(s)
Note: Candidates are responsible for any fees associated with the 1
language tests. Course selection must be approved by the student's academic
advisor. A maximum of two three-unit courses at the 4000 level are
Notes 2
permitted.
A student may be permitted to carry out thesis work off campus
• The admission requirements listed above are minimum requirements
provided suitable arrangements are made for supervision and
and do not guarantee admission to the program.
experimental work, and prior approval is obtained from the Joint
• Admissions are governed by the general regulations (http:// Program Committee.
www.uottawa.ca/graduate-studies/students/general-regulations/) in 3
Students are responsible for ensuring they have met all of the thesis
effect for graduate studies.
requirements (http://www.uottawa.ca/graduate-studies/students/
Qualifying Program
satisfy at most two of the above category requirements.
2
A student may be permitted to carry out thesis work off campus
Applicants who lack the required undergraduate preparation may be provided suitable arrangements are made for supervision and
admitted to a qualifying-year program. The basis for admission to the experimental work, and prior approval is obtained from the Joint
qualifying year of the master’s program will normally be an honours Program Committee.
degree in a related discipline with a B average (70%), provided that the 3
Students are responsible for ensuring they have met all of the thesis
honours program in question includes the equivalent of three years of an requirements (http://www.uottawa.ca/graduate-studies/students/
honours computer science program. A major degree holder with superior theses/).
academic standing may be considered for admission to the qualifying
year with suitable background preparation.
Master’s with Coursework and Project
Program Requirements Requirements for this program have been modified. Please consult
the 2018-2019 calendars (http://catalogue.uottawa.ca/en/archives/) for
Master’s with Thesis the previous requirements.
Students must meet the following requirements:
Students must meet the following requirements:
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
2
This is a copy of the 2021-2022 catalog.
Research
1
Compulsory Courses:
9 course units in computer science (CSI) at the graduate 9 Units
level, including:
2
Research Fields & Facilities
3 course units in Software Engineering (Category E)
Located in the heart of Canada’s capital, a few steps away from
3 course units in the Theory of Computing (Category T)
Parliament Hill, the University of Ottawa is among Canada’s top 10
3 course units in Computer Applications (Category A) or research universities.
in Computer Systems (Category S)
15 elective course units in computer science (CSI) at the 15 Units uOttawa focuses research strengths and efforts in four Strategic Areas of
graduate level
2 Development in Research (SADRs):
Project: • Canada and the World
CSI 6900 Intensive Graduate Projects in Computer 6 Units • Health
Science
• e-Society
Note(s) • Molecular and Environmental Sciences
To complete a master’s with coursework and project, you must meet the For more information, refer to the list of faculty members and their
following requirements: research fields on Uniweb (https://uniweb.uottawa.ca/#!arts/themes).
Students enrolled in the master’s program in computer science at the CSI 5102 Topics in Medical Computing (3 units)
University of Ottawa may be eligible to fast-track directly into the doctoral Introductory course on data structures, algorithms, techniques, and
program without writing a master’s thesis. For additional information, software development related to medical computing (in particular spatial
please consult the “Admission Requirements” section of the PhD modeling). Topics may include: computational geometry algorithms for
program. cancer treatment, medical imaging, spatial data compression algorithms,
dynamic programming for DNA analysis. This course is equivalent to
Note: Students in the Accelerated Stream of the MCS are not eligible for COMP 5308 at Carleton University.
fast-track to the PhD. Course Component: Lecture
Minimum Requirements
The passing grade in all courses is B.
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
3
This is a copy of the 2021-2022 catalog.
CSI 5105 Network Security and Cryptography (3 units) CSI 5116 Authentication and Software Security (3 units)
Advanced methodologies selected from symmetric and public Specialized topics in security including advanced authentication
key cryptography, network security protocols and infrastructure, techniques, user interface aspects, electronic and digital signatures,
identification, anonymity, privacy technologies, secret-sharing, intrusion security infrastructures and protocols, software vulnerabilities affecting
detection, firewalls, access control technologies, and defending network security, non-secure software and hosts, protecting software and digital
attacks. This course is equivalent to COMP 5406 at Carleton University. content. This course is equivalent to COMP 5407 at Carleton University.
Course Component: Lecture Course Component: Lecture
Prerequisites: familiarity with basic concepts in networks, network CSI 5118 Automated Verification and Validation of Software (3 units)
security, and applied cryptography. Topics in formal test derivation methods, test management, high-
CSI 5106 Cryptography (3 units) level, CASE-based verification and validation, data-flow & control-flow
Security in encryption algorithms. Encryption and decryption. Entropy, measures and metrics for assessing quality of designs and code,
equivocation, and unicity distance. Cryptanalysis and computational regression analysis & testing. This course is equivalent to COMP 5302 at
complexity. Substitution, transposition, and product ciphers. Symmetric Carleton University.
ciphers: block and stream modes. Modular arithmetic. Public key Course Component: Lecture
cryptosystems. Factorization methods. Elliptic curve, lattice-based, and CSI 5121 Advanced Data Structures (3 units)
homomorphic cryptography. Proofs of security. Simple methods of data structure design and analysis that lead to
Course Component: Discussion Group, Laboratory, Lecture, Research, efficient data structures for several problems. Topics include randomized
Seminar, Work Term, Theory and Laboratory, Tutorial binary search trees, persistence, fractional cascading, self-adjusting data
CSI 5110 Principles of Formal Software Development (3 units) structures, van Emde Boas trees, tries, randomized heaps, and lowest
Methodologies in formal software specification, development, and common ancestor queries. This course is equivalent to COMP 5408 at
verification. The use of theorem proving, automated deduction, and other Carleton University.
related formal methods for software correctness. Applications in program Course Component: Lecture
verification and secure computation. This course is equivalent to COMP CSI 5122 Software Usability (3 units)
5707 at Carleton University. Design principles and metrics for usability. Qualitative and quantitative
Course Component: Lecture methods for the evaluation of software system usability: Heuristic
CSI 5111 Software Quality Engineering (3 units) evaluation, usability testing, usability inspections and walkthroughs,
Software quality issues. Quality components and metrics. Software cognitive walkthroughs, formal usability experimentation. Ethical
process quality. Software reliability engineering. Software design concerns when performing studies with test users. Economics
for testability. Requirements capture and validation. Systematic of usability. Integration of usability engineering into the software
design validation; grey-box approach, test design, implementation engineering lifecycle. This course is equivalent to COMP 5301 at Carleton
and management, case studies in validation and verification of University.
communications software. Object-oriented design and test. Theoretical Course Component: Lecture
aspects. This course is equivalent to COMP 5501 at Carleton University. CSI 5124 Computational Aspects of Geographic Information Systems (3
Course Component: Lecture units)
CSI 5112 Software Engineering (3 units) Computational perspective of geographic information systems (GIS).
Topics of current interest in Software Engineering, such as requirements Data representations and their operations on raster and vector devices:
engineering, precise and advanced modelling, development processes, e.g., quadtrees, grid files, digital elevation models, triangular irregular
change management, standards, and emerging types of applications. network models. Analysis and design of efficient algorithms for solving
This course is equivalent to COMP 5207 at Carleton University. GIS problems: visibility queries, point location, facility location. This
Course Component: Lecture course is equivalent to COMP 5204 at Carleton University.
Course Component: Lecture
CSI 5113 Foundations Programming Languages (3 units)
Advanced study of programming paradigms from a practical perspective. CSI 5126 Algorithms in Bioinformatics (3 units)
Paradigms may include functional, imperative, concurrent, distributed, Fundamental mathematical and algorithmic concepts underlying
generative, aspect- and object-oriented, and logic programming. computational molecular biology; physical and genetic mapping,
Emphasis on underlying principles. Topics may include: types, modules, sequence analysis (including alignment and probabilistic models),
inheritance, semantics, continuations, abstraction and reflection. This genomic rearrangement, phylogenetic inference, computational
course is equivalent to COMP 5001 at Carleton University. proteomics and systemics modelling of the whole cell. This course is
Course Component: Lecture equivalent to COMP 5108 at Carleton University.
Course Component: Lecture
CSI 5115 Database Analysis and Design (3 units)
The dimensional and multidimensional data models for data CSI 5127 Applied Computational Geometry (3 units)
warehousing. Data dependencies and decomposition. Structure and use Design and analysis of efficient algorithms for solving geometric
of data definition and manipulation languages. Database economics, problems in applied fields such as Geometric Network Design, Geometric
engineering, deployment and evolution. Issues in integrity, security, the Routing and Searching. Geometric spanners, Greedy spanners, Theta-
Internet and distributed databases. Relationships to decision support Graphs, Yao-Graphs, Well-Separated Pair Decomposition, Delaunay
systems. This course is equivalent to COMP 5503 at Carleton University. Triangulations. Introduction to the game of Cops and Robbers. This
Course Component: Discussion Group, Laboratory, Lecture, Research, course is equivalent to COMP 5409 at Carleton University.
Seminar, Work Term, Theory and Laboratory, Tutorial Course Component: Lecture
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
4
This is a copy of the 2021-2022 catalog.
CSI 5128 Swarm Intelligence (3 units) CSI 5138 Selected Topics in Theory of Computing (Category T) (3 units)
Collective computation, collective action, and principles of self- Selected topics in Theory of Computing (Category T), not covered by
organization in social agent systems. Algorithms for combinatorial other graduate courses. Details will be available from the School at the
optimization problems, division of labour, task allocation, task switching, time of registration. This course is equivalent to COMP 5900 at Carleton
and task sequencing with applications in security, routing, wireless and University.
ad hoc networks and distributed manufacturing. This course is equivalent Course Component: Lecture
to COMP 5002 at Carleton University. CSI 5139 Selected Topics in Computer Applications (Category A) (3 units)
Course Component: Lecture Selected topics in Computer Applications (Category A), not covered by
CSI 5129 Advanced Database Systems (3 units) other graduate courses. Details will be available from the School at the
In-depth study on developments in database systems shaping the future time of registration. This course is equivalent to COMP 5900 at Carleton
of information systems, including complex object, object-oriented, University.
object-relational, and semi-structured databases. Data structures, query Course Component: Lecture
languages, implementation and applications. This course is equivalent to CSI 5140 Selected Topics in Computer Systems (Category S) (3 units)
COMP 5305 at Carleton University. Selected topics in Computer Systems (Category S), not covered by other
Course Component: Lecture graduate courses. Details will be available from the School at the time
CSI 5131 Parallel Algorithms and Applications in Bioinformatics (3 units) of registration. This course is equivalent to COMP 5900 at Carleton
Multiprocessor architectures from an application programmer's University.
perspective: programming models, processor clusters, multi-core Course Component: Lecture
processors, GPUs, algorithmic paradigms, efficient parallel problem CSI 5142 Protocols for Mobile and Wireless Networks (3 units)
solving, scalability and portability. Projects on high performance Link and network layer protocols of wireless networks; applications
computing in Data Science, including data analytics, bioinformatics, of wireless networks may be discussed. Topics may include: protocol
simulations. Programming experience on parallel processing equipment. implementation, mobile IP, resource discovery, wireless LANs/PANs, and
This course is equivalent to COMP 5704 at Carleton University. Spreadspectrum. Courses CSI 6136 (SYSC 5306), CSI 5142 (COMP 5402)
Course Component: Lecture cannot be combined for units. This course is equivalent to COMP 5402 at
CSI 5134 Fault Tolerance (3 units) Carleton University.
Hardware and software techniques for fault tolerance. Topics include Course Component: Lecture
modeling and evaluation techniques, error detecting and correcting Precludes additional credit for SYSC 5306.
codes, module and system level fault detection mechanisms, design CSI 5146 Computer Graphics (3 units)
techniques for fault-tolerant and fail-safe systems, software fault Principles and advanced techniques in rendering and modelling.
tolerance through recovery blocks, N-version programming, algorithm- Research field overview. Splines, subdivision surfaces and hierarchical
based fault tolerance, checkpointing and recovery techniques, and survey surface representations. Physics of light transport, rendering equation
of practical fault-tolerant systems. This course is equivalent to COMP and Bidirectional Reflectance Distribution Function. Classical ray tracing,
5004 at Carleton University. radiosity, global illumination and modern hybrid methods. Plenoptic
Course Component: Lecture function and image-based rendering. This course is equivalent to COMP
CSI 5135 Information Visualization and Visual Analytics (3 units) 5402 at Carleton University.
Principles, techniques, technology and applications of information Course Component: Lecture
visualization for visual data analysis. Topics include human visual CSI 5147 Computer Animation (3 units)
perception, cognitive processes, static and dynamic models of image Theories and techniques in 3D modeling and animation. Animation
semantics, interaction paradigms, big data visual analysis case studies. principles, categories, and history. Forward and inverse kinematics.
This course is equivalent to COMP 5209 at Carleton University. Motion capture, editing and retargeting. Flexible bodies. Particle
Course Component: Lecture animation. Behavioral animation. Human modeling. Facial animation.
CSI 5136 Computer Security and Usability (3 units) Cloth animation and other sub-topics. This course is equivalent to COMP
Design and evaluation of security and privacy software with particular 5201 at Carleton University.
attention to human factors and how interaction design impacts security. Course Component: Lecture
Topics include current approaches to usable security, methodologies for
CSI 5148 Wireless Ad Hoc Networking (3 units)
empirical analysis, and design principles for usable security and privacy. Self-organized, mobile, and hybrid ad hoc networks. Physical, medium
This course is equivalent to COMP 5110 at Carleton University. access, networks, transport and application layers, and cross-layering
Course Component: Lecture issues. Power management. Security in ad hoc networks. Topology
CSI 5137 Selected Topics in Software Engineering (Category E) (3 units) control and maintenance. Data communication protocols, routing and
Selected topics in Software Engineering (Category E), not covered by broadcasting. Location service for efficient routing. This course is
other graduate courses. Details will be available from the School at the equivalent to COMP 5103 at Carleton University.
time of registration. This course is equivalent to COMP 5900 at Carleton Course Component: Lecture
University.
Course Component: Lecture
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
5
This is a copy of the 2021-2022 catalog.
CSI 5149 Graphical Models and Applications (3 units) CSI 5161 Principles of Distributed Simulation (3 units)
Bayesian networks, factor graphs, Markov random fields, maximum a Distributed simulation principles and practices. Synchronization
posteriori probability (MAP) and maximum likelihood (ML) principles, protocols: Optimistic vs Conservative, Deadlock detection in conservative
elimination algorithm, sum-product algorithm, decomposable and non- simulations, Time warp simulation. Distributed interactive simulation:
decomposable models, junction tree algorithm, completely observed Data distribution management, Interest management, High Level
models, iterative proportional fitting algorithm, expectation- maximization Architectures (HLA), Run Time Infrastructure (RTI). Distributed web-based
(EM) algorithm, iterative conditional modes algorithm, variational simulation. Distributed agent based simulation. Real time applications of
methods, applications. Courses CSI 5149 (COMP 5007), ELG 5131 (EAGJ distributed simulation. Distributed and collaborative virtual simulations.
5131) and ELG 7177 (EACJ 5605) cannot be combined for units. This This course is equivalent to COMP 5606 at Carleton University.
course is equivalent to COMP 5007 at Carleton University. Course Component: Lecture
Course Component: Lecture CSI 5163 Algorithm Analysis and Design (3 units)
Permission of the Department is required. Topics of current interest in the design and analysis of computer
CSI 5151 Virtual Environments (3 units) algorithms for graph-theoretical applications; e.g. shortest paths,
Basic concepts. Virtual worlds. Hardware and software support. World chromatic number, etc. Lower bounds, upper bounds, and average
modeling. Geometric modeling. Light modeling. Kinematic and dynamic performance of algorithms. Complexity theory. This course is equivalent
models. Other physical modeling modalities. Multi-sensor data fusion. to COMP 5703 at Carleton University.
Anthropomorphic avatars. Animation: modeling languages, scripts, Course Component: Lecture
real-time computer architectures. Virtual environment interfaces. Case CSI 5164 Computational Geometry (3 units)
studies. Courses ELG 5124 (EACJ 5204), CSI 5151 (COMP 5205) cannot Study of design and analysis of algorithms to solve geometric problems;
be combined for units. This course is equivalent to COMP 5205 at emphasis on applications such as robotics, graphics, and pattern
Carleton University. recognition. Topics include: visibility problems, hidden line and surface
Course Component: Lecture removal, path planning amidst obstacles, convex hulls, polygon
CSI 5152 Evolving Information Networks (3 units) triangulation, point location. This course is equivalent to COMP 5008 at
Convergence of social and technological networks with WWW. Interplay Carleton University.
between information content, entities creating it and technologies Course Component: Lecture
supporting it. Structure and analysis of such networks, models CSI 5165 Combinatorial Algorithms (3 units)
abstracting their properties, link analysis, search, mechanism design, Design of algorithms for solving problems that are combinatorial
power laws, cascading, clustering and connections with work in social in nature, involving exhaustive generation, enumeration, search
sciences. This course is equivalent to COMP 5310 at Carleton University. and optimization. Algorithms for generating basic combinatorial
Course Component: Lecture objects (permutations, combinations, subsets) and for solving hard
CSI 5153 Data Management for Business Intelligence (3 units) optimization problems (knapsack, maximum clique, minimum set cover).
Data management problems and information technology in decision Metaheuristic search, backtracking, branch-and-bound. Computing
making support in business environments. Topics include advanced data isomorphism of combinatorial objects (graphs), isomorph-free exhaustive
modeling, semantic modeling, multidimensional databases and data generation. This course is equivalent to COMP 5709 at Carleton
warehousing, on-line-analytical processing, elements of data mining, University.
context in data management, data quality assessment, data cleaning, Course Component: Lecture
elements of business process modeling. This course emphasizes CSI 5166 Applications of Combinatorial Optimization (3 units)
concepts and techniques rather than specific applications or systems/ Topics in combinatorial optimization with emphasis on applications
implementations. This course is equivalent to COMP 5111 at Carleton in Computer Science. Topics include network flows, various routing
University. algorithms, polyhedral combinatorics, and the cutting plane method. This
Course Component: Lecture course is equivalent to COMP 5805 at Carleton University.
CSI 5154 Algorithms for Data Science (3 units) Course Component: Lecture
Algorithmic techniques to handle (massive/big) data arising from, for CSI 5167 Human-Computer Interaction Models, Theories and
example, social media, mobile devices, sensors, financial transactions. Frameworks (3 units)
Algorithmic techniques may include locality-sensitive hashing, A basis for graduate study in HCI with an emphasis on the application
dimensionality reduction, streaming, clustering, VC-dimension, external of theory to user interface design. Review of main theories of human
memory, core sets, link analysis and recommendation systems. This behaviour relevant to HCI, including especially Cognitive Dimensions of
course is equivalent to COMP 5112 at Carleton University. Notations Framework, Mental Models, Distributed Cognition, and Activity
Course Component: Lecture Theory, and their application to design and development of interactive
CSI 5155 Machine Learning (3 units) systems. This course is equivalent to COMP 5210 at Carleton University.
Concepts, techniques, and algorithms in machine learning; Course Component: Lecture
representation, regularization and generalization; supervised learning;
unsupervised learning; advanced methods such as support vector
machines, online algorithms, neural networks, hidden Markov models,
and Bayesian networks; curse of dimensionality and large-scale machine
learning. Category T in course list.
Course Component: Lecture
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
6
This is a copy of the 2021-2022 catalog.
CSI 5168 Digital Watermarking (3 units) CSI 5183 Evolutionary Computation and Artificial Life (3 units)
Overview of recent advances in watermarking of image, video, audio, and Study of algorithms based upon biological theories of evolution,
other media. Spatial, spectral, and temporal watermarking algorithms. applications to machine learning and optimization problems.
Perceptual models. Use of cryptography in steganography and Possible topics: Genetic Algorithms, Classifier Systems, and Genetic
watermarking. Robustness, security, imperceptibility, and capacity Programming. Recent work in the fields of Artificial Life (swarm
of watermarking. Content authentication, copy control, intellectual intelligence, distributed agents, behavior-based AI) and of connectionism.
property, digital rights management, and other applications. This course This course is equivalent to COMP 5206 at Carleton University.
is equivalent to COMP 5309 at Carleton University. Course Component: Lecture
Course Component: Lecture Precludes additional credit for COMP 4107.
CSI 5169 Wireless Networks and Mobile Computing (3 units) CSI 5185 Statistical and Syntactic Pattern Recognition (3 units)
Computational aspects and applications of design and analysis of mobile Topics include a mathematical review, Bayes decision theory, maximum
and wireless networking. Topics include Physical, Link Layer, Media likelihood and Bayesian learning for parametric pattern recognition, non-
Access Control, Wireless, Mobile LANs (Local Area Networks), Ad-Hoc, parametric methods including nearest neighbor and linear discriminants.
Sensor Networks, Power Consumption optimization, Routing, Searching, Syntactic recognition of strings, substrings, subsequences and tree
Service Discovery, Clustering, Multicasting, Localization, Mobile IP/TCP structures. Applications include speech, shape and character recognition.
(Internet Protocol/Transmission Control Protocol), File Systems, Mobility This course is equivalent to COMP 5107 at Carleton University.
Models, Wireless Applications. Courses CSI 5169, ELG 6168 cannot be Course Component: Lecture
combined for units. This course is equivalent to COMP 5304 at Carleton CSI 5195 Ethics for Artificial Intelligence (3 units)
University. Students critically examine topics in applied AI ethics through the
Course Component: Lecture lens of contemporary philosophy and applied ethics texts, popular
CSI 5173 Data Networks (3 units) media articles, and technology case studies. Topics may include:
Mathematical and practical aspects of design and analysis of bias and fairness; explainability; accountability; privacy; deception;
communication networks. Topics include: basic concepts, layering, delay trust/trustworthiness; and metaphors. Methods for applying ethical
models, multi-access communication, queuing theory, routing, fault- considerations in technology design are introduced through hands-on
tolerance, and advanced topics on high-speed networks, ATM, mobile design projects. (Category E)
wireless networks, and optical networks. This course is equivalent to Course Component: Lecture
COMP 5203 at Carleton University. The courses DTI 5310, CSI 5195 cannot be combined for units.
Course Component: Lecture CSI 5200 Projects on Selected Topics (3 units)
CSI 5174 Validation Methods for Distributed Systems (3 units) Course Component: Lecture
Review of formal specification and description techniques for distributed CSI 5308 Principles of Distributed Computing (3 units)
and open systems. Verification techniques. Correctness proofs. Formal models of distributed environment; theoretical issues in the
Verification of general properties of distributed systems. Analysis and design of distributed algorithms; message and time complexity;
relief strategies. Testing techniques. Test generation strategies. Test problem solving in distributed settings. Problems discussed may
architectures. This course is equivalent to COMP 5604 at Carleton include: coordination and control, information diffusion, leader election,
University. consensus, distributed data operations, computing by mobile entities.
Course Component: Lecture This course is equivalent to COMP 5003 at Carleton University.
CSI 5175 Mobile Commerce Technologies (3 units) Course Component: Lecture
Wireless networks support for m-commerce; m-commerce architectures CSI 5311 Distributed Databases and Transaction Processing (3 units)
and applications; mobile payment support systems; business models; Principles involved in the design and implementation of distributed
mobile devices and their operating systems; mobile content presentation; databases and distributed transaction processing systems. Topics
security issues and solutions; relevant cross layer standards and include: distributed and multi-database system architectures and
protocols; case studies. Courses EBC 5175, CSI 5175 cannot be models, atomicity, synchronization and distributed concurrency control
combined for units. This course is equivalent to COMP 5900 at Carleton algorithms, data replication, recovery techniques, and reliability in
University. distributed databases. This course is equivalent to COMP 5101 at
Course Component: Lecture Carleton University.
CSI 5180 Topics in Artificial Intelligence (3 units) Course Component: Lecture
Selected topics in Artificial Intelligence (A.I.); could include A.I. CSI 5312 Distributed Operating Systems Engineering (3 units)
programming techniques, pattern matching systems, natural language Design issues of advanced multiprocessor distributed operating systems:
systems, rule-based systems, constraint systems, machine learning multiprocessor system architectures; process and object models;
systems, and cognitive systems. Applications could include areas synchronization and message passing primitives; memory architectures
in Finance, Medicine, Manufacturing, Smart Cities, Semantic Web, and management; distributed file systems; protection and security;
Healthcare, Fraud Detection, Intrusion Detection, Autonomous Vehicles, distributed concurrency control; deadlock; recovery; remote tasking;
Opinion mining, Sentiment Analysis or similar areas. Assignments will dynamic reconfiguration; performance measurement, modeling, and
be both (a) programming-oriented, requiring implementation and/or system tuning. This course is equivalent to COMP 5102 at Carleton
extensions of prototypes in Lisp and/or Prolog and (b) research-oriented, University.
requiring readings of special topics in current A.I. journals. This course is Course Component: Lecture
equivalent to COMP 5100 at Carleton University.
Course Component: Lecture
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
7
This is a copy of the 2021-2022 catalog.
CSI 5314 Object-Oriented Software Development (3 units) CSI 5346 Mining Software Repositories (3 units)
Issues in modeling and verifying quality and variability in object-oriented Introduction to the methods and techniques of mining software
systems. Testable models in model-driven and test-driven approaches. engineering data. Software repositories and their associated data. Data
System family engineering. Functional conformance: scenario modeling extraction and mining. Data analysis and interpretation (statistics,
and verification, design by contract. Conformance to non-functional metrics, machine learning). Empirical case studies.
requirements: goals, forces and tradeoffs, metrics. This course is Course Component: Lecture
equivalent to COMP 5104 at Carleton University. CSI 5347 Trends in Big Data Management (3 units)
Course Component: Lecture Discussion of research papers on hot topics in the area of data
CSI 5340 Introduction to Deep Learning and Reinforcement Learning (3 management. The list of topics covered in the course generally spans:
units) Data Exploration, Data Cleaning, Data Integration, Data Mining, Data Lake
Fundamental of machine learning; multi-layer perceptron, universal Management, Knowledge Graphs, Graph Processing, Question Answering,
approximation theorem, back-propagation; convolutional networks, Blockchain, Crowdsourcing, Internet of Things, Text Processing, and
recurrent neural networks, variational auto-encoder, generative Training via Weak Supervision. The common characteristic among all
adversarial networks; components and techniques in deep learning; these topics is the large scale of data.
Markov Decision Process; Bellman equation, policy iteration, value Course Component: Lecture
iteration, Monte-Carlo learning, temporal difference methods, Q-learning, CSI 5380 Systems and Architectures for Electronic Commerce (3 units)
SARSA, applications E-commerce system architecture with a focus on relevant design
Course Component: Lecture patterns. Web servers, containers, and application frameworks. Web
CSI 5341 Learning-based Computer Vision (3 units) protocols, services, and client technologies. Scaleability through load
Introduction to learning-based computer vision; statistical learning balancing, clustering, and code optimization. Internationalization,
background; image processing and filtering primer; convolutional accessibility, and privacy. Data mining and sharing approaches for digital
neural networks (CNNs), network layers, computer vision data sets targeted advertising. E-commerce user interface design and evaluation.
and competitions; computer vision problems, in particular, image Current research issues. Hands-on experience with an integrated set of
classification, detection and recognition, semantic segmentation, image current e-commerce tools. E-commerce development project. Courses
generation, multi-view problems and tracking. EBC 5380, CSI 5380 cannot be combined for units. This course is
Course Component: Lecture equivalent to COMP 5405 at Carleton University.
Course Component: Lecture
CSI 5342 Ubiquitous Sensing for Smart Cities (3 units)
Sensor and actuator networks. Dedicated and non-dedicated sensing. CSI 5386 Natural Language Processing (3 units)
Vehicular sensing and smart transportation. Software Defined Things. Overview of both rule-based or symbolic methods and statistical methods
Sensing as a service. Machine and deep learning-based misbehaviour as approaches to Natural Language Processing (NLP), with more
detection. IoT-data analytics ecosystems. Federated Learning. AI-based emphasis on the statistical ones. Applications such as information
security solutions. Auction and game theory concepts in ubiquitous retrieval, text categorization, clustering, and statistical machine
sensing. translation could be discussed. This course is equivalent to COMP 5505
Course Component: Lecture at Carleton University.
Course Component: Lecture
CSI 5343 AI-Enabled Communications (3 units)
Wireless networking fundamentals. Device to-device communications. CSI 5387 Data Mining and Concept Learning (3 units)
Networking with cognitive radio. Cyber physical systems (CPS). Self- Concepts and techniques of data mining. Methods for data
organization. Supervised and unsupervised learning. Reinforcement summarization and data preprocessing. Algorithms for finding frequent
learning. Deep learning. patterns and association analysis; classification; cluster analysis and
Course Component: Lecture anomaly detection. Model selection, model evaluation and statistical
significance testing. Approaches for coping with Big Data. Selected
CSI 5344 Geometry Processing (3 units)
applications of data mining and concept learning.
The course covers concepts, representations, and algorithms for
Course Component: Lecture
analyzing and processing 3D geometric datasets. Topics include
Permission of the Department is required.
shape representations (e.g., triangle meshes, points clouds, and
implicit functions), and the geometry processing pipeline covering the CSI 5388 Topics in Machine Learning (3 units)
acquisition (e.g., with laser scanning or depth cameras), reconstruction, Course Component: Lecture
manipulation, editing, analysis, and fabrication (3D printing) of geometric Permission of the Department is required.
models. CSI 5389 Electronic Commerce Technologies (3 units)
Course Component: Lecture Business models and technologies. Search engines. Cryptography.
CSI 5345 Internet of Things (IoT) Security (3 units) Web services and agents. Secure electronic transactions. Value added
The course examines security challenges related to the Internet of Things e-commerce technologies. Advanced research questions. Courses
(IoT), with a focus on consumer IoT devices, software aspects including EBC5389, CSI5389 cannot be combined for units. This course is
engineering design, security of communications protocols and wireless equivalent to COMP 5401 at Carleton University.
access, cryptographic mechanisms, device integration and configuration, Course Component: Lecture
and security of IoT applications and platforms.
Course Component: Lecture
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
8
This is a copy of the 2021-2022 catalog.
CSI 5390 Learning Systems from Random Environments (3 units) CSI 5540 Thème choisi en systèmes informatiques (catégorie S) (3
Computerized adaptive learning for random environments and its crédits)
applications. Topics include a mathematical review, learning automata Thèmes choisis en systèmes informatiques (catégorie S), non couverts
which are deterministic/stochastic, with fixed/variable structures, of par d'autres cours de deuxième cycle. Les détails seront disponibles à
continuous/discretized design, with ergodic/absorbing properties and of l'école au moment de l'inscription. Ce cours est équivalent à COMP 5900
estimator families. à la Carleton University.
Course Component: Lecture Volet : Cours magistral
CSI 5500 Projets en informatique (3 crédits) CSI 5555 Apprentissage machine (3 crédits)
Volet : Cours magistral Concepts, techniques et algorithmes en apprentissage machine;
représentation, régularisation et généralisation; apprentissage supervisé;
CSI 5501 Modèles formels de l'information (3 crédits)
apprentissage non supervisé; méthodes avancées telles que les
Volet : Cours magistral
machines à vecteur de support, les algorithmes en ligne, les réseaux de
CSI 5510 Principles de développement formel de logiciels (3 crédits) neurones; les modèles de Markov cachés et les réseaux bayésiens; le
Méthodologies pour la spécification, le développement et la vérification fléau de la dimensionnalité et l'apprentissage machine à grande échelle.
formels de logiciels. Utilisation d'assistants de preuves, de déduction Catégorie T dans la liste de cours.
automatisée et d'autres méthodes formelles visant l'exactitude de Volet : Cours magistral
logiciel. Applications à la vérification de programmes et au calcul
CSI 5561 Sujets en simulation et en optimisation des systèmes (3
sécurisé. Ce cours est équivalent à COMP 5707 à la Carleton University.
crédits)
Volet : Cours magistral
Volet : Cours magistral
CSI 5511 Génie de la qualité des logiciels (3 crédits)
CSI 5563 Analyse et conception des algorithmes (3 crédits)
Critères de la qualité des logiciels. Composantes et métriques de qualité.
Volet : Cours magistral
Qualité du processus de développement des logiciels. Génie de fiabilité
des logiciels. Capture et validation d'exigences. Validation systématique CSI 5565 Algorithmes combinatoires (3 crédits)
de la conception; approche boîte-grise. Conception, implantation et Conception d'algorithmes pour résoudre des problèmes de nature
gestion des tests. Étude de cas en validation et vérification des logiciels combinatoire (génération exhaustive, énumération, recherche et
de communication. Conception orientée objet. Aspects théoriques. Ce optimisation). Algorithmes pour générer des objets combinatoires de
cours est équivalent à COMP 5501 à la Carleton University. base (permutations, combinaisons, sous-ensembles) et pour résoudre
Volet : Cours magistral des problèmes d'optimisation difficiles (knapsack, clique maximum,
couverture minimum). Recherche métaheuristique, retour arrière, branch-
CSI 5526 Algorithmes en bio-informatique (3 crédits)
and-bound. Calcul de l'isomorphisme des objets combinatoires (graphes),
Assemblage de l'ADN, recherche de gênes, comparaison de chaînes,
génération exhaustive sans isomorphes. Ce cours est équivalent à COMP
alignement de séquences, structures grammaticales, structures
5709 à l'Université Carleton.
secondaires et tertiaires. Les récents développements, tels que les
Volet : Cours magistral
puces d'ADN et de protéines. Travail additionnel requis dans le cas des
étudiants inscrits sous la cote CSI 5526. CSI 5571 Télématique : Concepts et logiciels (3 crédits)
Volet : Cours magistral Volet : Cours magistral
Permission du Département est requise. CSI 5580 Sujets en intelligence artificielle (3 crédits)
CSI 5537 Thème choisi en génie logiciel (catégorie E) (3 crédits) Thèmes choisis en intelligence artificielle (I.A.); pourrait inclure des
Thèmes choisis en génie logiciel (catégorie E), non couverts par d'autres techniques de programmation en intelligence artificielle, des systèmes
cours de deuxième cycle. Les détails seront disponibles à l'école au d'appariement de formes, des systèmes à langage naturel, des
moment de l'inscription. Ce cours est équivalent à COMP 5900 à la systèmes à base de règles, des systèmes de contraintes, des systèmes
Carleton University. d'apprentissage automatique et des systèmes cognitifs. Les applications
Volet : Cours magistral peuvent couvrir les domaines de la finance, de la médecine, de la
fabrication, des villes intelligentes, du Web sémantique, de la détection de
CSI 5538 Thème choisi en théorie de l'informatique (catégorie T) (3
fraudes ou d’intrusion, des véhicules autonomes, de l'analyse d’opinion,
crédits)
de l'analyse de sentiments ou d’autres domaines similaires. Les devoirs
Thèmes choisis en théorie de l'informatique (catégorie T), non couverts
seront à la fois (a) axés sur la programmation, exigeant l'implémentation
par d'autres cours de deuxième cycle. Les détails seront disponibles à
et/ou l'extension de prototypes (b) axés sur la recherche, nécessitant des
l'école au moment de l'inscription. Ce cours est équivalent à COMP 5900
lectures de sujets spéciaux dans des revus d'I.A. contemporaines. Ce
à la Carleton University.
cours est équivalent à COMP 5100 à l'Université Carleton.
Volet : Cours magistral
Volet : Cours magistral
CSI 5539 Thème choisi en application informatique (catégorie A) (3
crédits)
Thèmes choisis en application informatique (catégorie A), non couverts
par d'autres cours de deuxième cycle. Les détails seront disponibles à
l'école au moment de l'inscription. Ce cours est équivalent à COMP 5900
à la Carleton University.
Volet : Cours magistral
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
9
This is a copy of the 2021-2022 catalog.
CSI 5780 Systèmes et architectures des logiciels pour le commerce CSI 5904 Projet de recherche avancé en commerce électronique /
électronique (3 crédits) Graduate Project in Electronic Commerce (3 crédits / 3 units)
Architecture du système de commerce électronique et patrons Projet sur un sujet précis en commerce électronique mené sous la
de conception. Serveurs Web, conteneurs et cadres d'application. direction d'un professeur. Les cours CSI 5904, CSI 5903 ne peuvent
Protocoles, services, et technologies de client Web. Évolutivité être combinés pour l'obtention de crédits. / Project on a specific topic
grâce à l'équilibrage de la charge, au clustering et à l'optimisation du in electronic commerce under the supervision of a professor. Courses
code. Internationalisation, accessibilité et confidentialité. Méthodes CSI 5904, CSI 5903 cannot be combined for units.
d'exploration et de partage de données pour la publicité ciblée numérique. Volet / Course Component: Cours magistral / Lecture
Conception et évaluation de l'interface utilisateur pour le commerce Exclusion: CSI 5903.
électronique. Problèmes de recherche actuels. Expérience pratique avec CSI 6900 Projets de recherche intensive en informatique / Intensive
un ensemble intégré d'outils de commerce électronique actuels. Projet Graduate Projects in Computer Science (6 crédits / 6 units)
de développement du commerce électronique. Les cours EBC 5380, Cours de six crédits s'échelonnant sur une période de deux sessions.
CSI 5380 ne peuvent pas être combinés pour les unités. Ce cours est L'envergure du projet de recherche exigé dans ce cours est deux fois
équivalent à COMP 5405 à la Carleton University. plus grande que dans le cas de CSI 5900. Les cours CSI 6900, CSI 5900
Volet : Cours magistral ne peuvent être combinés pour l'obtention de crédits. Cours ouvert
Prerequisite: CSI 5389 uniquement aux étudiants inscrits à la maîtrise sans thèse. Ce cours est
CSI 5787 Fouille des données et apprentissage des concepts (3 crédits) équivalent à COMP 5903 à la Carleton University. / A two-session course.
Aspects conceptuels et techniques de l’exploration des données. The project is twice the scope of projects in CSI 5900. Courses CSI 6900,
Méthodes pour l'agrégation et le prétraitement des données. CSI 5900 cannot be combined for units. Not to be taken in the thesis
Algorithmes d'extraction de patrons et analyse des règles d'association; option. This course is equivalent to COMP 5903 at Carleton University.
partitionnement des données et détection des anomalies. Sélection et Volet / Course Component: Recherche / Research
évaluation des modèles et tests de signification statistique. Approches CSI 7131 Advanced Parallel and Systolic Algorithms (3 units)
pour composer avec les mégadonnées. Choix d'applications en Continuation of CSI 5131 (COMP 5704). This course is equivalent to
exploration des données et en extraction des concepts. COMP 6100 at Carleton University.
Volet : Cours magistral Course Component: Lecture
CSI 5789 Technologies du commerce électronique (3 crédits) CSI 7160 Advanced Topics in the Theory of Computing (3 units)
Introduction aux modèles et technologies d'entreprise. Moteurs de This course is equivalent to COMP 6601 at Carleton University.
recherche. Cryptographie. Services Web et agents. Transactions Course Component: Lecture
électroniques sécurisées. Technologies du commerce électronique à
valeur ajoutée. Questions de recherche avancées. Ce cours est équivalent CSI 7161 Advanced Topics in Programming Systems and Languages (3
à COMP 5401 à la Carleton University. units)
Volet : Cours magistral This course is equivalent to COMP 6603 at Carleton University.
Prerequisite: CSI 4110 or equivalent. Course Component: Lecture
CSI 5900 Projets de recherche en informatique / Graduate Projects in CSI 7162 Advanced Topics in Computer Applications (3 units)
Computer Science (3 crédits / 3 units) This course is equivalent to COMP 6604 at Carleton University.
Ce cours est équivalent à COMP 5902 à la Carleton University. / This Course Component: Lecture
course is equivalent to COMP 5902 at Carleton University. CSI 7163 Advanced Topics in Computer Systems (3 units)
Volet / Course Component: Cours magistral / Lecture This course is equivalent to COMP 6605 at Carleton University.
CSI 5901 Études dirigées / Directed Studies (3 crédits / 3 units) Course Component: Lecture
A course of independent study under the supervision of a member of the CSI 7170 Advanced Topics in Distributed Computing (3 units)
School of Computer Science. Ce cours est équivalent à COMP 5901 à la This course is equivalent to COMP 6602 at Carleton University.
Carleton University. / This course is equivalent to COMP 5901 at Carleton Course Component: Lecture
University.
CSI 7314 Advanced Topics in Object-Oriented Systems (3 units)
Volet / Course Component: Recherche / Research
Advanced object-oriented software engineering, in particular the issues
CSI 5903 Stage en commerce électronique / Electronic Commerce Work of reuse and testing. Sample topics include: interaction modeling; class
Term (3 crédits / 3 units) and cluster testing; traceability; design patterns and testing; the C++
Expérience en milieu de travail. Noté S (satisfaisant) ou NS (non standard template library. Students will carry out research. This course is
satisfaisant) selon les résultats du rapport écrit et l'évaluation de equivalent to COMP 6104 at Carleton University.
l'employeur. Préalable : être accepté au programme de certificat en Course Component: Lecture
commerce électronique (option technologie) et recevoir la permission du
CSI 7561 Études avancées en systèmes et langages de programmation (3
Comité du programme. / Practical experience. Graded S (Satisfactory) /
crédits)
NS (Not satisfactory), to be based on the grades obtained for the written
Ce cours est équivalent à COMP 6603 à la Carleton University.
report as well as on the evaluations of the employer.
Volet : Cours magistral
Volet / Course Component: Cours magistral / Lecture
Permission du Département est requise. / Permission of the Department CSI 7900 Projets de recherche en informatique / Graduate Projects in
is required. Computer Science (3 crédits / 3 units)
Ce cours est équivalent à COMP 6902 à la Carleton University. / This
course is equivalent to COMP 6902 at Carleton University.
Volet / Course Component: Cours magistral / Lecture
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
10
This is a copy of the 2021-2022 catalog.
http://catalogue.uottawa.ca/en/graduate/master-computer-science/index.html
11