Menu
Banner - Faculty of Graduate and Postdoctoral Studies

Computer Science (PhD)

Back to Program List
 

Ottawa-Carleton Joint Program

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. 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. Requests for information and application forms should be sent to the graduate secretaries handling the admission process (Contact OCICS).

The program operates within the general framework of 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, Associate Professor
Scenario-based software engineering, user requirements notation (URN); feature interactions in emerging applications

BARRIÈRE, Caroline, Adjunct Professor
Natural language processing; knowledge representation; knowledge extraction from text; corpus linguistics; computational lexicography and terminology; computer assisted language learning

BENYOUCEF, Morad
Software engineering; Internet technologies; electronic negotiations; online trust; e-procurement

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 and applications

BOUKERCHE, Azzedine, Full Professor
Development of algorithms for solving large-scale distributed interactive simulation systems and wireless and mobile computing and networking systems

BOYD, Sylvia, Cross-appointment
Combinatorial optimization; network design; integer programming; polyhedral combinatorics

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

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, Associate Professor
Collaborative haptic audio visual environments (E-touch & tele-haptics, tele-operations, and rehabilitation), Multimedia knowledge management & semantic web (E-training/E-learning/E-society, etc.); multimedia communications (tele-surveillance, tele-collaborative environments and multimedia and P2P networking protocols)

FAMILI, Fazel, Adjunct Professor
Data mining: bioinformatics; machine learning; artificial intelligence; automated knowledge discovery

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; fuzzy cellular automata; discrete chaos

FRIZE, Monique, Emeritus Professor
Electromagnetic interference and medical instrumentation, medical instrumentation; medical decision support systems; RF electrical burns and control; medical technology management issues (clinical engineering); technical services for hospitals in developing countries

GORODNICHY, Dmitry O., Adjunct Professor

GROZA, Voicu, Associate Professor
Real-time embedded systems; smart sensors networks; reconfigurable computing; distributed intelligent instrumentation

INKPEN, Diana, Assistant Professor
Computational linguistics and artificial intelligence; more specifically: natural language understanding and generation; lexical semantics; information retrieval; speech recognition and synthesis; and intelligent agents for the semantic web

IONESCU, Dan, Full Professor
Network computing and control; design of distributed system software; real time systems; formal methods; network and distributed systems security; semantic Web

JANSE VAN RENSBURG, Daniel, Adjunct Professor

JAPKOWICZ, Nathalie, Assistant Professor
Learning in the absence of negative examples; text classification; natural language processing -- semantics/ontologies; change of representation and constructive induction, artificial intelligence: learning from imbalanced data sets

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

KARMOUCH, Ahmed, Full Professor
Context aware multimedia mobile computing & ambient networks, distributed multimedia systems; context awareness; mobile agents; follow-me services; ambient intelligence; ad hoc communications

KIRINGA, Iluju
Databases: multidatabases; active databases; transaction models; artificial intelligence: knowledge representation; logic-based robotics; model checking

LAGANIÈRE, Robert, Associate Professor
The fundemental problem of image feature detection and matching; particularly under the context of sparse views and calibrated cameras

LANG, Jochen
Measurement-based modeling in the area of visual computing combining techniques from computer graphics and computer vision

LEE, Wonsook, Assistant Professor
Computer Animation; virtual reality in health care; music analysis; face recognition; human-computer interaction; computer vision

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

LETHBRIDGE, Timothy, Full Professor
Complex structures; object oriented software engineering; software quality management; software engineering productivity, software engineering education; formal specification of software knowledge; engineering and knowledge acquisition, human-computer interaction and user interface design programming in smalltalk and Java software; cost estimation; software requirements engineering and brainstorming

LOGRIPPO, Luigi, Adjunct Professor
Software engineering

MAKRAKIS, Dimitrios, Full Professor
Wireless and optical networks: scheduling, routing, traffic engineering; pervasive computing; ad hoc and sensor networks; QoS supporting technologies; security for wireless networks; ultra wideband systems and networks

MANSOUROV, Nicolai, Adjunct Professor
KDM analytics

MAO, Yongyi, Assistant Professor
Graphical models and statistical inference; communications and information theory; bioinformatics

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 support systems; decision analysis and support; medical decision making; multiple criteria decision making

MIRI, Ali, Adjunct Professor
Cryptography; systems and control theory; information and coding theory; applied number theory

MOUFTAH, Hussein, Distinguished University Professor
Optical and wireless networks; computer networks; survivable optical networking; photonic switch architectures; wireless communication networks; ad hoc sensor networks

MOURA, Lucia, Cross-appointment
Mathematics of computing; combinatorial algorithms (design and analysis); combinatorics (combinatorial designs, graphs, hypergraphs, codes); applications of combinatorial designs; combinatorial optimization; polyhedral combinatorics

NAYAK, Amiya, Associate Professor
Fault tolerant computing; ad hoc networks; distributed systems; mobile & distributed computing

ONUT, Iosif, Adjunct Professor
Web applications

PAQUET, Eric, Adjunct Professor

PAYEUR, Pierre
Robot vision; robot path planning and collision avoidance; computer vision for autonomous systems control; 3D occupancy modeling

PERKINS, Theodore, Adjunct Professor

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, Assistant 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

SIDNEY, Jeffrey, Adjunct Professor
Management science; combinatorial optimization; production scheduling; algorithms

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

VAILLANCOURT, Rémi, Adjunct Professor
Scientific computation

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

A master's degree in Computer Science (with thesis or equivalent in terms of scholarly publications) with at least a "B+" (75-79%) average is normally required for admission into the PhD program.

Students who are currently registered in the master's program may, in exceptional cases, be permitted to transfer into the PhD program if they have completed all course requirements with at least a "A-" (80-84%) average and demonstrate significant promise for advanced research.

Transfer from Master’s to PhD Program

Students in a master’s program who have achieved an 80% (A-) average in their last two years of undergraduate studies may be allowed to transfer to the PhD program without being required to write a master’s thesis provided they meet the following conditions:

  • Completion of 5 graduate courses (15 credits) with a grade of A- or better in each;
  • Satisfactory progress in the research program;
  • Written recommendation from the supervisor and the thesis advisory committee;
  • Approval by the graduate studies committee.

The transfer must take place within sixteen months of initial registration in the master’s. Following transfer, all of the requirements of the doctoral program must be met: the doctoral seminar courses (BCH8366), six credits of course work (from BCH8000 level courses), the comprehensive exam (BCH9998), a research seminar (BCH9997) and the thesis (BCH9999).

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

  • Students must successfully complete a minimum of 3 three-credit courses in at least three of the four areas below:
    • Software Engineering (category E)
    • Theory of Computing (category T)
    • Computer Applications (category A)
    • Computer Systems (category S)

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

  • A presentation of at least two seminars.
  • A comprehensive examination involving breadth and depth components (CSI9998).
  • A written thesis proposal defended at an oral examination (CSI9997).
  • A research thesis defended at an oral examination (CSI9999).
  • Subject to the approval of the advisory committee, a student may take up to half of the course credits in the program in other disciplines (e.g. electrical engineering, mathematics and physics).

    Duration of the Program

    Students are expected to complete all requirements within four years. The maximum time permitted is six years from the date of initial registration in the program.

    Residence

    PhD candidates who were admitted with a master's degree or who transfer to the PhD after completing the three sessions of residency at the master's must spend at least six sessions in residence. Those admitted directly to the PhD from an honour's baccalaureate must spend at least nine sessions in residence at the beginning of the program.

    NOTE: Students who have been awarded a fellowship, scholarship or bursary for the purpose of studying on a full-time basis are required to maintain full-time registration for the period for which they hold the award.

    Minimum Standards

    The passing grade in all courses is B. Students who fail two courses (equivalent to 6 credits), the thesis proposal, or the comprehensive exam or whose research progress is deemed unsatisfactory are required to withdraw.

    Thesis Advisory Committee

    During the first session of the program, a thesis advisory committee (TAC) is formed for the candidate. The Committee’s membership will be determined by the specific interests of the candidate. It will be composed of the supervisor and 2-3 additional professors. At least one member of the thesis committee, in addition to the supervisor, must be from the Faculty of Engineering. The TAC is responsible for guiding the student throughout the program, including course selection, the comprehensive examination, thesis proposal, and thesis defense.

    The thesis examining board may include members who are not part of the TAC.

    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
      翻译: