Computer Science
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 School of Computer Science is a participating unit in the collaborative program in bioinformatics at the master’s level.
The programs are governed by the graduate studies regulations of the two universities. Graduate courses are generally offered in English. However, research activities can be conducted in either English or French or both depending on the language used by the professor and the members of the research group.
In accordance with the University of Ottawa regulation, students have the right to submit their work, thesis, and exams in French or in English.
Programs
- Master of Computer Science
- Master of Computer Science Specialization in Bioinformatics
- Doctorate in Philosophy Computer Science
Professors
- Adams, Carlisle, Full Professor
Cryptography; network security; computer security; access control; privacy - Al Osman, Hussein, Assistant Professor
health informatics, serious games for health, affective computing, human computer interaction, active biometrics, persuasive technology - 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 - De Carufel, Jean-Lou, Assistant Professor
- 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 - Falcon Martinez, Rafael Jesus
- Famili, Fazel, Adjunct Professor
Data mining: bioinformatics; machine learning - Felty, Amy, Cross-appointment
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 - Jarray, Abdallah, Adjunct Professor
- 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, Emeritus 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, Emeritus 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 - 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 - Szpakowicz, Stanislaw, Full Professor
Natural language processing; computational linguistics; automatic text summarization; language in electronic negotiations; lexical resources - Tanasescu, Chris, 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 - Zouaq, Amal, Assistant Professor
AdmissionSpecific requirements
Master's
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.
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 programs
The Ottawa-Carleton Institute of Computer Science is a participating unit in the collaborative program in Bioinformatics (master's level only). 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.
Doctorate
A master's degree in Computer Science (with thesis or equivalent in terms of scholarly publications) with a minimum of B+ (75%) average is required for admission into the PhD program.
Students who are currently registered in the master's program may, in exceptional cases, be permitted to fast-tack into the PhD program without writing a master’s thesis. The conditions are specified in the section “Transfer from master’s to PhD” below.
Transfer from master’s to PhD
To transfer to the PhD program without being required to write a master’s thesis, the following conditions must be met:
- Completion of 5 graduate courses (15 credits) with a minimum average of A- (80%).
- Satisfactory progress in the research program.
- Written recommendation from the supervisor and the thesis advisory committee.
- Approval by the graduate studies committee, the vice-dean (graduate studies in the faculty), and the FGPS.
The student must request permission to fast-track during the fourth session of registration or earlier and must be registered in the PhD program in the fifth or, at the latest, in the sixth session. Following transfer, all of the requirements of the doctoral program must be met. The total number of course credits required is 24 (15 at master’s level plus 9 at PhD level).
Note that students in the Accelerated Stream of the MCS are not eligible for fast-track to the PhD.
Program Requirements
Master's
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 in Bioinformatics 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 primary program may require students to take additional courses, depending on their backgrounds.
Co-op option (available to students registered in the thesis option or the 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
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.
Doctorate
The requirements of the PhD program are as follows:
- 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)
- CSI9901 and CSI9902, which require registration and the presentation of two seminars prior to submission of the thesis.
- 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).
The admissions committee and the student's advisory committee may impose additional requirements according to the student's background and research topic.
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.
Courses
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.
Software Engineering (code E in the course list)
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.)
Advanced study of programming paradigms from a practical perspective. Paradigms may include functional, imperative, concurrent, distributed, generative, aspect- and object-oriented, and logic programming. Emphasis on underlying principles. Topics may include: types, modules, inheritance, semantics, continuations, abstraction and reflection.
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. Prerequisite: CSI3317 or equivalent
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.
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.
CSI5135 (COMP5209) INFORMATION VISUALIZATION AND VISUAL ANALYTICS (3cr.)
Principles, techniques, technology and applications of information visualization for visual data analysis. Topics include human visual perception, cognitive processes, static and dynamic models of image semantics, interaction paradigms, big data visual analysis case studies.
CSI5136 (COMP5110) COMPUTER SECURITY AND USABILITY (3cr.)
Design and evaluation of security and privacy software with particular attention to human factors and how interaction design impacts security. Topics include current approaches to usable security, methodologies for empirical analysis, and design principles for usable security and privacy.
CSI5153 (COMP 5111) DATA MANAGEMENT FOR BUSINESS INTELLIGENCE (3cr.)
Data management problems and information technology in decision making support in business environments. Topics include advanced data modeling, semantic modeling, multidimensional databases and data warehousing, on-line-analytical processing, elements of data mining, context in data management, data quality assessment, data cleaning, elements of business process modeling. This course emphasizes concepts and techniques rather than specific applications or systems/implementations.
CSI5154 (COMP 5112) ALGORITHMS FOR DATA SCIENCE (3cr.)
Algorithmic techniques to handle (massive/big) data arising from, for example, social media, mobile devices, sensors, financial transactions. Algorithmic techniques may include locality-sensitive hashing, dimensionality reduction, streaming, clustering, VC-dimension, external memory, core sets, link analysis and recommendation systems.
CSI5314 (COMP 5104) OBJECT-ORIENTED SOFTWARE DEVELOPMENT (3cr.)
Issues in modeling and verifying quality and variability in object-oriented systems. Testable models in model-driven and test-driven approaches. System family engineering. Functional conformance: scenario modeling and verification, design by contract. Conformance to non functional requirements: goals, forces and tradeoffs, metrics.
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.
CSI7161 (COMP 6603) ADVANCED TOPICS IN PROGRAMMING SYSTEMS AND LANGUAGES (3cr.)
CSI7314 (COMP 6104) ADVANCED TOPICS IN OBJECT-ORIENTED SYSTEMS (3cr.)
Advanced object-oriented software engineering, in particular the issues of reuse and testing. Sample topics include: interaction modeling; class and cluster testing; traceability; design patterns and testing; the C++ standard template library. Students will carry out research.
ELG6111 (SYSC 5101) DESIGN OF HIGH-PERFORMANCE SOFTWARE (3cr.)
Designing software to demanding performance specifications. Design analysis using models of computation, workload, and performance. Principles to govern design improvement for sequential, concurrent and parallel execution, based on resource architecteure and quantitative analysis. Prerequisites: Engineering SYSC 5704 and a course in software engineering; or the equivalent.
ELG6113 (SYSC 5103) SOFTWARE AGENTS (3cr.)
Agent-based programming; elements of distributed artificial intelligence; beliefs, desires and intentions; component-based technology; languages for agent implementations; ontologies; KQML; autonomy; adaptability; security issues; mobility; standards; agent design issues and frameworks; applications in telecommunications. Prerequisites: Knowledge of Java, C/C+ + or Smalltalk.
ELG6115 (SYSC 5105) SOFTWARE QUALITY ENGINEERING AND MANAGEMENT (3cr.)
All aspects of software quality engineering. Software testing, at all stages of the software development and maintenance life cycle. Software reviews and inspections. Use of software measurement and quantitative modelling for the purpose of software quality control and improvement. Precludes additional credit for CSI5111 (COMP 5501). Prerequisites: an undergraduate course in software engineering such as SYSC 4800 or SEG 3300, or equivalent, and basic statistics.
ELG6178 (SYSC 5708) DEVELOPMENT OF REAL-TIME AND DISTRIBUTED SOFTWARE WITH REUSABLE COMPONENTS (3cr.)
Advanced object-oriented design and programming of real-time and distributed systems using C++ and/or Java. Object-oriented features; inheritance, polymorphism, templates, exception handling. Concurrency issues. Design patterns and frameworks for distributed systems, with examples from communication applications. Design issues for reusable software. Prerequisites: Knowledge of C++ and/or Java, of operating system concepts, and permission of the Department.
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.)
Introductory course on data structures, algorithms, techniques, and software development related to medical computing (in particular spatial modeling). Topics may include: computational geometry algorithms for cancer treatment, medical imaging, spatial data compression algorithms, dynamic programming for DNA analysis. Precludes additional credit for COMP 5900 section 'Y' offered 2001-2002 to 2005-2006 inclusive.
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.)
Simple methods of data structure design and analysis that lead to efficient data structures for several problems. Topics include randomized binary search trees, persistence, fractional cascading, self-adjusting data structures, van Emde Boas trees, tries, randomized heaps, and lowest common ancestor queries.
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. Prerequisite: CSI3105 or (in case of graduate students) permission of the instructor.
CSI5127 (COMP 5409) APPLIED COMPUTATIONAL GEOMETRY (3cr.)
Computer-based representation and manipulation of geometric objects. Design and analysis of efficient algorithms for solving geometric problems in applied fields such as Computer-Aided Design and Manufacturing, Cartography, Materials Science, and Geometric Network Design.
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.
CSI5152 (COMP5310) EVOLVING INFORMATION NETWORKS (3cr.)
Convergence of social and technological networks with WWW. Interplay between information content, entities creating it and technologies supporting it. Structure and analysis of such networks, models abstracting their properties, link analysis, search, mechanism design, power laws, cascading, clustering and connections with work in social sciences. Prerequisites: introductory-level background in networks, algorithms, and probability.
CSI5153 (COMP 5111) DATA MANAGEMENT FOR BUSINESS INTELLIGENCE (3cr.)
Data management problems and information technology in decision making support in business environments. Topics include advanced data modeling, semantic modeling, multidimensional databases and data warehousing, on-line-analytical processing, elements of data mining, context in data management, data quality assessment, data cleaning, elements of business process modeling. This course emphasizes concepts and techniques rather than specific applications or systems/implementations.
CSI5154 (COMP 5112) ALGORITHMS FOR DATA SCIENCE (3cr.)
Algorithmic techniques to handle (massive/big) data arising from, for example, social media, mobile devices, sensors, financial transactions. Algorithmic techniques may include locality-sensitive hashing, dimensionality reduction, streaming, clustering, VC-dimension, external memory, core sets, link analysis and recommendation systems.
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.
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.)
Study of design and analysis of algorithms to solve geometric problems; emphasis on applications such as robotics, graphics, and pattern recognition. Topics include: visibility problems, hidden line and surface removal, path planning amidst obstacles, convex hulls, polygon triangulation, point location.
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.)
Mathematical and practical aspects of design and analysis of communication networks. Topics include: basic concepts, layering, delay models, multi-access communication, queuing theory, routing, fault-tolerance, and advanced topics on high-speed networks, ATM, mobile wireless networks, and optical networks.
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.)
Topics include a mathematical review, Bayes decision theory, maximum likelihood and Bayesian learning for parametric pattern recognition, non-parametric methods including nearest neighbor and linear discriminants. Syntactic recognition of strings, substrings, subsequences and tree structures. Applications include speech, shape and character recognition.
CSI5308 (COMP 5003) PRINCIPLES OF DISTRIBUTED COMPUTING (3cr.)
Formal models; semantics of distributed computations; theoretical issues in design of distributed algorithms; computational complexity; reducibility and equivalence of distributed problems. Related topics: systolic systems and computations, oligarchical systems and control mechanisms.
CSI5390 (COMP 5005) LEARNING SYSTEMS FOR RANDOM ENVIRONMENTS (3cr.)
Computerized adaptive learning for random environments and its applications. Topics include a mathematical review, learning automata which are deterministic/stochastic, with fixed/variable structures, of continuous/discretized design, with ergodic/absorbing properties and of estimator families. Prerequisite(s): SYSC 5503 or equivalent.
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.
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. Prerequisite: CSI3105 or (in case of graduate students) permission of the instructor.
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).
CSI7160 (COMP 6601) ADVANCED TOPICS IN THE THEORY OF COMPUTING (3cr.)
CSI7170 (COMP 6602) ADVANCED TOPICS IN DISTRIBUTED COMPUTING (3cr.)
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.)
Introductory course on data structures, algorithms, techniques, and software development related to medical computing (in particular spatial modeling). Topics may include: computational geometry algorithms for cancer treatment, medical imaging, spatial data compression algorithms, dynamic programming for DNA analysis. Precludes additional credit for COMP 5900 section 'Y' offered 2001-2002 to 2005-2006 inclusive.
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.
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.)
Computational perspective of geographic information systems (GIS). Data representations and their operations on raster and vector devices: e.g., quadtrees, grid files, digital elevation models, triangular irregular network models. Analysis and design of efficient algorithms for solving GIS problems: visibility queries, point location, facility location.
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. Prerequisite: CSI3105 or (in case of graduate students) permission of the instructor.
CSI5128 (COMP 5002) SWARM INTELLIGENCE (3cr.)
Collective computation, collective action, and principles of self-organization in social agent systems. Algorithms for combinatorial optimization problems, division of labour, task allocation, task switching, and task sequencing with applications in security, routing, wireless and ad hoc networks and distributed manufacturing.
CSI5129 (COMP 5305) ADVANCED DATABASE SYSTEMS (3cr.)
In-depth study on developments in database systems shaping the future of information systems, including complex object, object-oriented, object-relational, and semi-structured databases. Data structures, query languages, implementation and applications.
CSI5136 (COMP5110) COMPUTER SECURITY AND USABILITY (3cr.)
Design and evaluation of security and privacy software with particular attention to human factors and how interaction design impacts security. Topics include current approaches to usable security, methodologies for empirical analysis, and design principles for usable security and privacy.
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.
CSI5152 (COMP5310) EVOLVING INFORMATION NETWORKS (3cr.)
Convergence of social and technological networks with WWW. Interplay between information content, entities creating it and technologies supporting it. Structure and analysis of such networks, models abstracting their properties, link analysis, search, mechanism design, power laws, cascading, clustering and connections with work in social sciences. Prerequisites: introductory-level background in networks, algorithms, and probability.
CSI5153 (COMP 5111) DATA MANAGEMENT FOR BUSINESS INTELLIGENCE (3cr.)
Data management problems and information technology in decision making support in business environments. Topics include advanced data modeling, semantic modeling, multidimensional databases and data warehousing, on-line-analytical processing, elements of data mining, context in data management, data quality assessment, data cleaning, elements of business process modeling. This course emphasizes concepts and techniques rather than specific applications or systems/implementations.
CSI5154 (COMP 5112) ALGORITHMS FOR DATA SCIENCE (3cr.)
Algorithmic techniques to handle (massive/big) data arising from, for example, social media, mobile devices, sensors, financial transactions. Algorithmic techniques may include locality-sensitive hashing, dimensionality reduction, streaming, clustering, VC-dimension, external memory, core sets, link analysis and recommendation systems.
CSI5167 (COMP5210) HUMAN-COMPUTER INTERACTION MODELS, THEORIES, AND FRAMEWORKS (3cr.)
A basis for graduate study in HCI with an emphasis on the application of theory to user interface design. Review of main theories of human behaviour relevant to HCI, including especially Cognitive Dimensions of Notations Framework, Mental Models, Distributed Cognition, and Activity Theory, and their application to design and development of interactive systems.
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.
CSI5175 MOBILE COMMERCE TECHNOLOGIES (3cr.)
Wireless networks support for m-commerce; m-commerce architectures and applications; mobile payment support systems; business models; mobile devices and their operating systems; mobile content presentation; security issues and solutions; relevant cross layer standards and protocols; case studies. Exclusion: EBC5175
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.)
Study of algorithms based upon biological theories of evolution, applications to machine learning and optimization problems. Possible topics: Genetic Algorithms, Classifier Systems, and Genetic Programming. Recent work in the fields of Artificial Life (swarm intelligence, distributed agents, behavior-based AI) and of connectionism. Precludes additional credit for COMP 4107.
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. Prerequisite: CSI5389
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. Prerequisite: CSI4106 or permission of the instructor
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.)
Prerequisite: CSI4106 or or permission of instructor
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. Prerequisite: CSI4110 or equivalent.
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. Prerequisite: CSI3105 or (in case of graduate students) permission of the instructor.
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.
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. Prerequisite: CSI5389
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.
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. Prerequisite: CSI4110 or equivalent.
CSI7162 (COMP 6604) ADVANCED TOPICS IN COMPUTER APPLICATIONS (3cr.)
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.
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.)
In-depth study on developments in database systems shaping the future of information systems, including complex object, object-oriented, object-relational, and semi-structured databases. Data structures, query languages, implementation and applications.
CSI5131 (COMP 5704) PARALLEL ALGORITHMS AND APPLICATIONS IN BIOINFORMATICS (3cr.)
Multiprocessor architectures from an application programmer's perspective: programming models, processor clusters, multi-core processors, GPUs, algorithmic paradigms, efficient parallel problem solving, scalability and portability. Projects on high performance computing in Data Science, incl. data analytics, bioinformatics, simulations. Programming experience on parallel processing equipment. Prerequisite: COMP 3804 or equivalent.
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.
CSI5142 (COMP 5402) PROTOCOLS FOR MOBILE AND WIRELESS NETWORKS (3cr.)
Link and network layer protocols of wireless networks; applications of wireless networks may be discussed. Topics may include: protocol implementation, mobile IP, resource discovery, wireless LANs/PANs, and Spreadspectrum. Precludes additional credit for SYSC 5306.
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.
CSI5153 (COMP 5111) DATA MANAGEMENT FOR BUSINESS INTELLIGENCE (3cr.)
Data management problems and information technology in decision making support in business environments. Topics include advanced data modeling, semantic modeling, multidimensional databases and data warehousing, on-line-analytical processing, elements of data mining, context in data management, data quality assessment, data cleaning, elements of business process modeling. This course emphasizes concepts and techniques rather than specific applications or systems/implementations.
CSI5154 (COMP 5112) ALGORITHMS FOR DATA SCIENCE (3cr.)
Algorithmic techniques to handle (massive/big) data arising from, for example, social media, mobile devices, sensors, financial transactions. Algorithmic techniques may include locality-sensitive hashing, dimensionality reduction, streaming, clustering, VC-dimension, external memory, core sets, link analysis and recommendation systems.
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)
CSI5173 (COMP 5203) DATA NETWORKS (3cr.)
Mathematical and practical aspects of design and analysis of communication networks. Topics include: basic concepts, layering, delay models, multi-access communication, queuing theory, routing, fault-tolerance, and advanced topics on high-speed networks, ATM, mobile wireless networks, and optical networks.
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 networks support for m-commerce; m-commerce architectures and applications; mobile payment support systems; business models; mobile devices and their operating systems; mobile content presentation; security issues and solutions; relevant cross layer standards and protocols; case studies. Exclusion: EBC5175
CSI5185 (COMP 5107) STATISTICAL AND SYNTACTIC PATTERN RECOGNITION (3cr.)
Topics include a mathematical review, Bayes decision theory, maximum likelihood and Bayesian learning for parametric pattern recognition, non-parametric methods including nearest neighbor and linear discriminants. Syntactic recognition of strings, substrings, subsequences and tree structures. Applications include speech, shape and character recognition.
CSI5308 (COMP 5003) PRINCIPLES OF DISTRIBUTED COMPUTING (3cr.)
Formal models; semantics of distributed computations; theoretical issues in design of distributed algorithms; computational complexity; reducibility and equivalence of distributed problems. Related topics: systolic systems and computations, oligarchical systems and control mechanisms.
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.)
Design issues of advanced multiprocessor distributed operating systems: multiprocessor system architectures; process and object models; synchronization and message passing primitives; memory architectures and management; distributed file systems; protection and security; distributed concurrency control; deadlock; recovery; remote tasking; dynamic reconfiguration; performance measurement, modeling, and system tuning.
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. Prerequisite: CSI5389
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. Prerequisite: CSI4110 or equivalent.
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. Prerequisite: CSI5389
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. Prerequisite: CSI4110 or equivalent.
CSI7131 (COMP 6100) ADVANCED PARALLEL AND SYSTOLIC ALGORITHMS (3cr.)
Continuation of COMP 5704.
CSI7163 (COMP 6605) ADVANCED TOPICS IN COMPUTER SYSTEMS (3cr.)
CSI7170 (COMP 6602) ADVANCED TOPICS IN DISTRIBUTED COMPUTING (3cr.)
Theses and Projects
CSI5140 (COMP 5900) SELECTED TOPICS IN COMPUTER SCIENCE (3cr.)Selected topics, not covered by other graduate courses. Details will be available from the School at the time of registration.
CSI5900 (COMP 5902) PROJETS DE RECHERCHE EN INFORMATIQUE / GRADUATE PROJECTS IN COMPUTER SCIENCE (3cr.)
CSI5901 (COMP 5901) ÉTUDES DIRIGÉES / DIRECTED STUDIES (3cr.)
A course of independent study under the supervision of a member of the School of Computer Science.
CSI5902 (COMP 5904) COLLOQUE / SEMINAR (3cr.)
To complete this course, the student must attend 5 graduate seminars at Carleton, and 5 at SITE within a year. The student must also make one presentation in the context of this graduate seminar.
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. / 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. Préalable : Être accepté au programme de certificat en commerce électronique (option technologie) et recevoir la permission du Comité du programme. / Prerequisites: Acceptance in the Graduate Certificate in e-Commerce (Technology Option) and 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. / 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. Préalable : permission du responsable des études supérieures. / 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. / 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. Préalable : permission du responsable des études supérieures. / 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
Within 8 terms following initial registration in the program, a document generally defining the problem addressed, relating it to the literature, and outlining the hypotheses, goals, research methodology, initial results and validation approach must be submitted to an examination committee and successfully defended.
CSI9998 (COMP 6907) EXAMEN GÉNÉRAL DE DOCTORAT / PhD COMPREHENSIVE EXAMINATION
A committee must be assembled and approve at least 3 topics for written examination: typically, a major and two minor areas. An oral examination occurs if the written exam is passed. Both elements must take place within the first 4 terms following initial registration in the program. The comprehensive may be failed, passed conditionally (i.e., with extra course requirements) or passed unconditionally. If failed this course may be retaken at most one time.
CSI9999 (COMP 6909) THÈSE DE DOCTORAT / PhD THESIS
GNG5121 PLANNING OF EXPERIMENTS IN ENGINEERING DESIGN (3cr.)
Two-level statistical experimental methods as applied to engineering design; analysis of means, analysis of variance, contrasts, multifactorial analysis of variance, fractional factorial design, screening designs, product variation and an introduction to the Taguchi approach.
GNG5122 OPERATIONAL EXCELLENCE AND LEAN SIX SIGMA (3cr.)
Lean Six Sigma Green Belt tools and techniques, operational efficiency, waste and variability reduction, continuous improvement, the pursuit of perfection. DMAIC (define, measure, analyze, improve and control), process mapping, data collection and analysis, root cause problem solving, the cost of quality, mistake proofing, change management.
GNG5123 ENTERPRISE ARCHITECTURE (3cr.)
Enterprise architecture as a rigorous planning methodology that harmonizes and integrates the needs of society, management, and engineering in both business and government. Based on an analysis of currently available frameworks and standards, the course will address the design of enterprise business architectures and the derivation of supporting information systems infrastructure.