Summary

Program Description

Students who wish to pursue studies in computer science leading to the degree of Master of Computer Science (MCS) or Doctor of Philosophy in Computer Science (PhD) can do so in joint programs offered by the School of Electrical Engineering and Computer Science (EECS) at the University of Ottawa and the School of Computer Science at Carleton University under the auspices of the Ottawa-Carleton Institute for Computer Science (OCICS).

The Institute is responsible for supervising these programs and for providing a framework for interaction between the universities in graduate computer science education. In addition to the faculty members from the two computer science programs, the Institute also has members with computer science expertise from other departments.

Other Programs Offered Within the Same Discipline or in a Related Area

  • Master of Computer Science (MCS)
  • Master of Computer Science Specialization in Bioinformatics (MCS)
  • Graduate Diploma Mobile Device Applications
  • Graduate Diploma Modelling and Animation for Computer Games Technology 

Fees and Funding

  • Program fees:

The estimated amount for university fees associated with this program are available under the section Finance your studies.

International students enrolled in a French-language program of study may be eligible for a differential tuition fee exemption.

Notes

  • Programs are governed by the general regulations in effect for graduate studies and the regulations in effect at Carleton University.
  • In accordance with the University of Ottawa regulation, students have the right to complete their assignments, examinations, research papers, and theses in French or in English. In addition, research activities can be conducted in either English or French or both depending on the language used by the professor and the members of the research group.
  • Students may include courses from both universities in their programs, and may select a supervisor from either university, but they should apply to the university with which their supervisor is associated. Their study program is administered by the university at which they are enrolled and is subject to its regulations.

Program Contact Information

Graduate Studies Office, Faculty of Engineering

161 Louis-Pasteur, Colonel By Hall, Room B111

Ottawa, Ontario, Canada

K1N 6N5
 

Tel.: 613-562-5347

Email: engineering.grad@uottawa.ca
 

Twitter | Faculty of Engineering

Facebook | Faculty of Engineering

For the most accurate and up to date information on application deadlines, language tests and other admission requirements, please visit the specific requirements webpage.

To be eligible, candidates must:

  • Have a master's degree in Computer Science (with thesis or equivalent in terms of scholarly publications) with a minimum average of B+ (75%).

Note: International candidates must check the admission equivalencies for the diploma they received in their country of origin.

  • Identify at least one professor who is willing to supervise your research and thesis. We recommend that you contact potential thesis supervisors as soon as possible.

Language Requirements

Applicants must be able to understand and fluently speak the language of instruction (French or English) in the program to which they are applying. Proof of linguistic proficiency may be required.

Applicants whose first language is neither French nor English must provide proof of proficiency in the language of instruction.

Note: Candidates are responsible for any fees associated with the language tests.

Notes

  • The admission requirements listed above are minimum requirements and do not guarantee admission to the program.
  • Admissions are governed by the general regulations in effect for graduate studies.

Fast-Track from the Master’s to the PhD

Students enrolled in the master’s program in computer science at the University of Ottawa may be eligible to fast-track directly into the doctoral program without writing a master’s thesis, provided the following conditions are met:

  • Completion of 5 graduate courses (15 units) with a minimum average of A- (80%).
  • Satisfactory progress in the research program.
  • Written recommendation from the supervisor and the thesis advisory committee.
  • Approval by the graduate studies committee and the vice-dean (graduate studies in the faculty).

Notes:

  • The student must request permission to fast-track during the fourth term of enrollment or earlier and must be enrolled in the PhD program in the fifth or, at the latest, in the sixth term. Following transfer, all of the requirements of the doctoral program must be met. The total number of course units required is 24 (15 at master’s level plus 9 at PhD level).
  • Students in the Accelerated Stream of the MCS are not eligible for fast-track to the PhD.

Doctorate

The admissions committee and the student's advisory committee may impose additional requirements according to the student's background and research topic.

Students must meet the following requirements:

Compulsory Courses:
9 course units in computer science (CSI) at the graduate level with 3 course units from 3 of the following areas:9 Units
Software Engineering (Category E)
Theory of Computing (Category T)
Computer Applications (Category A)
Computer Systems (Category S)
Seminars: 1
CSI 9901Seminar0 Unit
CSI 9902Seminar0 Unit
Comprehensive Examination:
CSI 9998Ph.D. Comprehensive 20 Unit
Thesis Proposal:
CSI 9997Doctoral Thesis Proposal 30 Unit
Thesis:
THD 9999Doctoral Thesis 40 Unit

Note(s)

Minimum Requirements

The passing grade in all courses is B.

Students who fail two courses (equivalent to 6 units), the thesis proposal, or the comprehensive exam or whose research progress is deemed unsatisfactory are required to withdraw.

Research Fields & Facilities

Located in the heart of Canada’s capital, a few steps away from Parliament Hill, the University of Ottawa is among Canada’s top 10 research universities.

uOttawa focuses research strengths and efforts in four Strategic Areas of Development in Research (SADRs):

  • Canada and the World
  • Health
  • e-Society
  • Molecular and Environmental Sciences

With cutting-edge research, our graduate students, researchers and educators strongly influence national and international priorities.

Research at the Faculty of Engineering

Areas of research:

  • Chemical and Biological Engineering
  • Civil Engineering
  • Electrical Engineering and Computer Science
  • Mechanical Engineering

For more information, refer to the list of faculty members and their research fields on Uniweb

IMPORTANT: Candidates and students looking for professors to supervise their thesis or research project can also consult the website of the faculty or department of their program of choice. Uniweb does not list all professors authorized to supervise research projects at the University of Ottawa.

CSI 5100 Data Integration (3 units)

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. This course is equivalent to COMP 5306 at Carleton University.

Course Component: Lecture

CSI 5101 Knowledge Representation (3 units)

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. This course is equivalent to COMP 5307 at Carleton University.

Course Component: Lecture

CSI 5102 Topics in Medical Computing (3 units)

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. This course is equivalent to COMP 5308 at Carleton University.

Course Component: Lecture

CSI 5105 Network Security and Cryptography (3 units)

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. This course is equivalent to COMP 5406 at Carleton University.

Course Component: Lecture

Prerequisites: familiarity with basic concepts in networks, network security, and applied cryptography.

CSI 5106 Cryptography (3 units)

Security in encryption algorithms. Encryption and decryption. Entropy, equivocation, and unicity distance. Cryptanalysis and computational complexity. Substitution, transposition, and product ciphers. Symmetric ciphers: block and stream modes. Modular arithmetic. Public key cryptosystems. Factorization methods. Elliptic curve, lattice-based, and homomorphic cryptography. Proofs of security.

Course Component: Discussion Group, Laboratory, Lecture, Research, Seminar, Work Term, Theory and Laboratory, Tutorial

CSI 5110 Principles of Formal Software Development (3 units)

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. This course is equivalent to COMP 5707 at Carleton University.

Course Component: Lecture

CSI 5111 Software Quality Engineering (3 units)

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. Theoretical aspects. This course is equivalent to COMP 5501 at Carleton University.

Course Component: Lecture

CSI 5112 Software Engineering (3 units)

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. This course is equivalent to COMP 5207 at Carleton University.

Course Component: Lecture

CSI 5113 Foundations Programming Languages (3 units)

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. This course is equivalent to COMP 5001 at Carleton University.

Course Component: Lecture

CSI 5115 Database Analysis and Design (3 units)

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. This course is equivalent to COMP 5503 at Carleton University.

Course Component: Discussion Group, Laboratory, Lecture, Research, Seminar, Work Term, Theory and Laboratory, Tutorial

CSI 5116 Authentication and Software Security (3 units)

Specialized topics in security including advanced authentication techniques, user interface aspects, electronic and digital signatures, security infrastructures and protocols, software vulnerabilities affecting security, non-secure software and hosts, protecting software and digital content. This course is equivalent to COMP 5407 at Carleton University.

Course Component: Lecture

CSI 5118 Automated Verification and Validation of Software (3 units)

Topics in formal test derivation methods, test management, high-level, CASE-based verification and validation, data-flow & control-flow measures and metrics for assessing quality of designs and code, regression analysis & testing. This course is equivalent to COMP 5302 at Carleton University.

Course Component: Lecture

CSI 5121 Advanced Data Structures (3 units)

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. This course is equivalent to COMP 5408 at Carleton University.

Course Component: Lecture

CSI 5122 Software Usability (3 units)

Design principles and metrics for usability. Qualitative and quantitative methods for the evaluation of software system usability: Heuristic evaluation, usability testing, usability inspections and walkthroughs, cognitive walkthroughs, formal usability experimentation. Ethical concerns when performing studies with test users. Economics of usability. Integration of usability engineering into the software engineering lifecycle. This course is equivalent to COMP 5301 at Carleton University.

Course Component: Lecture

CSI 5124 Computational Aspects of Geographic Information Systems (3 units)

Computational perspective of geographic information systems (GIS). Data representations and their operations on raster and vector devices: e.g., quadtrees, grid files, digital elevation models, triangular irregular network models. Analysis and design of efficient algorithms for solving GIS problems: visibility queries, point location, facility location. This course is equivalent to COMP 5204 at Carleton University.

Course Component: Lecture

CSI 5126 Algorithms in Bioinformatics (3 units)

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. This course is equivalent to COMP 5108 at Carleton University.

Course Component: Lecture

CSI 5127 Applied Computational Geometry (3 units)

Design and analysis of efficient algorithms for solving geometric problems in applied fields such as Geometric Network Design, Geometric Routing and Searching. Geometric spanners, Greedy spanners, Theta-Graphs, Yao-Graphs, Well-Separated Pair Decomposition, Delaunay Triangulations. Introduction to the game of Cops and Robbers. This course is equivalent to COMP 5409 at Carleton University.

Course Component: Lecture

CSI 5128 Swarm Intelligence (3 units)

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. This course is equivalent to COMP 5002 at Carleton University.

Course Component: Lecture

CSI 5129 Advanced Database Systems (3 units)

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. This course is equivalent to COMP 5305 at Carleton University.

Course Component: Lecture

CSI 5130 Applications Design for Mobile Devices (3 units)

Programming environments for mobile devices applications: native applications and web applications. User interface, multitouch screens, accelerometer, geo-localization, multi-networks interfaces, camera, digital signal processing. Enterprise applications development. Device-specific and carrier-specific challenges. Methods for dealing with limited memory, speed and storage. Power management. Security. Deployment and distribution of applications.

Course Component: Lecture

Permission of the Department is required.

CSI 5131 Parallel Algorithms and Applications in Bioinformatics (3 units)

Multiprocessor architectures from an application programmer's perspective: programming models, processor clusters, multi-core processors, GPUs, algorithmic paradigms, efficient parallel problem solving, scalability and portability. Projects on high performance computing in Data Science, including data analytics, bioinformatics, simulations. Programming experience on parallel processing equipment. This course is equivalent to COMP 5704 at Carleton University.

Course Component: Lecture

CSI 5134 Fault Tolerance (3 units)

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 and recovery techniques, and survey of practical fault-tolerant systems. This course is equivalent to COMP 5004 at Carleton University.

Course Component: Lecture

CSI 5135 Information Visualization and Visual Analytics (3 units)

Principles, techniques, technology and applications of information visualization for visual data analysis. Topics include human visual perception, cognitive processes, static and dynamic models of image semantics, interaction paradigms, big data visual analysis case studies. This course is equivalent to COMP 5209 at Carleton University.

Course Component: Lecture

CSI 5136 Computer Security and Usability (3 units)

Design and evaluation of 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. This course is equivalent to COMP 5110 at Carleton University.

Course Component: Lecture

CSI 5137 Selected Topics in Software Engineering (Category E) (3 units)

Selected topics in Software Engineering (Category E), not covered by other graduate courses. Details will be available from the School at the time of registration. This course is equivalent to COMP 5900 at Carleton University.

Course Component: Lecture

CSI 5138 Selected Topics in Theory of Computing (Category T) (3 units)

Selected topics in Theory of Computing (Category T), not covered by other graduate courses. Details will be available from the School at the time of registration. This course is equivalent to COMP 5900 at Carleton University.

Course Component: Lecture

CSI 5139 Selected Topics in Computer Applications (Category A) (3 units)

Selected topics in Computer Applications (Category A), not covered by other graduate courses. Details will be available from the School at the time of registration. This course is equivalent to COMP 5900 at Carleton University.

Course Component: Lecture

CSI 5140 Selected Topics in Computer Systems (Category S) (3 units)

Selected topics in Computer Systems (Category S), not covered by other graduate courses. Details will be available from the School at the time of registration. This course is equivalent to COMP 5900 at Carleton University.

Course Component: Lecture

CSI 5142 Protocols for Mobile and Wireless Networks (3 units)

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. Courses CSI 6136 (SYSC 5306), CSI 5142 (COMP 5402) cannot be combined for units. This course is equivalent to COMP 5402 at Carleton University.

Course Component: Lecture

Precludes additional credit for SYSC 5306.

CSI 5146 Computer Graphics (3 units)

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. This course is equivalent to COMP 5402 at Carleton University.

Course Component: Lecture

CSI 5147 Computer Animation (3 units)

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. This course is equivalent to COMP 5201 at Carleton University.

Course Component: Lecture

CSI 5148 Wireless Ad Hoc Networking (3 units)

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. This course is equivalent to COMP 5103 at Carleton University.

Course Component: Lecture

CSI 5149 Graphical Models and Applications (3 units)

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, variational methods, applications. Courses CSI 5149 (COMP 5007), ELG 5131 (EAGJ 5131) and ELG 7177 (EACJ 5605) cannot be combined for units. This course is equivalent to COMP 5007 at Carleton University.

Course Component: Lecture

Permission of the Department is required.

CSI 5151 Virtual Environments (3 units)

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. Courses ELG 5124 (EACJ 5204), CSI 5151 (COMP 5205) cannot be combined for units. This course is equivalent to COMP 5205 at Carleton University.

Course Component: Lecture

CSI 5152 Evolving Information Networks (3 units)

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. This course is equivalent to COMP 5310 at Carleton University.

Course Component: Lecture

CSI 5153 Data Management for Business Intelligence (3 units)

Data management problems and information technology in decision making support in business environments. Topics include advanced data modeling, semantic modeling, multidimensional databases and data warehousing, on-line-analytical processing, elements of data mining, context in data management, data quality assessment, data cleaning, elements of business process modeling. This course emphasizes concepts and techniques rather than specific applications or systems/implementations. This course is equivalent to COMP 5111 at Carleton University.

Course Component: Lecture

CSI 5154 Algorithms for Data Science (3 units)

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-dimension, external memory, core sets, link analysis and recommendation systems. This course is equivalent to COMP 5112 at Carleton University.

Course Component: Lecture

CSI 5155 Machine Learning (3 units)

Concepts, techniques, and algorithms in machine learning; 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

CSI 5161 Principles of Distributed Simulation (3 units)

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 simulation. Distributed agent based simulation. Real time applications of distributed simulation. Distributed and collaborative virtual simulations. This course is equivalent to COMP 5606 at Carleton University.

Course Component: Lecture

CSI 5163 Algorithm Analysis and Design (3 units)

Topics of current interest in the design and analysis of computer algorithms for graph-theoretical applications; e.g. shortest paths, chromatic number, etc. Lower bounds, upper bounds, and average performance of algorithms. Complexity theory. This course is equivalent to COMP 5703 at Carleton University.

Course Component: Lecture

CSI 5164 Computational Geometry (3 units)

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. This course is equivalent to COMP 5008 at Carleton University.

Course Component: Lecture

CSI 5165 Combinatorial Algorithms (3 units)

Design of algorithms for solving problems that are combinatorial in nature, involving exhaustive generation, enumeration, search and optimization. Algorithms for generating basic combinatorial objects (permutations, combinations, subsets) and for solving hard optimization problems (knapsack, maximum clique, minimum set cover). Metaheuristic search, backtracking, branch-and-bound. Computing isomorphism of combinatorial objects (graphs), isomorph-free exhaustive generation. This course is equivalent to COMP 5709 at Carleton University.

Course Component: Lecture

CSI 5166 Applications of Combinatorial Optimization (3 units)

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. This course is equivalent to COMP 5805 at Carleton University.

Course Component: Lecture

CSI 5167 Human-Computer Interaction Models, Theories and Frameworks (3 units)

A basis for graduate study in HCI with an 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. This course is equivalent to COMP 5210 at Carleton University.

Course Component: Lecture

CSI 5168 Digital Watermarking (3 units)

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. Robustness, security, imperceptibility, and capacity of watermarking. Content authentication, copy control, intellectual property, digital rights management, and other applications. This course is equivalent to COMP 5309 at Carleton University.

Course Component: Lecture

CSI 5169 Wireless Networks and Mobile Computing (3 units)

Computational aspects and applications of design and analysis of mobile and wireless networking. Topics include Physical, Link Layer, Media Access Control, Wireless, Mobile LANs (Local Area Networks), Ad-Hoc, Sensor Networks, Power Consumption optimization, Routing, Searching, Service Discovery, Clustering, Multicasting, Localization, Mobile IP/TCP (Internet Protocol/Transmission Control Protocol), File Systems, Mobility Models, Wireless Applications. Courses CSI 5169, ELG 6168 cannot be combined for units. This course is equivalent to COMP 5304 at Carleton University.

Course Component: Lecture

CSI 5173 Data Networks (3 units)

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. This course is equivalent to COMP 5203 at Carleton University.

Course Component: Lecture

CSI 5174 Validation Methods for Distributed Systems (3 units)

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. This course is equivalent to COMP 5604 at Carleton University.

Course Component: Lecture

CSI 5175 Mobile Commerce Technologies (3 units)

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. Courses EBC 5175, CSI 5175 cannot be combined for units. This course is equivalent to COMP 5900 at Carleton University.

Course Component: Lecture

CSI 5180 Topics in Artificial Intelligence (3 units)

Selected topics in Artificial Intelligence (A.I.); could include A.I. programming techniques, pattern matching systems, natural language systems, rule-based systems, constraint systems, machine learning systems, and cognitive systems. Applications could include areas in Finance, Medicine, Manufacturing, Smart Cities, Semantic Web, Healthcare, Fraud Detection, Intrusion Detection, Autonomous Vehicles, Opinion mining, Sentiment Analysis or similar areas. Assignments will be both (a) programming-oriented, requiring implementation and/or extensions of prototypes in Lisp and/or Prolog and (b) research-oriented, requiring readings of special topics in current A.I. journals. This course is equivalent to COMP 5100 at Carleton University.

Course Component: Lecture

CSI 5183 Evolutionary Computation and Artificial Life (3 units)

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. This course is equivalent to COMP 5206 at Carleton University.

Course Component: Lecture

Precludes additional credit for COMP 4107.

CSI 5185 Statistical and Syntactic Pattern Recognition (3 units)

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. This course is equivalent to COMP 5107 at Carleton University.

Course Component: Lecture

CSI 5200 Projects on Selected Topics (3 units)

Course Component: Lecture

CSI 5308 Principles of Distributed Computing (3 units)

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. This course is equivalent to COMP 5003 at Carleton University.

Course Component: Lecture

CSI 5311 Distributed Databases and Transaction Processing (3 units)

Principles involved in the design and implementation of distributed databases and distributed transaction processing systems. Topics include: distributed and multi-database system architectures and models, atomicity, synchronization and distributed concurrency control algorithms, data replication, recovery techniques, and reliability in distributed databases. This course is equivalent to COMP 5101 at Carleton University.

Course Component: Lecture

CSI 5312 Distributed Operating Systems Engineering (3 units)

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. This course is equivalent to COMP 5102 at Carleton University.

Course Component: Lecture

CSI 5314 Object-Oriented Software Development (3 units)

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. This course is equivalent to COMP 5104 at Carleton University.

Course Component: Lecture

CSI 5380 Systems and Architectures for Electronic Commerce (3 units)

E-commerce system architecture with a focus on relevant design patterns. Web servers, containers, and application frameworks. Web protocols, services, and client technologies. Scalability through load balancing, clustering, and code optimization. Internationalization, accessibility, and privacy. Data mining and sharing approaches for digital targeted advertising. E-commerce user interface design and evaluation. Current research issues. Hands-on experience with an integrated set of current e-commerce tools. E-commerce development project. Courses EBC 5380, CSI 5380 cannot be combined for units. This course is equivalent to COMP 5405 at Carleton University.

Course Component: Lecture

CSI 5386 Natural Language Processing (3 units)

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. This course is equivalent to COMP 5505 at Carleton University.

Course Component: Lecture

CSI 5387 Data Mining and Concept Learning (3 units)

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. Approaches for coping with Big Data. Selected applications of data mining and concept learning.

Course Component: Lecture

Permission of the Department is required.

CSI 5388 Topics in Machine Learning (3 units)

Course Component: Lecture

Permission of the Department is required.

CSI 5389 Electronic Commerce Technologies (3 units)

Business models and technologies. Search engines. Cryptography. Web services and agents. Secure electronic transactions. Value added e-commerce technologies. Advanced research questions. Courses EBC5389, CSI5389 cannot be combined for units. This course is equivalent to COMP 5401 at Carleton University.

Course Component: Lecture

CSI 5390 Learning Systems from Random Environments (3 units)

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.

Course Component: Lecture

CSI 5500 Projets en informatique (3 crédits)

Volet : Cours magistral

CSI 5501 Modèles formels de l'information (3 crédits)

Volet : Cours magistral

CSI 5510 Principles de développement formel de logiciels (3 crédits)

Méthodologies pour la spécification, le développement et la vérification formels de logiciels. Utilisation d'assistants de preuves, de déduction automatisée et d?autres méthodes formelles visant l?exactitude de logiciel. Applications à la vérification de programmes et au calcul sécurisé. Ce cours est équivalent à COMP 5707 à la Carleton University.

Volet : Cours magistral

CSI 5511 Génie de la qualité des logiciels (3 crédits)

Critères de la qualité des logiciels. Composantes et métriques de qualité. Qualité du processus de développement des logiciels. Génie de fiabilité des logiciels. Capture et validation d'exigences. Validation systématique de la conception; approche boîte-grise. Conception, implantation et gestion des tests. Étude de cas en validation et vérification des logiciels de communication. Conception orientée objet. Aspects théoriques. Ce cours est équivalent à COMP 5501 à la Carleton University.

Volet : Cours magistral

CSI 5526 Algorithmes en bio-informatique (3 crédits)

Assemblage de l'ADN, recherche de gênes, comparaison de chaînes, alignement de séquences, structures grammaticales, structures secondaires et tertiaires. Les récents développements, tels que les puces d'ADN et de protéines. Travail additionnel requis dans le cas des étudiants inscrits sous la cote CSI 5526.

Volet : Cours magistral

Permission of the Department is required.

CSI 5537 Thème choisi en génie logiciel (catégorie E) (3 crédits)

Thèmes choisis en génie logiciel (catégorie E), 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

CSI 5538 Thème choisi en théorie de l?informatique (catégorie T) (3 crédits)

Thèmes choisis en théorie de l'informatique (catégorie T), 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

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

CSI 5540 Thème choisi en systèmes informatiques (catégorie S) (3 crédits)

Thèmes choisis en systèmes informatiques (catégorie S), 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

CSI 5555 Apprentissage machine (3 crédits)

Concepts, techniques et algorithmes en apprentissage machine; représentation, régularisation et généralisation; apprentissage supervisé; apprentissage non supervisé; méthodes avancées telles que les machines à vecteur de support, les algorithmes en ligne, les réseaux de neurones; les modèles de Markov cachés et les réseaux bayésiens; le fléau de la dimensionnalité et l'apprentissage machine à grande échelle. Catégorie T dans la liste de cours.

Volet : Cours magistral

CSI 5561 Sujets en simulation et en optimisation des systèmes (3 crédits)

Volet : Cours magistral

CSI 5563 Analyse et conception des algorithmes (3 crédits)

Volet : Cours magistral

CSI 5565 Algorithmes combinatoires (3 crédits)

Conception d'algorithmes pour résoudre des problèmes de nature combinatoire (génération exhaustive, énumération, recherche et optimisation). Algorithmes pour générer des objets combinatoires de base (permutations, combinaisons, sous-ensembles) et pour résoudre des problèmes d'optimisation difficiles (knapsack, clique maximum, couverture minimum). Recherche métaheuristique, retour arrière, branch-and-bound. Calcul de l'isomorphisme des objets combinatoires (graphes), génération exhaustive sans isomorphes. Ce cours est équivalent à COMP 5709 à l'Université Carleton.

Volet : Cours magistral

CSI 5571 Télématique : Concepts et logiciels (3 crédits)

Volet : Cours magistral

CSI 5580 Sujets en intelligence artificielle (3 crédits)

Thèmes choisis en intelligence artificielle (I.A.); pourrait inclure des techniques de programmation en intelligence artificielle, des systèmes d?appariement de formes, des systèmes à langage naturel, des systèmes à base de règles, des systèmes de contraintes, des systèmes d?apprentissage automatique et des systèmes cognitifs. Les applications 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 fraudes ou d?intrusion, des véhicules autonomes, de l?analyse d?opinion, de l?analyse de sentiments ou d?autres domaines similaires. Les devoirs seront à la fois (a) axés sur la programmation, exigeant l?implémentation et/ou l?extension de prototypes (b) axés sur la recherche, nécessitant des lectures de sujets spéciaux dans des revus d?I.A. contemporaines. Ce cours est équivalent à COMP 5100 à l?Université Carleton.

Volet : Cours magistral

CSI 5780 Systèmes et architectures des logiciels pour le commerce électronique (3 crédits)

Architecture du système de commerce électronique et patrons de conception. Serveurs Web, conteneurs et cadres d'application. Protocoles, services, et technologies de client Web. Évolutivité grâce à l'équilibrage de la charge, au clustering et à l'optimisation du code. Internationalisation, accessibilité et confidentialité. Méthodes d'exploration et de partage de données pour la publicité ciblée numérique. Conception et évaluation de l'interface utilisateur pour le commerce électronique. Problèmes de recherche actuels. Expérience pratique avec un ensemble intégré d'outils de commerce électronique actuels. Projet de développement du commerce électronique. Les cours EBC 5380, CSI 5380 ne peuvent pas être combinés pour les unités. Ce cours est équivalent à COMP 5405 à la Carleton University.

Volet : Cours magistral

Prerequisite: CSI 5389

CSI 5787 Fouille des données et apprentissage des concepts (3 crédits)

Aspects conceptuels et techniques de l?exploration des données. Méthodes pour l?agrégation et le prétraitement des données. Algorithmes d?extraction de patrons et analyse des règles d?association; partitionnement des données et détection des anomalies. Sélection et évaluation des modèles et tests de signification statistique. Approches pour composer avec les mégadonnées. Choix d?applications en exploration des données et en extraction des concepts.

Volet : Cours magistral

CSI 5789 Technologies du commerce électronique (3 crédits)

Introduction aux modèles et technologies d'entreprise. Moteurs de recherche. Cryptographie. Services Web et agents. Transactions électroniques sécurisées. Technologies du commerce électronique à valeur ajoutée. Questions de recherche avancées. Ce cours est équivalent à COMP 5401 à la Carleton University.

Volet : Cours magistral

Prerequisite: CSI 4110 or equivalent.

CSI 5900 Projets de recherche en informatique / Graduate Projects in Computer Science (3 crédits / 3 units)

Ce cours est équivalent à COMP 5902 à la Carleton University. / This course is equivalent to COMP 5902 at Carleton University.

Volet / Course Component: Cours magistral / Lecture

CSI 5901 Études dirigées / Directed Studies (3 crédits / 3 units)

A course of independent study under the supervision of a member of the School of Computer Science. Ce cours est équivalent à COMP 5901 à la Carleton University. / This course is equivalent to COMP 5901 at Carleton University.

Volet / Course Component: Recherche / Research

CSI 5903 Stage en commerce électronique / Electronic Commerce Work Term (3 crédits / 3 units)

Expérience en milieu de travail. Noté S (satisfaisant) ou NS (non satisfaisant) selon les résultats du rapport écrit et l'évaluation de l'employeur. Préalable : être accepté au programme de certificat en commerce électronique (option technologie) et recevoir la permission du Comité du programme. / Practical experience. Graded S (Satisfactory) / NS (Not satisfactory), to be based on the grades obtained for the written report as well as on the evaluations of the employer.

Volet / Course Component: Cours magistral / Lecture

Permission du Département est requise. / Permission of the Department is required.

CSI 5904 Projet de recherche avancé en commerce électronique / Graduate Project in Electronic Commerce (3 crédits / 3 units)

Projet sur un sujet précis en commerce électronique mené sous la direction d'un professeur. Les cours CSI 5904, CSI 5903 ne peuvent être combinés pour l'obtention de crédits. / Project on a specific topic in electronic commerce under the supervision of a professor. Courses CSI 5904, CSI 5903 cannot be combined for units.

Volet / Course Component: Cours magistral / Lecture

Exclusion: CSI 5903.

CSI 5905 Projet / Project (3 crédits / 3 units)

Développement d'une application pour appareils mobiles. L'étudiant identifie un projet, qui doit comprendre une importante part de logiciel s'exécutant sur l'appareil mobile et se prêter à une évaluation raisonnablement indépendante d'autres logiciels. Le projet est dirigé par un professeur approuvé par la direction du programme. Le projet est normalement complété en une session. Noté S (satisfaisant) ou NS (non satisfaisant) par le directeur du projet et un autre professeur nommé par le directeur du programme. / Development of an application for mobile devices. Students identify a project that must include a significant portion of software running on device, and should be reasonably self-contained. The project can normally be completed in one session. Graded S (Satisfactory) or NS (Not satisfactory) by the supervisor and by another professor appointed by the program director.

Volet / Course Component: Cours magistral / Lecture

Permission du Département est requise. / Permission of the Department is required.

CSI 6900 Projets de recherche intensive en informatique / Intensive Graduate Projects in Computer Science (6 crédits / 6 units)

Cours de six crédits s'échelonnant sur une période de deux sessions. L'envergure du projet de recherche exigé dans ce cours est deux fois plus grande que dans le cas de CSI 5900. Les cours CSI 6900, CSI 5900 ne peuvent être combinés pour l'obtention de crédits. Cours ouvert uniquement aux étudiants inscrits à la maîtrise sans thèse. Ce cours est équivalent à COMP 5903 à la Carleton University. / A two-session course. The project is twice the scope of projects in CSI 5900. Courses CSI 6900, CSI 5900 cannot be combined for units. Not to be taken in the thesis option. This course is equivalent to COMP 5903 at Carleton University.

Volet / Course Component: Recherche / Research

CSI 7131 Advanced Parallel and Systolic Algorithms (3 units)

Continuation of CSI 5131 (COMP 5704). This course is equivalent to COMP 6100 at Carleton University.

Course Component: Lecture

CSI 7160 Advanced Topics in the Theory of Computing (3 units)

This course is equivalent to COMP 6601 at Carleton University.

Course Component: Lecture

CSI 7161 Advanced Topics in Programming Systems and Languages (3 units)

This course is equivalent to COMP 6603 at Carleton University.

Course Component: Lecture

CSI 7162 Advanced Topics in Computer Applications (3 units)

This course is equivalent to COMP 6604 at Carleton University.

Course Component: Lecture

CSI 7163 Advanced Topics in Computer Systems (3 units)

This course is equivalent to COMP 6605 at Carleton University.

Course Component: Lecture

CSI 7170 Advanced Topics in Distributed Computing (3 units)

This course is equivalent to COMP 6602 at Carleton University.

Course Component: Lecture

CSI 7314 Advanced Topics in Object-Oriented Systems (3 units)

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. This course is equivalent to COMP 6104 at Carleton University.

Course Component: Lecture

CSI 7561 Études avancées en systèmes et langages de programmation (3 crédits)

Ce cours est équivalent à COMP 6603 à la Carleton University.

Volet : Cours magistral

CSI 7900 Projets de recherche en informatique / Graduate Projects in 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

CSI 7901 Études dirigées / Directed Studies (3 crédits / 3 units)

Ce cours est équivalent à COMP 6901 à la Carleton University. / This course is equivalent to COMP 6901 at Carleton University.

Volet / Course Component: Recherche / Research

CSI 9901 Colloque / Seminar

Volet / Course Component: Séminaire / Seminar

CSI 9902 Colloque / Seminar

Volet / Course Component: Recherche / Research

CSI 9997 Proposition de thèse de doctorat / Doctoral Thesis Proposal

Within 8 terms following initial registration in the program, a document, generally defining the problem addressed, relating it to the literature, outlining the hypotheses, goals, research methodology, initial results and validation approach, must be submitted to an examination committee and successfully defended. Ce cours est équivalent à COMP 6908 à la Carleton University. This course is equivalent to COMP 6908 at Carleton University.

Volet / Course Component: Recherche / Research

CSI 9998 Examen général de doctorat / Ph.D. Comprehensive

A committee must be assembled and must approve 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 examination 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. Ce cours est équivalent à COMP 6907 à la Carleton University. This course is equivalent to COMP 6907 at Carleton University.

Volet / Course Component: Recherche / Research