Menu
Banner - Faculty of Graduate and Postdoctoral Studies

Computer Science (MCS)

Back to Program List
 

Ottawa-Carleton Joint Program

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.

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. The program includes a co-op option.

The MCS program includes several options:

  • Master's with thesis option
  • Master's with thesis option, Accelerated Stream
  • Master's with thesis option, co-op
  • Master’s, non-thesis option
  • Master’s, non-thesis option, co-op

The degree awarded is the Master of Computer Science (MCS). Requests for information and application forms should be sent to the graduate secretaries handling the admission process.

The Department of Computer Science is a participating unit in the collaborative program in bioinformatics at the master’s level.

The program is governed by the regulations and procedures for Joint Graduate Programs and the general regulations of the graduate faculty at each of the two universities. The general regulations of the Faculty of Graduate and Postdoctoral Studies (FGPS) of the University of Ottawa are posted on the FGPS website.

Search all research fields for members of the teaching staff

The professors included in the list below are members of the Faculty of Graduate and Postdoctoral Studies. This means that they are authorized to supervise or co-supervise theses. A complete list of the faculty and staff members associated with the program can be found at https://ocics.site.uottawa.ca/graduate/index.php




ADAMS, Carlisle, Full Professor
Cryptography; network security; computer security; access control; privacy

AMYOT, Daniel, Full Professor
Software and requirements engineering; Modeling with goals and scenario; Aspects, Business Process Management, Medical Informatics

BENYOUCEF, Morad, Associate Professor
Software engineering; Internet technologies; E-Business; E-Commerce; Web services; Workflow management

BOCHMANN, Gregor, Full Professor
Communication protocols; software engineering; formal specifications; verification and validation; distributed applications and systems management; multimedia; high-speed networks; real-time systems

BOUCHARD, Martin, Full Professor
Signal processing methods in general, especially for speech, audio and acoustics

BOUKERCHE, Azzedine, Full Professor
Large scale distributed interactive simulation systems; Mobile computing and networking

BOYD, Sylvia, Cross-appointment
Combinatorial optimization; network design; integer programming; polyhedral combinatorics, travelling salesman problem; analysis and design of algorithms

CRETU, Ana-Maria, Adjunct Professor
3D object modeling; machine learning; neural networks, bio-inspired models; vision; tactile sensing; human-computer interaction; virtualized reality

DRUMMOND, Chris, Adjunct Professor
Machine learning; specifically data mining; learning agents; hybrid systems and cost sensitive learning

DUBOIS, Eric, Full Professor
Digital signal processing; data compression; image processing and communication

DUJMOVIC, Vida, Assistant Professor
Graph drawing/visualization; graph algorithms; discredte and computational geometry; data structures and algorithms

EL EMAM, Khaled, Cross-appointment
Understanding the human, organizational, and technological factors that affect the quality and utility of data contained in electronic health records

EL SADDIK, Abdulmotaleb, Full Professor
Web engineering; multimedia communications; tele-collaborative environments; internationalization

FAMILI, Fazel, Adjunct Professor
Data mining: bioinformatics; machine learning

FELTY, Amy, Full Professor
Theorem proving; automated deduction; formal methods in software engineering; computational logic

FLOCCHINI, Paola, Full Professor
Distributed computing; distributed algorithms; structural information; sense of direction; mobile computing; cellular automata; discrete chaos

FRIZE, Monique, Emeritus Professor
Clinical engineering; infrared imaging, decision-support systems in medicine; ethics in engineering and human experimentation; Women in science; technology; engineering and math (STEM)

GORODNICHY, Dmitry O., Adjunct Professor
Video recognition; face processing; video surveillance; visual analytics; biometrics, and their applications to security

GROZA, Voicu, Full Professor
Real-time embedded systems; smart sensors networks; multimedia communications; distributed intelligence; instrumentation

INKPEN, Diana, Full Professor
Natural language understanding, natural language generation, lexical semantics, information extraction, speech technology, intelligent agents for the semantic web

IONESCU, Dan, Full Professor
Machine vision, real time systems, formal methods, models for software specification, verification

JAPKOWICZ, Nathalie, Full Professor
Machine learning for defense and security, the class imbalance problem, novelty detection, machine learning evaluation

JOURDAN, Guy-Vincent, Associate Professor
Distributed systems; software verification; validation and testing; partially ordered sets; data visualization

KARMOUCH, Ahmed, Full Professor
Network virtualization, mobile cloud computing, software defined networking, service specific overlay networks mobile computing

KIRINGA, Iluju, Associate Professor
Databases, peer databases, active databases, transaction models, knowledge representation, business intelligence

KUZIEMSKY, Craig, Associate Professor
Health management, information and communication technologies (ICTs) for collaborative healthcare delivery

LAGANIÈRE, Robert, Full Professor
Computer vision and image processing

LANG, Jochen, Associate Professor
Computational photography, computer graphics, computer haptics

LEE, Wonsook, Associate Professor
Computer graphics, human design and animation, medical applications

LEMAIRE, Edward, Cross-appointment
Physical rehabilitation; assistive devices; telehealth; biomechanics; prosthetics; orthotics; computer applications

LETHBRIDGE, Timothy, Full Professor
Software modeling, code generation, software usability, software engineering education

LOGRIPPO, Luigi, Adjunct Professor
Formal methods in software engineering, with application to security and privacy

MAKRAKIS, Dimitrios, Associate Professor
Computer networks: architectures, protocols, management, broadband applications

MANSOUROV, Nicolai, Adjunct Professor
KDM analytics

MAO, Yongyi, Assistant Professor
Machine learning, communications, coding and information theory

MASON, Peter, Adjunct Professor

MATWIN, Stanislaw, Full Professor
Artificial intelligence; knowledge-based systems; machine learning; software reuse

MCDONALD, David, Full Professor
Applied probability

MICHALOWSKI, Wojtek, Full Professor
Clinical decision support, ontological modeling, data mining for clinical applications, operations research

MIRI, Ali, Associate Professor
Information and coding theory, wireless communication, efficient design of cryptographic primitives, security of distributed and parallel systems

MOUFTAH, Hussein, Distinguished University Professor
Computer networks, optical networking, wireless ad hoc and embedded sensor networks, routing algorithms and protocols, simulation, performance evaluation

MOURA, Lucia, Associate Professor
Combinatorial algorithms, combinatorial designs and their applications, combinatorial optimization

NAYAK, Amiya, Full Professor
Fault tolerance, mobile computing, distributed systems

ONUT, Iosif, Adjunct Professor
Rich Internet application crawling, Web application security, accessibility

PAQUET, Eric, Adjunct Professor
Invariant shape recognition, multimedia information indexing and retrieval, data mining, structural proteomics

PAYEUR, Pierre, Full Professor
3-D modeling and imaging: data acquisition, probabilistic modeling of space, robot path planning and collision avoidance, autonomous systems

PERKINS, Theodore, Adjunct Professor
Bioinformatics, machine learning, stem cell, cancer biology

PETRIU, Emil, Full Professor
Intelligent sensors and networks; robot sensing and perception; neural networks and fuzzy systems; interactive virtual environments; digital integrated circuit testing

PEYTON, Liam
E-commerce; business process automation; compliance with privacy policies that integrates metrics; knowledge management; data mining and mobile computing support

PROBERT, Robert, Adjunct Professor
Software engineering; design and testing Internet applications for security, communication protocols and software testing; industrial best practices for testing e-commerce and Web applications

RAAHEMI, Bijan, Associate Professor
Information systems; data mining and knowledge discovery; data communications networks and services; systems modeling; simulation; and performance analysis

SAMAAN, Nancy, Assistant Professor
Wireless communication and mobile networking; QoS in wired and wireless networks; network management; autonomic networks; mapping network-related business level objectives; policy-based management; networking solutions to e-business applications

SANKOFF, David, Full Professor
Mathematical genomics

SCOTT, Philip, Full Professor
Logic; category theory; theoretical computer science

SELINGER, Peter, Adjunct Professor
Mathematical logic; category theory

SHIRMOHAMMADI, Shervin
Multimedia communications; telecollaborations; Web based multimedia tools; virtual environments

SOKOLOVA, Marina, Cross-appointment
Health Information; Text Data Mining; Data Mining

SOME, Stéphane
A distributed object oriented environment programming methodology

STOJMENOVIC, Ivan, Cross-appointment
Mobile networks; routing; geocasting; location updates; broadcasting; activity scheduling; clustering; bluetooth; cellular; medium access; data broadcast

SZPAKOWICZ, Stanislaw, Full Professor
Natural language processing; computational linguistics; automatic text summarization; language in electronic negotiations; lexical resources

TCHAGANG, Alain, Adjunct Professor

TRAN, Thomas
Artificial intelligence; electronic commerce; multi-agent systems; autonomous agents; reinforcement learning; trust and reputation modelling; recommender systems

TURCOTTE, Marcel, Associate Professor
Bioinformatics; algorithms design; applications of machine learning

TURNEY, Peter, Adjunct Professor
Natural language and speech understanding; adaptive, learning and evolutionary systems; artificial intelligence; data mining

URAL, Hasan, Full Professor
Software engineering; distributed computing; formal methods for software specification and design; software testing and verification

VALDES, Julio, Adjunct Professor

VIKTOR, Herna, Associate Professor
Data Mining; data warehousing; data and information quality

WRIGHT, David, Full Professor
Sustainability; Environmental Entrepreneurship; Business case for solar power; Energy Efficiency of Information Technology

YAGOUB, Mustapha
Microwave and millimeter-wave devices; circuits and systems; applied electromagnetics; microwave circuit CAD; neural nets for microwave applications; linear and nonlinear modeling; optimization methods

YANG, Oliver, Full Professor
Optical communication network; broadband ATM switch architecture; traffic management in high speed network; network topologies; Network Modeling, analysis and performance evaluation; protocols and algorithms

YEAP, Tet, Associate Professor
Wireless communication; application specific VLSI architectures; high capacity wireline and wireless access; neural networks; communication systems

YU, Eric, Adjunct Professor

ZAGUIA, Nejib, Full Professor
Algorithms; algorithms graphs; order optimization

ZHAO, Jiying
Image and video processing; signal processing; multimedia communications

Admission to the program is competitive. Minimum requirements are a BSc (Honours) in Computer Science or equivalent with a B (70%) or higher average.

The Accelerated Stream has three additional requirements:

  • Two OCICS master’s courses each with 70% (B) or higher grade (taken during their Bachelor’s program in Computer Science or Software Engineering).
  • An admission average of A- (80%) or higher.
  • Have a thesis supervisor.

All candidates must demonstrate fluency in either English or French.

In accordance with the University of Ottawa regulation, assignments, examinations, research papers and theses can be produced in either English or French.

NOTE: Equivalent is considered to be an honours university program which includes at least 12 three-credit courses in Computer Science, four of which must be at the fourth-year level, as well as eight three-credit courses in Mathematics, two of which must be at the third- or fourth-year level. These courses must include all the following topics:

  • Computer Science Courses: Data Structures; Operating Systems; Computer Architecture; Algorithm Design and Analysis; Formal Languages; Databases; and two High-Level Languages.
  • Mathematics Courses: Calculus; Linear Algebra; Probability and Statistics; and Algebraic Structures or Discrete Mathematics.

NOTE: If one or two of the above courses are missing, they will be added as extra requirements at admission time.

Co-op Option

To be admitted into the co-op option, students must commence the MCS program in the fall session and be registered full time. Applications for the co-op option must be received by the end of the first month of the student's registration in the MCS program. Acceptance into the co-op option is offered on a competitive basis and is managed by the Co-op Office. Enquiries should be directed to that office. The co-op option is not available to MCS students in the Accelerated Stream.

Collaborative Program in Bioinformatics at the Master's Level

The Ottawa-Carleton Institute of Computer Science is a participating unit in the collaborative program in Bioinformatics at the master's level. This program has been established for the students wishing to include an interdisciplinary component in Bioinformatics as part of their degree in Computer Science.

Students should indicate in their initial application for admission that they wish to be accepted into the collaborative program. To be accepted, the thesis director must be a member of the collaborative program. Students are normally informed about their acceptance into the collaborative program at the same time as being informed about their admission into the primary program. For further details, see the Bioinformatics program.

Qualifying Program

Applicants who lack the required undergraduate preparation may be admitted to a qualifying-year program. The basis for admission to the qualifying year of the Masters program will normally be an honours degree in a related discipline with a B average (70%), provided that the honours program in question includes the equivalent of three years of an honours computer science program. A major degree holder with superior academic standing may be considered for admission to the qualifying year with suitable background preparation.

Normally, students in the program will be expected to complete a thesis. Each candidate submitting a thesis will be required to defend it orally. However, students may be permitted to take a non-thesis option.

MCS Thesis Option

Students in the thesis option must take five three-credit courses (three courses in the Accelerated Stream) or equivalent, fulfill the graduate seminar requirements, and complete a thesis.

MCS Non-Thesis Option

Students in the non-thesis option must take eight three-credit courses or equivalent, the Intensive Graduate Project Course in Computer Science, and fulfill the graduate seminar requirements. The non-thesis option is not available to MCS students in the Accelerated Stream.

Subject to the approval of the graduate coordinator, a student may take up to half of the course credits in the program in other disciplines (e.g. electrical engineering, mathematics and physics).

Graduate Seminar (CSI5902)
To fulfill the requirements of the CSI5902 the student must:

  • Make a successful presentation.
  • Satisfy the attendance requirement as specified in the student handbook.

The graduate seminar requirements must be fulfilled within two consecutive sessions.

Course selection
Course selection must be approved by the student's academic advisor, and must include at least:

  • One three-credit course in Software Engineering (category E).
  • One three-credit course in the Theory of Computing (category T).
  • One three-credit course in either Computer Applications (category A) or Computer Systems (category S).

For students in the Accelerated Stream, the two OCICS courses taken as part of their undergraduate degree can be used to satisfy at most two of the above category requirements.

At most, two three-credit courses at the fourth year level are permitted, but only for students in the regular MCS program.

Note that students in the Accelerated Stream of the MCS are not eligible for fast-track to the PhD.

A student may be permitted to carry out thesis work off campus provided suitable arrangements are made for supervision and experimental work, and prior approval is obtained from the Joint Program Committee and the FGPS.

Collaborative Program in Bioinformatics

The student is responsible for fulfilling both the participating unit requirements for the primary program and the requirements for the collaborative program.

The requirements specific to the collaborative program are as follows:

  • 3 compulsory credits in Bioinformatics (BNF5106/ BIO5106).
  • Enrollment in the seminar course in Bioinformatics (BNF6100), which involves a written report, the presentation of a seminar, and regular attendance at departmental seminars.
  • Presentation and defence of a research thesis on a topic in bioinformatics based on original research carried out under the supervision of a faculty member participating in the Bioinformatics collaborative program.
  • The passing grade in all courses is B. Students who fail 6 credits, or whose research progress is deemed unsatisfactory are required to withdraw from the program.

The primary program may require students to take additional courses, depending on their backgrounds.

Co-op Option (available to both students registered in the thesis and non-thesis option)

The requirements of the co-op option are as follows:

  • Co-op students must register full-time and complete two work terms: CSI6001 Co-op Work Term I and CSI6002 Co-op work term II.

Each work term is graded P/F (pass/fail), based on the employer’s report and on the written report completed by the student. (The report must be 30 pages long, including appendices.) The report is evaluated by the professor in charge of the graduate co-op option in Computer Science.

The credits awarded for co-op terms may not be used to obtain equivalences for other courses. In other words, the co-op credits are additional to the minimum requirements of the degree.

To remain in the co-op option, students must:

  • Be registered full-time.
  • Maintain a 7.0 cumulative grade point average.
  • Obtain a satisfactory grade (P) for each co-op work term.

Transfer from Master’s to PhD Program

Outstanding students enrolled in the master’s program may be allowed to transfer to the PhD program without being required to write a master’s thesis. For additional information, please consult the “Admission” section of the PhD program.

Note that students in the Accelerated Stream of the MCS are not eligible for fast-track to the PhD.

Duration of the Program

Full-time students are expected to complete all requirements within two years. Students in the Accelerated Stream are, however, expected to complete all requirements within three sessions. The maximum time permitted in all cases is four years from the date of initial registration in the program.

Residence

All full-time students must complete a minimum of three sessions of full-time registration. In the case of transfer to the PhD, the residency period for the PhD is nine full-time sessions from the initial registration in the program.

Minimum Standards

The passing grade in all courses is B. Students who fail 6 credits, or whose research progress is deemed unsatisfactory are required to withdraw from the program.

Les cours sont regroupés selon les catégories suivantes :

Génie du logiciel (symbole E dans la liste des cours)
- systèmes de bases de données et systèmes intelligents; génie informatique; conception de langages et de leurs traducteurs.

Théorie de l'informatique (symbole T dans la liste des cours)
- théorie des bases de données; principes de protocoles; théorie de la complexité; algorithmes algébriques; algorithmes combinatoires; algorithmes des nombres théoriques et géométriques; théorie des automates et langages formels.

Applications informatiques (symbole A dans la liste des cours)
- intelligence artificielle; applications graphiques; modélisation et simulation; analyse numérique; optimisation.

Systèmes informatiques (symbole S dans la liste des cours)
- architectures spécialisées; traitement du signal, image et langage; informatique répartie; réseaux juxtaposés et locaux; systèmes de bureautique.



Courses are grouped according to the following categories:

Software Engineering (code E in the course list)
- Database and Knowledge-based Systems; Software Engineering; Software Translator and Language Design.

Theory of Computing (code T in the course list)
- Theory of Databases; Principle of Protocols; Complexity Theory; Algebraic Algorithms; Combinatorial Algorithms; Number-Theoretic and Geometric Algorithms; Automata Theory and Formal Languages.

Computer Applications (code A in the course list)
- Artificial Intelligence; Computer Graphics; Modelling and Simulation; Numerical Analysis; Optimization.

Computer Systems (code S in the course list)
- Specialized Architectures; Signal, Image and Speech Processing; Distributed Computing; Local and Wide Area Networks; Office Information Systems.



Génie du logiciel (symbole E dans la liste des cours) / Software Engineering (code E in the course list)

CSI5107 (COMP 5609) PROGRAM CONSTRUCTION AND FAULT TOLERANCE (3cr.)
Mathematics for program construction and fault tolerance. Program construction by relational decomposition: the equations and the heuristics. Fundamentals of program fault tolerance. Implementing error detection and damage assessment. Forward and backward error recovery. Hybrid program validation.

CSI5109 (COMP 5701) SPECIFICATION METHODS FOR DISTRIBUTED SYSTEMS (3cr.)
Concepts of process algebras, specially with relation to the specification language LOTOS. Equivalence concepts: observation equivalence, testing equivalence. Data algebras. Rewriting systems. Verification of specifications. Specifications styles. Applications to distributed systems: communications protocols, telephone systems. Related models CSP, CCS, ACP. Relation to temporal logic and model checking.

CSI5111 (COMP 5501) SOFTWARE QUALITY ENGINEERING (3cr.)
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.

CSI5112 (COMP 5207) SOFTWARE ENGINEERING (3cr.)
Topics of current interest in Software Engineering, such as software development systems, structured systems analysis and design, management of software, software tools, validation and verification, programming environments.

CSI5113 (COMP 5001) FOUNDATIONS OF PROGRAMMING LANGUAGES (3cr.)

CSI5115 (COMP 5503) DATABASE ANALYSIS AND DESIGN (3cr.)
The dimensional and multidimensional data models for data warehousing. Data dependencies and decompostition. 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.

CSI5118 (COMP 5302) AUTOMATED VERIFICATION AND VALIDATION OF SOFTWARE (3cr.)
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. Prerequisite: a four-year undergraduate degree in computer science, computer engineering, or software engineering.

CSI5122 (COMP 5301) SOFTWARE USABILITY (3cr.)
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.

CSI5123 (COMP 5106) LANGUAGES FOR PARALLEL COMPUTING (3cr.)

CSI5134 (COMP 5004) FAULT TOLERANCE (3cr.)
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.

CSI5143 (COMP 5403) REAL-TIME SYSTEMS DEVELOPMENT (3cr.)
An advanced course in real-time OO systems development that deals with modeling systems at different abstraction levels. A systematic and traceable modeling process is introduced. Topics include: modeling notations (including UML-RT), development process, design patterns, and system testing. Expect a substantial design project. Precludes additional credit for ELG 6186. Prerequisite: Computer Science CSI 5314 or equivalent.

CSI5184 (COMP 5804) LOGIC PROGRAMMING (3cr.)
Review of Logic Programming (LP) as a foundation of fifth generation software. Two approaches to LP: automated deduction and procedural semantics. Software development methodology in the LP framework. Advanced Prolog programming. Implementations of LP. The course includes a programming project and a presentation.

CSI5310 (COMP 5400) SOFTWARE PATTERNS (3cr.)
Survey of current developments in software patterns, three-part rules expressing relations between software contexts, problems and solutions. Discussion of Pattern categories: architectural, design, analysis, refactoring, general-purpose, anti-patterns, and idioms. Students required to apply existing patterns and to develop and defend new ones. Prerequisites: 95.304 or CSI 3300 or equivalent

CSI5314 (COMP 5104) OBJECT-ORIENTED SOFTWARE DEVELOPMENT (3cr.)

CSI5507 (COMP 5609) LES PROGRAMMES: CONSTRUCTION ET TOLÉRANCE AUX FAUTES (3cr.)
Mathématiques pour la construction de programmes et pour la tolérance aux fautes. Construction de programmes par décomposition relationnelle: les équations et les heuristiques. Fondements de la tolérance aux fautes des programmes. Mise en oeuvre de la détection d'erreurs et de l'évaluation de la contamination. Recouvrement avant et recouvrement arrière des erreurs. Validation hybride de programmes.

CSI5509 (COMP 5701) MÉTHODES POUR LA SPÉCIFICATION DE SYSTÈMES RÉPARTIS (3cr.)
Algèbres de processus, surtout par rapport au langage de spécification LOTOS. Concepts d'équivalence: équivalence d'observation, équivalence de test. Algèbres de données. Systèmes de récriture. Vérification de spécifications. Styles de spécification. Applications à systèmes répartis: protocoles de communication, systèmes téléphoniques. Modèles reliés: CSP, CCS, ACP. Relations avec logique temporelle et contrôle de modèle.

CSI5511 (COMP 5501) GÉNIE DE LA QUALITÉ DES LOGICIELS (3cr.)
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.

CSI5584 (COMP 5804) PROGRAMMATION LOGIQUE (3cr.)
Revue de programmation logique (PL) comme base du logiciel de la 5e génération des ordinateurs. Deux approches à la PL: déduction automatique ou sémantique procédurale. Méthodologie du développement du logiciel dans le cadre de PL. Concepts avancés de programmation en PROLOG. Implantation de PL. Le cours comprend le développement et la présentation d'un projet.

CSI7161 (COMP 6603) ADVANCED TOPICS IN PROGRAMMING SYSTEMS AND LANGUAGES (3cr.)

CSI7314 (COMP 6104) ADVANCED TOPICS IN OBJECT-ORIENTED SYSTEMS (3cr.)

CSI7561 (COMP 6603) ÉTUDES AVANCÉES EN SYSTÈMES ET LANGUAGES DE PROGRAMMATION (3cr.)



Théorie de l'informatique (symbole T dans la liste des cours) / Theory of Computing (code T in the course list)

CSI5100 (COMP 5306) DATA INTEGRATION (3cr.)
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. Prerequisite: COMP 3005 or equivalent.

CSI5101 (COMP 5307) KNOWLEDGE REPRESENTATION (3cr.)
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. Prerequisites: COMP 1805 and COMP 3005, or equivalents.

CSI5102 (COMP 5308) TOPICS IN MEDICAL COMPUTING (3cr.)

CSI5104 (COMP/MATH 5807) FORMAL LANGUAGE AND SYNTAX ANALYSIS (3cr.)

CSI5107 (COMP 5609) PROGRAM CONSTRUCTION AND FAULT TOLERANCE (3cr.)
Mathematics for program construction and fault tolerance. Program construction by relational decomposition: the equations and the heuristics. Fundamentals of program fault tolerance. Implementing error detection and damage assessment. Forward and backward error recovery. Hybrid program validation.

CSI5108 (COMP 5700) SOFTWARE SPECIFICATION AND VERIFICATION (3cr.)
Mathematics for specifying and verifying. A specification model. A specification lifecycle. Specification-based software reuse. Specifying concurrency and communication. Definitions and theorems of program correctness. Proving program correctness by evaluation. Proving program correctness by induction. Models of program semantics.

CSI5110 (COMP 5707) PRINCIPLES OF FORMAL SOFTWARE DEVELOPMENT (3cr.)
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, mobile code safety, and protocol verification.

CSI5121 (COMP 5408) ADVANCED DATA STRUCTURES (3cr.)

CSI5126 (COMP 5108) ALGORITHMS IN BIOINFORMATICS (3cr.)
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. Prerequisites: CSI 3105, COMP 3804 or equivalent.

CSI5127 (COMP 5409) APPLIED COMPUTATIONAL GEOMETRY (3cr.)

CSI5144 (COMP 5404) COMPUTER-AIDED PRGRAM VERIFICATION (3cr.)

CSI5148 (COMP 5103) WIRELESS AD HOC NETWORKING (3cr.)
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.

CSI5149 (COMP 5007) GRAPHICAL MODELS (3cr.)
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. Precludes credit for ELG5131 (EAGJ5131) and ELG7177 (EACJ 5605). Prerequisite: Permission of the program director.

CSI5161 (COMP 5606) PRINCIPLES OF DISTRIBUTED SIMULATION (3cr.)
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.

CSI5162 (COMP 5702) ORDER: ITS ALGORITHMS AND GRAPHICAL DATA STRUCTURES (3cr.)
In general terms, this course aims to pursue the twin themes of graphical data structures and optimization in theoretical computer science. The particular application areas bear on computational geometry and scheduling; the theoretical tools which we develop arise from ordered sets. To this end the course intends to provide a comprehensive introduction to the combinatorial and computational theory of ordered sets. The special emphasis on the upward drawing and linear extension is intended to develop the tools appropriate to the applications of ordered sets in computer science.

CSI5163 (COMP 5703) ALGORITHM ANALYSIS AND DESIGN (3cr.)
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.

CSI5164 (COMP 5008) COMPUTATIONAL GEOMETRY (3cr.)

CSI5165 (COMP 5709) COMBINATORIAL ALGORITHMS (3cr.)
Design of algorithms for solving problems that are combinatorial in nature, using both sequential and parallel models of computation. Parallel algorithms for enumerating basic combinatorial objects (permutations, combinations, set partitions) and for solving optimization problems (knapsack, minimal cover, branch-and-bound). Polyminoes, polygonal systems, enumeration and classification and benzenoid and coronoid hydrocarbons in chemistry. Combinatorial geometry (Voronoi diagrams, polytopes arrangements). Algorithmic problems in many-valued logics (base enumeration, tautology checking, minimization, finding the spectra).

CSI5166 (COMP 5805) APPLICATIONS OF COMBINATORIAL OPTIMIZATION (3cr.)
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.

CSI5169 (COMP 5304) WIRELESS NETWORKS AND MOBILE COMPUTING (3cr.)
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. (Cannot be combined for credit with ELG 6168)

CSI5173 (COMP 5203) DATA NETWORKS (3cr.)

CSI5174 (COMP 5604) VALIDATION METHODS FOR DISTRIBUTED SYSTEMS (3cr.)
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 stragegies. Testing techniques. Test generation strategies. Test architectures.

CSI5185 (COMP 5107) STATISTICAL AND SYNTACTIC PATTERN RECOGNITION (3cr.)

CSI5308 (COMP 5003) PRINCIPLES OF DISTRIBUTED COMPUTING (3cr.)

CSI5367 (COMP 5300) STRUCTURE IN COMPLEXITY THEORY (3cr.)
Modern algorithmic complexity. Introduction to the models of computation: Boolean circuits and Turing machines of various types. Time and space complexities. Worst-case versus average-case analyses. Probabilistic algorithms and their derandomization. Introduction to the theory of relativization. Structure and behaviour of complexity classes.

CSI5390 (COMP 5005) LEARNING SYSTEMS FOR RANDOM ENVIRONMENTS (3cr.)

CSI5507 (COMP 5609) LES PROGRAMMES: CONSTRUCTION ET TOLÉRANCE AUX FAUTES (3cr.)
Mathématiques pour la construction de programmes et pour la tolérance aux fautes. Construction de programmes par décomposition relationnelle: les équations et les heuristiques. Fondements de la tolérance aux fautes des programmes. Mise en oeuvre de la détection d'erreurs et de l'évaluation de la contamination. Recouvrement avant et recouvrement arrière des erreurs. Validation hybride de programmes.

CSI5508 (COMP 5700) SPÉCIFICATION ET VÉRIFICATION DE LOGICIELS (3cr.)
Mathématiques pour la spécification et la vérification. Modèle de spécifications. Cycle de vie de la spécification. Réutilisation à base de spécifications. Spécifier la simultanéité et la communication. Définitions et théorèmes de la cohérence de programmes. Prouver la cohérence d'un programme par évaluation. Prouver la cohérence d'un programme par induction. Modèles de sémantique de programmes.

CSI5510 (COMP 5707) PRINCIPES DE DÉVELOPPEMENT FORMEL DE LOGICIELS (3cr.)
Une présentation de méthodologies courantes dans les domaines de spécification, développement et vérification de logiciels. Programmes itératifs: la méthode de l'invariant. Programmes récursifs: méthodes inductives. Spécification de logiciels: abstractions procédurelles et de données. Types algébriques abstraits. On mettra l'accent sur les logiciels répartis.

CSI5526 (COMP 5180) ALGORITHMES EN BIOINFORMATIQUE (3cr.)
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. Préalable: CSI 3505 ou (dans le cas des étudiants diplômés) permission du responsable de programme.

CSI5562 (COMP 5702) ORDRE: ALGORITHMES ET STRUCTURES GRAPHIQUES DE DONNÉES (3cr.)
Structures graphiques de données et optimisation en informatique théorique. Applications à la géométrie computationnelle et à l'ordonnancement; outils engendrés par les ensembles ordonnés. Théorie combinatoire et computationnelle, d'ensembles ordonnés. Accent sur le "upward drawing" et l'extension linéaire, les deux outils pour les applications d'ensembles ordonnés en informatique.

CSI5565 (COMP 5709) ALGORITHMES COMBINATOIRES (3cr.)
Conception d'algorithmes de problèmes de nature combinatoire, à l'aide de modèles séquentiels et parallèles. Algorithmes parallèles pour l'énumération d'objets combinatoires de base (permutations, combinaisons, partitions), et pour résoudre des problèmes d'optimisation (knapsack, recouvrement minimal, méthode branch-and-bound); systèmes polygonaux, applications en chimie; géométrie combinatoire (diagrammes de Voronoi, polytopes, arrangements); problèmes en logique à valeur multiple, énumération de base, vérification de tautologie, minimisation, recherche du spectre.

CSI7160 (COMP 6601) ADVANCED TOPICS IN THE THEORY OF COMPUTING (3cr.)

CSI7170 (COMP 6602) ADVANCED TOPICS IN DISTRIBUTED COMPUTING (3cr.)

CSI7970 (COMP 6602) THÈMES EN INFORMATIQUE RÉPARTIE



Applications informatiques (symbole A dans la liste des cours) / Computer Applications (code A in the course list)

CSI5100 (COMP 5306) DATA INTEGRATION (3cr.)
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. Prerequisite: COMP 3005 or equivalent.

CSI5101 (COMP 5307) KNOWLEDGE REPRESENTATION (3cr.)
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. Prerequisites: COMP 1805 and COMP 3005, or equivalents.

CSI5102 (COMP 5308) TOPICS IN MEDICAL COMPUTING (3cr.)

CSI5105 (COMP 5406) NETWORK SECURITY AND CRYPTOGRAPHY (3cr.)
Advanced methodologies selected from symmetric and public key cryptography, network security protocols and infrastructure, identification, secret-sharing, anonymity, intrusion detection, firewalls, defending network attacks and performance in communication networks. Prerequisites: familiarity with basic concepts in networks, network security, and applied cryptography. For example, relevant background courses may include the following (or equivalents): CEG 4185 or COMP 3203 and/or CSI 4138 or CEG 4394 or COMP 4108, and/or CSI 4108 or ELG 5373 or COMP 4109.

CSI5114 (COMP 5504) AUTOMATED OFFICE SYSTEMS (3cr.)
Study of office automation and its extension into commerce and marketing. Tools for collaboration, information transformation, data gathering, storage and retrieval, office agents and CSCW, funds transfer, electronic mail systems and messaging, use of WWW. Ergonometric, legal and regulatory aspects, social and economic factors.

CSI5116 (COMP 5407) AUTHENTICATION AND SOFTWARE SECURITY (3cr.)
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. Prerequisites: Basic course in Statistics or permission of the program director.

CSI5124 (COMP 5204) COMPUTATIONAL ASPECTS OF GEOGRAPHIC INFORMATION SYSTEMS (3cr.)

CSI5126 (COMP 5108) ALGORITHMS IN BIOINFORMATICS (3cr.)
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. Prerequisites: CSI 3105, COMP 3804 or equivalent.

CSI5128 (COMP 5002) SWARM INTELLIGENCE (3cr.)

CSI5129 (COMP 5305) ADVANCED DATABASE SYSTEMS (3cr.)

CSI5145 (COMP 5109) STATISTICAL APPROACHES TO NATURAL LANGUAGE PROCESSING (3cr.)
Introduction to natural language processing. Linguistics essentials. Mathematical foundations: Probability theory and information theory. Corpus-based work. Collocations. Statistical inference: N-gram models. Word sense disambiguation. Lexical acquisition. Hidden Markov models. Part-of-speech tagging. Text categorization. Information retrieval. Statistical alignment and machine translation.

CSI5146 (COMP 5402) COMPUTER GRAPHICS (3cr.)
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.

CSI5147 (COMP 5201) COMPUTER ANIMATION (3cr.)
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. Prerequisites: Undergraduate linear algebra, and calculus.

CSI5151 (COMP 5205) VIRTUAL ENVIRONMENTS (3cr.)
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. Prerequisites: A Bachelor's degree in Computer Science or equivalent. Precludes credit for ELG5124 (EACJ5204).

CSI5162 (COMP 5702) ORDER: ITS ALGORITHMS AND GRAPHICAL DATA STRUCTURES (3cr.)
In general terms, this course aims to pursue the twin themes of graphical data structures and optimization in theoretical computer science. The particular application areas bear on computational geometry and scheduling; the theoretical tools which we develop arise from ordered sets. To this end the course intends to provide a comprehensive introduction to the combinatorial and computational theory of ordered sets. The special emphasis on the upward drawing and linear extension is intended to develop the tools appropriate to the applications of ordered sets in computer science.

CSI5168 (COMP 5309) DIGITAL WATERMARKING (3cr.)
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. Prerequisites: ELG 4172 or CEG 4311 or CSI 4133 or equivalent.

CSI5180 (COMP 5100) TOPICS IN ARTIFICIAL INTELLIGENCE (3cr.)
A programming-oriented introduction to selected topics in Artificial Intelligence (A.I.). Topics for consideration include: A.I. programming techniques, pattern matching systems, natural language systems rule-based systems, constraint systems, learning systems, and cognitive systems. 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.

CSI5183 (COMP 5206) EVOLUTIONARY COMPUTATION AND ARTIFICIAL LIFE (3cr.)

CSI5304 (COMP 5602) KNOWLEDGE ENGINEERING (3cr.)
Review of basic concepts from artificial intelligence for knowledge engineering. Types of knowledge and knowledge representations. The importance of logic and natural language. Expert systems and other knowledge-based software. Knowledge acquisition tools and techniques. The relation to software engineering. Exercises in knowledge acquisition, representation, and processing will be given.

CSI5306 (COMP 5006) NATURAL LANGUAGE UNDERSTANDING (3cr.)

CSI5380 (COMP 5405) SYSTEMS AND ARCHITECTURES FOR ELECTRONIC COMMERCE (3cr.)
Content and transactions in e-commerce systems. System architecture with a focus on frameworks, tools and development process. Application frameworks. Information management. Security, standards, and regulatory compliance. Current research issues. Hands-on experience with an integrated set of current e-commerce tools. E-commerce development project.

CSI5386 (COMP 5505) NATURAL LANGUAGE PROCESSING (3cr.)
Definitions, applicatons, challenges, lexicons, thesauri, corpora and other linguistic resources. Morphological analysis; tagging. Selected syntactic theories: phrase structure grammars, unification-based grammars. Parsing techniques: chars, deterministic parsing, logic grammars. Selected semantic representations: logic, logical forms, conceptual graphs, Element of semantic and pragmatic analysis: reference, scope, focus. Elements of statistical language processing and text mining. Introduction to corpus linguistics. Term projects, one on syntax and one on semantics, will be done in Prolog and logic grammars.

CSI5387 (COMP 5706) DATA MINING AND CONCEPT LEARNING (3cr.)
Data mining as finding associations, clustering, and concept learning. Basic issues of associations and selected concept representations. Introduction to data warehousing. Concept learning viewed as a search problem. Standard concept induction algorithms. The use of neural networks for representing and learning concepts. Knowledge-intensive concept learning. Introduction to the formal theory of concept learnability. Instance-based learning. Selected applications of data mining and concept learning. Prerequisite: CSI 4106 or permission of the program director.

CSI5388 (COMP 5801) TOPICS IN MACHINE LEARNING (3cr.)

CSI5389 (COMP 5401) ELECTRONIC COMMERCE TECHNOLOGIES (3cr.)
Introduction to business models and technologies. Search engines. Cryptography. Web services and agents. Secure electronic transactions. Value added e-commerce technologies. Advanced research questions.

CSI5514 (COMP 5504) BUREAUTIQUE (3cr.)
Une étude de la bureautique. Les systèmes de bureautique, réseaux locaux, systèmes de traitement de texte, transferts de fonds, messageries et échanges de documents. La politique économique, sociale et légale des systèmes bureautiques.

CSI5526 (COMP 5180) ALGORITHMES EN BIOINFORMATIQUE (3cr.)
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. Préalable: CSI 3505 ou (dans le cas des étudiants diplômés) permission du responsable de programme.

CSI5562 (COMP 5702) ORDRE: ALGORITHMES ET STRUCTURES GRAPHIQUES DE DONNÉES (3cr.)
Structures graphiques de données et optimisation en informatique théorique. Applications à la géométrie computationnelle et à l'ordonnancement; outils engendrés par les ensembles ordonnés. Théorie combinatoire et computationnelle, d'ensembles ordonnés. Accent sur le "upward drawing" et l'extension linéaire, les deux outils pour les applications d'ensembles ordonnés en informatique.

CSI5580 (COMP 5100) SUJETS EN INTELLIGENCE ARTIFICIELLE (3cr.)
Concepts et méthodes de base de l'intelligence artificielle. Représentation des connaissances. Traitement de langage naturel. Stratégies de recherches et de jeu. Action de planification. Déduction et raisonnement. Applications. Programmation en PROLOG.

CSI5780 (COMP 5405) SYSTÈMES ET ARCHITECTURES DES LOGICIELS POUR LE COMMERCE ÉLECTRONIQUE (3cr.)
Contenu et transactions dans les systèmes de commerce électronique. Architecture de système. Une attention particulière sera portée aux logiciels intégrés, aux outils et au processus de développement. Cadres d’applications. Gestion de l’information. Sécurité, normes et conformité aux réglementations. Problèmes de recherche actuels. Expérience pratique intégrée des outils modernes du commerce électronique. Projet de développement en commerce électronique. Préalables: CSI 4528 et CSI 3540, ou l’équivalent, ou acceptation dans l’un des programmes de maîtrise en technologies des affaires électroniques ou dans le diplôme d’études supérieures en commerce électronique.

CSI5787 (COMP 5706) FOUILLE DES DONNÉES ET APPRENTISSAGE DES CONCEPTS (3cr.)
Fouille de données comme acquisition d'associations, groupement, et apprentissage des concepts. Questions de base des associations et les représentations choisies des concepts. Introduction aux entrepôts des données. Apprentissage des concepts comme une recherche d'espace des concepts. Les algorithmes typiques d'induction. Les réseaux des neurones comme représentation et mécanisme d'apprentissage des concepts. Apprentissage des concepts en présence des connaissances. Introduction à la théorie d'apprentissage. Apprentissage fondé sur les cas. Applications choisies de fouille de données et d'apprentissage des concepts. Préalable: CSI 4106 ou permission du responsable de programme.

CSI5789 (COMP 5401) TECHNOLOGIES DU COMMERCE ÉLECTRONIQUE (3cr.)
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. Préalables: CSI 4528 et CSI 3540, ou l’équivalent, ou acceptation dans l’un des programmes de maîtrise en technologies des affaires électroniques ou dans le diplôme d’études supérieures en commerce électronique.

CSI7162 (COMP 6604) ADVANCED TOPICS IN COMPUTER APPLICATIONS (3cr.)



Systèmes informatiques (symbole S dans la liste des cours) / Computer Systems (code S in the course list)

CSI5105 (COMP 5406) NETWORK SECURITY AND CRYPTOGRAPHY (3cr.)
Advanced methodologies selected from symmetric and public key cryptography, network security protocols and infrastructure, identification, secret-sharing, anonymity, intrusion detection, firewalls, defending network attacks and performance in communication networks. Prerequisites: familiarity with basic concepts in networks, network security, and applied cryptography. For example, relevant background courses may include the following (or equivalents): CEG 4185 or COMP 3203 and/or CSI 4138 or CEG 4394 or COMP 4108, and/or CSI 4108 or ELG 5373 or COMP 4109.

CSI5109 (COMP 5701) SPECIFICATION METHODS FOR DISTRIBUTED SYSTEMS (3cr.)
Concepts of process algebras, specially with relation to the specification language LOTOS. Equivalence concepts: observation equivalence, testing equivalence. Data algebras. Rewriting systems. Verification of specifications. Specifications styles. Applications to distributed systems: communications protocols, telephone systems. Related models CSP, CCS, ACP. Relation to temporal logic and model checking.

CSI5114 (COMP 5504) AUTOMATED OFFICE SYSTEMS (3cr.)
Study of office automation and its extension into commerce and marketing. Tools for collaboration, information transformation, data gathering, storage and retrieval, office agents and CSCW, funds transfer, electronic mail systems and messaging, use of WWW. Ergonometric, legal and regulatory aspects, social and economic factors.

CSI5116 (COMP 5407) AUTHENTICATION AND SOFTWARE SECURITY (3cr.)
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. Prerequisites: Basic course in Statistics or permission of the program director.

CSI5129 (COMP 5305) ADVANCED DATABASE SYSTEMS (3cr.)

CSI5131 (COMP 5704) PARALLEL ALGORITHMS AND THEIR IMPLEMENTATION (3cr.)
Introduction: models of computation, levels of parallelism; performance measures for parallel algorithms; need for parallel algorithms. Parallel algorithms: techniques in matrix multiplication, solution of linear equations, transforms and differential equations; systolic arrays for the implementation of parallel algorithms in the areas of matrix arithmetic, transforms and relational database operations. VLSI implementations: VLSI and parallel computing structures; mapping of high-level computations into VLSI structures.

CSI5132 (COMP 5105) PARALLEL PROCESSING SYSTEMS (3cr.)
Introduction to issues involved in designing and using parallel processing systems. Topics include: taxonomy and applications of parallel systems; SIMD systems; multiprocessor systems; multicomputer systems; computation versus communication issues in parallel processing; scheduling parallel systems; spinning versus blocking; interconnection networks; hot-spot contention. Prerequisite: permission of the School.

CSI5133 (COMP 5608) SIMULATION AND TESTING OF LOGIC CIRCUITS (3cr.)
Fault modeling in digital circuits. Logic simulation. Test generation. Parallel, deductive and concurrent fault simulation. Fault simulator accelerators. Testability measures. Current trends in testability.

CSI5134 (COMP 5004) FAULT TOLERANCE (3cr.)
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.

CSI5141 (COMP 5009) ASSOCIATIVE DATA STRUCTURES AND ADVANCED DATABASES (3cr.)

CSI5142 (COMP 5402) PROTOCOLS FOR MOBILE AND WIRELESS NETWORKS (3cr.)

CSI5143 (COMP 5403) REAL-TIME SYSTEMS DEVELOPMENT (3cr.)
An advanced course in real-time OO systems development that deals with modeling systems at different abstraction levels. A systematic and traceable modeling process is introduced. Topics include: modeling notations (including UML-RT), development process, design patterns, and system testing. Expect a substantial design project. Precludes additional credit for ELG 6186. Prerequisite: Computer Science CSI 5314 or equivalent.

CSI5147 (COMP 5201) COMPUTER ANIMATION (3cr.)
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. Prerequisites: Undergraduate linear algebra, and calculus.

CSI5148 (COMP 5103) WIRELESS AD HOC NETWORKING (3cr.)
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.

CSI5161 (COMP 5606) PRINCIPLES OF DISTRIBUTED SIMULATION (3cr.)
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.

CSI5168 (COMP 5309) DIGITAL WATERMARKING (3cr.)
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. Prerequisites: ELG 4172 or CEG 4311 or CSI 4133 or equivalent.

CSI5169 (COMP 5304) WIRELESS NETWORKS AND MOBILE COMPUTING (3cr.)
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. (Cannot be combined for credit with ELG 6168)

CSI5170 (COMP 5800) DISTRIBUTED DATA PROCESSING (3cr.)
Graph- and non-graph-related algorithms in a distributed environment, such as breadth-first-search, selection in a ring, distributed file sorting, etc. Approaches to distributed database managment design: distributed query and update processing, concurrency control, optimal allocation of resources and users, etc. Modelling techniques for distributed systems, such as Petri-nets, etc. Security in a distributed environment.

CSI5171 (COMP 5303) NETWORK ARCHITECTURES, SERVICES, PROTOCOLS AND STANDARDS (3cr.)
Contemporary network architectures and protocols, with special consideration of telephony and mobility standards. Wireline and wireless network evolution. Telephony features and the feature interaction problem. Intelligent network architecture. Cellular networks and personal communications systems. Seamless network architectures. Mobile data communications. The Open Distributed Processing Reference model and derived architectures. Discussion of sample current architectures and issues, such as General System for Mobile Communication, IEA/TIA 41, Wireless Intelligent Networks, International Mobile Telephony 2000, migration towards the Internet. Prerequisites: No prerequisites except the general maturity and knowledge of data communications principles that should have been acquired by Computer Engineering and Computer Science graduates.

CSI5173 (COMP 5203) DATA NETWORKS (3cr.)

CSI5174 (COMP 5604) VALIDATION METHODS FOR DISTRIBUTED SYSTEMS (3cr.)
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 stragegies. Testing techniques. Test generation strategies. Test architectures.

CSI5175 MOBILE COMMERCE TECHNOLOGIES (3cr.)
Wireless and mobile electronic commerce architecture and applications. Electronic banking, digital cash. Wireless exchanges, business models. Fixed and mobile wireless networks. Routing techniques. Content presentation. Security issues and solutions. Satellite networks for electronic commerce. Overview of relevant standards, protocols and technologies. Case studies.

CSI5185 (COMP 5107) STATISTICAL AND SYNTACTIC PATTERN RECOGNITION (3cr.)

CSI5308 (COMP 5003) PRINCIPLES OF DISTRIBUTED COMPUTING (3cr.)

CSI5311 (COMP 5101) DISTRIBUTED DATABASES AND TRANSACTION PROCESSING SYSTEMS (3cr.)
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.

CSI5312 (COMP 5102) DISTRIBUTED OPERATING SYSTEMS (3cr.)

CSI5380 (COMP 5405) SYSTEMS AND ARCHITECTURES FOR ELECTRONIC COMMERCE (3cr.)
Content and transactions in e-commerce systems. System architecture with a focus on frameworks, tools and development process. Application frameworks. Information management. Security, standards, and regulatory compliance. Current research issues. Hands-on experience with an integrated set of current e-commerce tools. E-commerce development project.

CSI5389 (COMP 5401) ELECTRONIC COMMERCE TECHNOLOGIES (3cr.)
Introduction to business models and technologies. Search engines. Cryptography. Web services and agents. Secure electronic transactions. Value added e-commerce technologies. Advanced research questions.

CSI5509 (COMP 5701) MÉTHODES POUR LA SPÉCIFICATION DE SYSTÈMES RÉPARTIS (3cr.)
Algèbres de processus, surtout par rapport au langage de spécification LOTOS. Concepts d'équivalence: équivalence d'observation, équivalence de test. Algèbres de données. Systèmes de récriture. Vérification de spécifications. Styles de spécification. Applications à systèmes répartis: protocoles de communication, systèmes téléphoniques. Modèles reliés: CSP, CCS, ACP. Relations avec logique temporelle et contrôle de modèle.

CSI5514 (COMP 5504) BUREAUTIQUE (3cr.)
Une étude de la bureautique. Les systèmes de bureautique, réseaux locaux, systèmes de traitement de texte, transferts de fonds, messageries et échanges de documents. La politique économique, sociale et légale des systèmes bureautiques.

CSI5780 (COMP 5405) SYSTÈMES ET ARCHITECTURES DES LOGICIELS POUR LE COMMERCE ÉLECTRONIQUE (3cr.)
Contenu et transactions dans les systèmes de commerce électronique. Architecture de système. Une attention particulière sera portée aux logiciels intégrés, aux outils et au processus de développement. Cadres d’applications. Gestion de l’information. Sécurité, normes et conformité aux réglementations. Problèmes de recherche actuels. Expérience pratique intégrée des outils modernes du commerce électronique. Projet de développement en commerce électronique. Préalables: CSI 4528 et CSI 3540, ou l’équivalent, ou acceptation dans l’un des programmes de maîtrise en technologies des affaires électroniques ou dans le diplôme d’études supérieures en commerce électronique.

CSI5789 (COMP 5401) TECHNOLOGIES DU COMMERCE ÉLECTRONIQUE (3cr.)
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. Préalables: CSI 4528 et CSI 3540, ou l’équivalent, ou acceptation dans l’un des programmes de maîtrise en technologies des affaires électroniques ou dans le diplôme d’études supérieures en commerce électronique.

CSI7131 (COMP 6100) ADVANCED PARALLEL AND SYSTOLIC ALGORITHMS (3cr.)

CSI7163 (COMP 6605) ADVANCED TOPICS IN COMPUTER SYSTEMS (3cr.)

CSI7170 (COMP 6602) ADVANCED TOPICS IN DISTRIBUTED COMPUTING (3cr.)

CSI7970 (COMP 6602) THÈMES EN INFORMATIQUE RÉPARTIE



Thèses et projets / Theses and Projects

CSI5140 (COMP 5900) SELECTED TOPICS IN COMPUTER SCIENCE (3cr.)

CSI5900 (COMP 5902) PROJETS DE RECHERCHE EN INFORMATIQUE / GRADUATE PROJECTS IN COMPUTER SCIENCE (3cr.)

CSI5901 (COMP 5901) ÉTUDES DIRIGÉES / DIRECTED STUDIES (3cr.)

CSI5902 (COMP 5904) COLLOQUE / SEMINAR (3cr.)

CSI5903 STAGE EN COMMERCE ÉLECTRONIQUE/ ELECTRONIC COMMERCE WORK TERM (3cr.)
Expérience en milieu de travail. Noté: S (satisfaisant)/ NS (non satisfaisant) selon les résultats du rapport écrit et l'évaluation de l'employeur. Préalables : recevoir la permission du Comité du programme. / Practical experience. S (satisfactory) / NS (not satisfactory) grade, to be based on the grades obtained for the written report as well as on the evaluations of the employer. Prerequisites: permission of the Program Committee.

CSI6001 STAGE COOP I / CO-OP WORK TERM I (6cr.)
Expérience en milieu de travail. Noté P (réussite) / F (échec) par un professeur du programme selon les résultats du rapport écrit et l’évaluation du superviseur de stage. Préalable : permission du responsable des études supérieures. / Experience in a workplace setting. Graded P (pass) /F (fail) by a professor in the program based on the written report and the evaluation of the internship supervisor. Prerequisite: permission of the graduate studies co-ordinator.

CSI6002 STAGE COOP II / CO-OP WORK TERM II (6cr.)
Expérience en milieu de travail. Noté P (réussite) / F (échec) par un professeur du programme selon les résultats du rapport écrit et l’évaluation du superviseur de stage. Préalable : permission du responsable des études supérieures. / Experience in a workplace setting. Graded P (pass) / F (fail) by a professor in the program based on the written report and the evaluation of the internship supervisor. Prerequisite: permission of the graduate studies co-ordinator.

CSI6900 (COMP 5903) PROJETS DE RECHERCHE INTENSIVE EN INFORMATIQUE / INTENSIVE GRADUATE PROJECTS IN COMPUTER SCIENCE (6cr.)
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 et CSI 5900 sont mutuellement exclusifs. Cours ouvert uniquement aux étudiants inscrits à la maîtrise sans thèse / A two-session course. The project is twice the scope of projects in CSI 5900. Not to be combined for credit with CSI 5900. Not to be taken in the thesis option.

CSI7161 (COMP 6603) ADVANCED TOPICS IN PROGRAMMING SYSTEMS AND LANGUAGES (3cr.)

CSI7900 (COMP 6902) PROJETS DE RECHERCHE EN INFORMATIQUE / GRADUATE PROJECTS IN COMPUTER SCIENCE (3cr.)

CSI7901 (COMP 6901) ÉTUDES DIRIGÉES / DIRECTED STUDIES (3cr.)

CSI7999 (COMP 5905) THÈSE DE MAÎTRISE EN INFORMATIQUE / MASTER OF COMPUTER SCIENCE THESIS

CSI9901 COLLOQUE / SEMINAR

CSI9902 COLLOQUE / SEMINAR

CSI9997 (COMP 6908) PROPOSITION DE THÈSE DE DOCTORAT / DOCTORAL THESIS PROPOSAL

CSI9998 (COMP 6907) EXAMEN GÉNÉRAL DE DOCTORAT / PhD COMPREHENSIVE EXAMINATION

CSI9999 (COMP 6909) THÈSE DE DOCTORAT / PhD THESIS



Academic Unit Coordinates
Ottawa-Carleton Institute for Computer Science
161 Louis-Pasteur, Colonel By Hall, room B111
Ottawa, Ontario, Canada
K1N 6N5
Tel: 613-562-5800 - 6189
Fax: 613-562-5129
engineering.graduateadmissions@uottawa.ca
https://ocics.site.uottawa.ca/graduate/index.php