CS 600s


CS 634 Security and Privacy in Health Systems (0.50) LECCourse ID: 014934
An overview of basic security and privacy principles relevant in the design and use of applications in health settings. Program security, operating system security, network security, data security, and issues related to the management of security and privacy policies are introduced. Master of Health Informatics students only.
Prereq: CS 792 and PHS 613; Master of Health Informatics students
Only offered Online

CS 636 Introduction to Computer Networks and Distributed Computer Systems (0.50) LECCourse ID: 014935
An introduction to computer networks, Internet protocols, and distributed systems. Layered models, naming, addressing and routing, reliable communication, security, and elements of distributed system design. Master of Health Informatics students only.
Prereq: CS 792 and PHS 613; Master of Health Informatics students
Only offered Online

CS 638 Principles of Data Management and Use (0.50) LECCourse ID: 014936
A user-oriented approach to the management of large collections of data. Relational database technology, relational algebra, SQL, database views, transactions, data modelling methodology, entity-relationship models. Introduction to several current topics in database research, such as warehousing, data mining, managing data streams, data cleaning, data integration, and distributed/parallel databases. Master of Health Informatics students only.
Prereq: CS 792 and PHS 613; Master of Health Informatics students
Only offered Online

CS 642 Principles of Programming Languages (0.50) LECCourse ID: 000599
An exposure to important concepts and issues in contemporary programming languages. Data types, abstraction, and polymorphism. Program structure. Lambda calculus and functional programming, logic programming, object-oriented programming. Semantics of programming languages. Critical comparison of language features and programming methodologies using examples drawn from a variety of programming languages including Lisp, Prolog, ML, Ada, Smalltalk, Icon, APL, and Lucid. Programming assignments involve the use of some of these languages.

CS 644 Compiler Construction (0.50) LECCourse ID: 000601
Phases of compilation. Lexical analysis and a review of parsing. Compiler-compilers and translator writing systems. LEX and YACC. Scope rules, block structure, and symbol tables. Runtime stack management. Parameter passage mechanisms. Stack storage organization and templates. Heap storage management. Intermediate code. Code generation. Macros.

CS 645 Software Requirements Specification and Analysis (0.50) LEC,TUTCourse ID: 000602
Introduces students to the requirements definition phase of software development: Models, notations, and processes for software requirements identification, representation, analysis, and validation. Cost estimation from early documents and specifications.

CS 646 Software Design and Architectures (0.50) DIS,LEC,TUTCourse ID: 000603
Introduces students to the design, implementation, and evolution phases of software development. Software design processes, methods, and notation. Implementation of designs. Evolution of designs and implementations. Management of design activities.

CS 647 Software Testing, Quality Assurance and Maintenance (0.50) DIS,LEC,TUTCourse ID: 000604
Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.

CS 648 Database Systems Implementation (0.50) LECCourse ID: 000605
The objective of this course is to introduce students to fundamentals of building a relational database management system. The course focuses on the database engine core technology by studying topics such as storage management (data layout, disk-based data structures), indexing, query processing algorithms, query optimization, transactional concurrency control, logging and recovery. Preference will be given to CS graduate students. All other require permission from the school.

CS 649 Human-Computer Interaction (0.50) LECCourse ID: 014064
An introduction to the fundamental theories, methods, and research in the design and evaluation of description: novel computational artifacts designed to meet real-world human needs.
Antireq: SYDE 348

CS 650 Computer Architecture (0.50) LECCourse ID: 000606
The course is intended to provide the student with an appreciation of modern computer design and its relation to system architecture, compiler technology and operating system functionality. The course places an emphasis on design based on the measurement of performance and its dependency on parallelism, efficiency, latency and resource utilization.

CS 652 Real-Time Programming (0.50) LECCourse ID: 000607
Intended to give students experience with tools and techniques of real-time programming, this course includes not only issues of microcomputer architecture and a real-time programming language and operating system, but also hands-on experience programming a microcomputer for applications such as process control, data acquisition and communication. .Preference will be given to CS graduate students. All others require approval from the department.

CS 654 Distributed Systems (0.50) LECCourse ID: 000608
An introduction to distributed systems, emphasizing the multiple levels of software in such systems. Specific topics include fundamentals of data communications, network architecture and protocols, local-area networks, concurrency control in distributed systems, recovery in distributed systems, and clock synchronization. Preference will be given to CS graduate students. All others require approval from the department.
Antireq: CS 755

CS 656 Computer Networks (0.50) LECCourse ID: 000609
An introduction to network architectures and protocols, placing emphasis on protocols used in the Internet. Specific topics include application layer protocols, network programming, transport protocols, routing, multicast, data link layer issues, multimedia networking, network security, and network management.
Antireq: CS 755

CS 657 System Performance Evaluation (0.50) LECCourse ID: 000610
Basic techniques of system performance evaluation. Specific topics include: performance modeling, discrete event simulation, verification and validation of simulation models, analysis of simulation output, analysis of single server queue and queueing networks, modeling of computer systems, networks, and other queueing or non-queueing systems.

CS 658 Computer Security and Privacy (0.50) LAB,LECCourse ID: 000611
Security and privacy issues in various aspects of computing. Specific topics include: comparing security and privacy, program security, writing secure programs, controls against program threats, operating system security, formal security models, network security, Internet application security and privacy, privacy-enhancing technologies, database security and privacy, inference data mining, security policies, physical security, economics of security, and legal and ethical issues. (Note: Knowledge of operating systems equivalent to that obtained from CS 350 is assumed.)

CS 662 Formal Languages and Parsing (0.50) LECCourse ID: 000612
Languages and their representations. Grammars-Chomsky hierarchy. Regular sets and sequential machines. Context-free grammars-normal forms, basic properties. Pushdown automata and transducers. Operations on languages. Undecidable problems in language theory. Applications to the design of programming languages and compiler construction.

CS 664 Computational Complexity Theory (0.50) LECCourse ID: 000613
The classification of problems according to the computational resources required for their solution, with emphasis on properties of feasible computations rather than on specific algorithms. Topics include: time and space complexity, tractable and intractable problems, computation using randomness, parallel computation.

CS 666 Algorithm Design and Analysis (0.50) LECCourse ID: 000614
Design of good algorithms and analysis of the resources they consume. Lower bounds on the resource requirements of algorithms to compute certain functions. Problems from the following areas are discussed in this light: sorting and order statistics, data structures, arithmetic computations, the NP-complete problems.

CS 673 Medical Image Processing (0.50) LECCourse ID: 011588
An introduction to computational problems in medical imaging. Sources of medical images (MRI, CT, ultrasound, PET) as well as reconstruction methods for MRI and CT. Image manipulation and enhancement such as denoising and deblurring. Patient motion correction and optimal image alignment. Tissue classification and organ delineation using image topology. (Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: W)
Antireq: CS 473, CM 473

CS 675 Computational Linear Algebra (0.50) LECCourse ID: 014065
Basic concepts and implementation of numerical linear algebra techniques and their use in solving application problems. Special methods for solving linear systems having special features. Direct methods: symmetric, positive definite, band, general sparse structures, ordering methods. Iterative methods: Jacobi, Gauss-Seidel, SOR, conjugate gradient. Computing and using orthogonal factorizations of matrices. QR and SVD methods for solving least squares problems. Eigenvalue and singular value decompositions. Computation and uses of these decompositions in practice.
Antireq: CM/CS 372,472

CS 676 Numeric Computation for Financial Modelling (0.50) LECCourse ID: 000620
The interaction of financial modes, numerical methods, and computing environments. Basic computational aspects of option pricing and hedging. Numerical methods for stochastic differential equations, strong and weak convergence. Generating correlated random numbers. Time-stepping methods. Finite difference methods for Black-Scholes equation. Discretization, stability, convergence. Methods for portfolio optimization, effect of data errors on portfolio weights. (Heldwith CS 476).

CS 682 Computational Techniques in Biological Sequence Analysis (0.50) LECCourse ID: 011302
Computer science principles and algortihms in biological sequence analysis. Topics include algotithms for sequence comparison, for large-scale database search in biological databases, for sequence assembly, for evolutionary tree reconstruction, for identifying important featrues in DNA and RNA sequences, and underlying computational techniques for understanding strings and trees and for making probabilistic inferences. (Heldwith CS 482).

CS 683 Computational Techniques in Structural Bioinformatics (0.50) LECCourse ID: 011303
Algorithms and techniques used in the identification and functional characterization of cellular proteins. Topics include: protein databases, gene expression analysis, protein structure prediction, protein function prediction, active site detection and ligand docking, protein-protein interaction, HTCS (High Throughput Conformational Search), and QSAR (Quantitative Structure-Activity Relationships). (Heldwith CS 483).

CS 684 Computational Vision (0.50) LECCourse ID: 000623
Introduction to image and vision understanding by computer. Camera-system geometry, image formation and lighting, and image acquisition. Basic visual processes for recognition of edges, regions, lines, and surfaces. Processing of stereo images, and motion in image sequences. Object recognition. Applications of computer vision systems.

CS 685 Machine Learning: Statistical and Computational Foundations (0.50) LECCourse ID: 000624
Extracting meaningful patterns from random samples of large data sets. Statistical analysis of the resulting problems. Common algorithm paradigms for such tasks. Central concepts: VC-dimension, Margins of classifier, Sparsity and description length. Performance guarantees: Generalization bounds, data dependent error bounds and computational complexity of learning algorithms. Common paradigms: Neural networks, Kernel methods and Support Vector machines, Applications to Data Mining.

CS 686 Introduction to Artificial Intelligence (0.50) LECCourse ID: 000625
Goals and methods of artificial intelligence. Methods of general problem solving. Introduction to mathematical logic Mechanical theorem proving. Game playing. Natural language processing. Preference will be given to CS graduate students. All others require approval from the department. Department approval will be by Undergraduate Advisor.

CS 687 Introduction to Symbolic Computation (0.50) LECCourse ID: 000626
(Cross-listed with CM 730)
An introduction to the use of computers for symbolic mathematical computation, involving traditional mathematical computations such as solving linear equations (exactly), analytic differentiation and integration of functions, and analytic solution of differential equations.

CS 688 Introduction to Computer Graphics (0.50) LECCourse ID: 000627
Software and hardware for interactive computer graphics. Implementation of device drivers, 3-D transformations, clipping, perspective, and input routines. Data structures, hidden surface removal, colour shading techniques, and some additional topics will be covered. Preference will be given to CS graduate students. All others require approval from the department.

CS 690A Literature and Research Studies (0.50) RDGCourse ID: 000630
This is an individual study course carried out under the supervision of a Computer Science faculty member. The topic should be agreed upon by both the student and the instructor. This is a credit/no credit course. Department permission will be by Coordinator of Graduate Studies.
Department Consent Required
1 Approximation Theory

CS 690B Literature and Research Studies (0.50) RDGCourse ID: 000631
This is an individual study course carried out under the supervision of a Computer Science faculty member. The topic should be agreed upon by both the student and the instructor. This is a grade course. Department permission will be by Coordinator of Graduate Studies.
Department Consent Required
1 Comp Phylogenetics & Cluster'g
2 Context-Aware Communication
3 Transact'n Processing in Cloud

CS 692 The Social Implications of Computing (0.50) LECCourse ID: 000632
This course is designed to consider the problems encountered by individuals, organizations and society as computer technology is adopted, with a view towards assessing possible courses of action.

CS 697 Graduate Research Skills Seminar (0.00) SEMCourse ID: 009076
Research and life skills that can help graduate students improve their academic and interpersonal competence-research methodologies, library research skills, creative and critical thinking, time management, stress management, technical reading skills, listening skills, oral communication, writing and publishing in computer science, jobs in academica versus industry.

CS 698 Introductory Research Topics (0.50) LEC,RDGCourse ID: 010461
This number is used for courses being offered on a temporary basis. Such a course may be available only once, for example to take advantage of a visiting professor's expertise, or may be offered experimentally until it is determined whether of not the course should become part of the regular course offerings. It may also be used for an individual study course carried out under the supervision of a Computer Science faculty member with the approval from the Associate Chair, Graduate Studies. This is a grade course. Preference will be given to CS graduate students. All others require approval of the Department.

CS 700s


CS 740 Database Engineering (0.50) LEC,TUTCourse ID: 011293
Project-oriented course that covers the implementation of relational database management systems. Topics include database system architecture; managing primary and secondary storage; query processing; metadata and catalog management; language processing; query optimization and plan generation; concurrency; failures and recovery; extensibility; client-server interactions.

CS 741 Non-Traditional Databases (0.50) LECCourse ID: 011294
Management of non-relational databases, such as multimedia databases, text databases, temporal databases or spatial databases. Each offering will target a specific type of data. Topics include rationale for and common applications of non-relational database management; systems and standards; the abstract data model; data definition and manipulation languages; data storage and indexing; query processing and optimization; updates and transaction management.
Antireq: CS 748O, 748S

CS 742 Parallel and Distributed Database Systems (0.50) LECCourse ID: 000650
Algorithms and architectures used in parallel database management systems, with a focus on relational systems. Topics include system architectures; parallel and distributed query processing; federated dtabase systems; distributed transactions; data replication.
Antirequisite: CS 748T, 748Q

CS 743 Principles of Database Management and Use (0.50) LECCourse ID: 013602
An overview of relational databases and how they are used; exposure to relational database technology. Fundamentals of transactions. Database views. Introductions to two or three alternative data models and systems, such as those used for structured text, spatial data, multimedia data, and information retrieval. Introduction to several current topics in database research, such as warehousing, data mining, managing data streams, data cleaning, data integration, and distributed databases.
Instructor Consent Required

CS 744 Advanced Compiler Design (0.50) LECCourse ID: 000655
Project-oriented course that covers optimizing compilers and the implementation of advanced programming language features. Topics include intermediate representations; data-flow, dependence, and alias analysis; optimizing transforms, register allocation, instruction scheduling; memory management, garbage collection, threads, concurrency; single and multiple inheritance, generics, templates, type inference.

CS 745 Computer-Aided Verification (0.50) LECCourse ID: 011295
(Cross-listed with ECE 725)
Application of formal methods to the verification of computer-based systems. Algebraic and automata preliminaries. Temporal logic and model checking. Decision procedures. Mechanized theorem proving. Advanced topics chosen by the instructor.

CS 746 Software Architecture (0.50) LECCourse ID: 000656
A project-oriented course that covers the concepts in software architecture. Topics include basic concepts (components and connectors, rationale, views, architectural diagrams, team implictions, evolution, size considerations), theory underlying softeware architecture, extraction of architecture from implementation artifacts, architecture of web-based and enterprise systems, clustering of subsystems, visualization approaches to software architecture, comprehension and cognitive aspects of software architecture.

CS 755 System and Network Architectures and Implementation (0.50) LECCourse ID: 013603
Distributed, multi-user applications are designed and implemented using many underlying technologies that must be coordinated to provide important features such as robustness, scalability, manageability, ubiquitous access, privacy, security, authentication, and role-based access control, to name only a few. The network supporting the application may be crucial to its successful implementation. The application logic itself is likely implemented in a number of languages and programming environments. Students will be provided with an advanced overview of current networking and distributed systems topics, and will apply it to case studies drawn form consumer internet applications, enterprise systems, and medical and healthcare systems.
Instructor Consent Required
Antireq: CS 456, 656, 454, 654

CS 758 Cryptography/Network Security (0.50) LECCourse ID: 011590
Cryptographic protocols and their application to secure communication, especially in a network setting. Identification and entity authentication; protocols for key establishment, transport, agreement and maintenance; secret sharing, broadcast encryption, tracing schemes; certificates, public-key infrastructure, PGP.

CS 761 Randomized Algorithms (0.50) LECCourse ID: 011296
Introduction to the design and analysis of algorithms that make use of randomization. Topics include review of basic probabiloity and introduction to randomized algorithms; game theoretic techniques; uses of Markov and Chebyshev inequalities; tail inequalities; Markov chains and random walks; algebraic techniques; data structures and graph algorithms.

CS 762 Graph-Theoretic Algorithms (0.50) LECCourse ID: 000710
Further exposure to the design, analysis and application of algorithms for problems defined on graphs. Topics include planarity testing and embedding; classes of planar graphs and fast algorithms for them; trees and tree-like graphs (bounded pathwidth and treewidth); perfect graphs and intersection graphs.
Antireq: CS 760K

CS 763 Computational Geometry (0.50) LECCourse ID: 011297
Introduction to the design, analysis and application of algorithms for geometric problems. Topics include convex hull algorithms in two and three dimensions; Voronoi diagrams, Delaunay triangulations, and their applications; linear programming in low dimensions; line segments, planar subdivision, and polygons; range searching.
Antireq: CS 760M

CS 764 Computational Complexity (0.50) LECCourse ID: 011298
Further exposure to the classification of problems based on their computational requirements and to mathematical tools designed to explore the structural consequences of such classifications. Topics include relativization, alternation, provably intractable problems, feasible parallel computation; fixed-parameter tractability and the W-hierarchy; Kolmogorov complexity, including algorithmic and algorithmic prefix complexity and their applications.
Antireq: CS 664

CS 765 Algorithmic Number Theory (0.50) LECCourse ID: 011299
(Cross-listed with CO 785)
Fundamental problems of elementary and algebraic number theory from an algorithmic and computational complexity point of view with emphasis placed on analysis of algorithms. Topics include basic arithmetic algorithms; computation over finite fields; primality testing; algorithms for integer factorization; algorithms in number fields.

CS 766 Theory of Quantum Information (0.50) LECCourse ID: 000711
(Cross-listed with QIC 820)
Fundamentals of quantum information theory including states, measurements, operations, and their representations as matrices; measures of distance between quantum states and operations; quantum Shannon theory including von Neumann entropy, quantum noiseless coding, strong subadditivity of von Neuman entropy, Holevo's Theorem, and capabilities of quantum channels; theory of entanglement including measures of entanglement, entanglement transformation, and classifications of mixed-state entanglement; other topics in quantum information as time permits.

CS 767 Advanced Logic for Computer Science (0.50) LECCourse ID: 000712
The course provides extended background in mathematical logic and its applications to various branches of computer science. It covers some fundamental concepts such as soundness and completeness theorems, compactness, the expressive power of a logic and the computational complexity of its basic decision problems. These concepts are being demonstrated on first order logic and modal logics. Finally the course discusses examples of applications of these concepts and tools to formal reasoning about programs and about hardware, to data bases, and to knowledge representation.

CS 768 Quantum Information Processing (0.50) LECCourse ID: 011589
(Cross-listed with AMATH 871, CO 681, PHYS 767, QIC 710)
Review of basics of quantum information and computational complexity; Simple quantum algorithms; Quantum Fourier transform and Shor factoring algorithm: Amplitude amplification, Grover search algorithm and its optimality; Completely positive trace-preserving maps and Kraus representation; Non-locality and communication complexity; Physical realizations of quantum computation: requirements and examples; Quantum error-correction, including CSS codes, and elements of fault-tolerant computation; Quantum cryptography; Security proofs of quantum key distribution protocols; Quantum proof systems. Familiarity with theoretical computer science or quantum mechanics will also be an asset, though most students will not be familiar with both.
Antireq: CS 467,CO 481, Phys 467

CS 770 Numerical Analysis (0.50) LECCourse ID: 012670
(Cross-listed with AMATH 740, CM 770)
Introduction to basic algorithms and techniques for numerical computing. Error analysis, interpolation (including splines), numerical differentiation and integration, numerical linear algebra (including methods for linear systems, eigenvalue problems, and the singular value decomposition), root finding for nonlinear equations and systems, numerical ordinary differential equations, and approximation methods (including least squares, orthogonal polynomials, and Fourier transforms).

CS 774 Advanced Computational Finance (0.50) LECCourse ID: 012994
Option pricing, hedging, model calibration, and portfolio optimization will be discussed. Computational methods, including PDE methods, Monte Carlo, and mathematical programming will be presented.

CS 775 Parallel Algorithm in Scientific Computing (0.50) LECCourse ID: 011300
Techniques for obtaining maximum parallelism in various numberical algorithms, especially those occurring when solving matrix problems and partial differential equations, and the subsequent mapping onto the computer. Topics include: parallel architecture and performance models; message passing/shared memory programming; matrix computations; fast Fourier transform; graph partitioning; domain decomposition methods.
Antireq: CS 770G

CS 778 Numerical Solution of Partial Differential Equations (0.50) LECCourse ID: 000724
(Cross-listed with AMATH 741, CM 750)
Discretization methods for partial differential equations, including finite difference, finite volume and finite element methods. Application to elliptic, hyperbolic and parabolic equations. Convergence and stability issues, properties of discrete equations, and treatment of non-linearities. Stiffness matrix assembly and use of sparse matric software. Students should have completed a course in numerical computation at the undergraduate level.

CS 779 Splines and Their Use in Computer Graphics (0.50) LECCourse ID: 000725
Spline theory and recent developments in techniques for representing, manipulating and rendering curves and surfaces constructed from splines in a graphic environment. Applications of interest include computer-aided design, synthetic image generation and animation.
Antireq: CS 679

CS 780 Advanced Symbolic Computation (0.50) LECCourse ID: 011501
A deep investigation into fundamental problems of symbolic computation. These may include algorithms for linear, non-linear, and differential systems of symbolic equations, symbolic integration, factoring polynomials, and symbolic-numeric algorithms. Covers the basic data types and structures for algebraic objects and operations. Issues in the design of computer algebra systems.

CS 781 Colour in Computer Graphics (0.50) LECCourse ID: 011467
In computer graphics, 3D models are rendered through an ideal camera to a 2D image. The virtual camera is a powerful tool, controlling not only perspective and the optical path, but colour mapping as well. This course examines the notion of "colour" at different stages of the computer graphics pipeline, and describes techniques for modelling and managing colour through the virtual camera analogy. Topics include illumination, the virtual camera, colour spaces, gamut mapping and colour management. Implementation of the colour reproduction and gamut-mapping algorithms demands a number of numerical and statistical methods, including multidimensional interpolation and approximation, computational geometry, splines, principal components anlysis and optimization.

CS 782 Pattern Discovery in Biomolecular Data (0.50) LECCourse ID: 011468
This course examines, from an algorithmic point of view, the pattern discovery techniques that are currently used to extract the functional knowledge hidden in biomolecular data that is derived from DNA, RNA, proteins and their reaction products. Topics include: DNA sequence analysis, RNA structure prediction techniques, protein motif discovery techniques, protein structure prediction, analysis of expression data.

CS 783 Computer Modeling of Biophysical Phenomena (0.50) LECCourse ID: 012995
This course addresses the computer (in silico) simulation of biophysical processes involved in the interaction of light with organic and inorganic matter. Computer models used to simulate these processes are presented, and key stages of the simulation pipeline, such as data gathering, design constraints and evaluation methodologies, are examined in detail. This course also includes discussions of open problems and current trends in the computer simulation of biophysical processes. Application fields include, but are not limited to computer graphics, remote sensing, biology and biomedical optics.

CS 784 Computational Linguistics (0.50) LECCourse ID: 011288
Computer understanding and generation of natural (i.e., human) languages. Basic topics in natural language understanding (syntax, semantics, pragmatics, connected discourse). Selected applications (e.g., automated language generation, machine translation, natural language processing and the Web).
Antireq: CS 684

CS 785 Intelligent Computer Interfaces (0.50) LECCourse ID: 011289
Intelligence in interfaces-natural language processing, plan recognition, dialogue, generation, user modeling. Interfaces to intelligent systems-intelligent agents and multi-agent systems, information processing and data mining, knowledge-based systems.
Antireq: CS 685

CS 786 Probabilistic Inference and Machine Learning (0.50) LECCourse ID: 000726
Covers the fundamental principles of probabilistic inference and computational learning systems. Topics include Bayes decision and utility theory, Monte Carlo and Markov chain Monte Carlo methods; learning with complete data; Bayesian networks, Markov random fields and factor graphs; models; learning with incomplete data; computational learning and PAC learning theory.
Antireq: CS 786P

CS 787 Computational Vision (0.50) LEC,TUTCourse ID: 000743
Fundamental problems in computational vision where efficient and robust algorithms can be applied. Topics include image formation; linear systems and Fourier theory; image registration; feature detection; fitting models to data; optical flow; structure from motion; steriopsis; object recognition; high-level vision.
Antireq: CS 698Q

CS 788 High-Performance Image Synthesis (0.50) LECCourse ID: 000747
Project-oriented course that covers high-performance image synthesis using techniques for both real-time interactive systems and offline physically-based rendering. Topics include numerical techniques; visual perception and light; mathematical models of rendering; global illumination algorithms; real-time rendering.

CS 789 User Interface Tools (0.50) LECCourse ID: 011290
Graphics input devices and interaction techniques. The pragmatic factors of various physical, logical and virtual devices, human factors of interactive systems, interaction dialogue managers.
Antirequisite: CS 689

CS 791 Non-Photorealistic Rendering (0.50) LECCourse ID: 012996
Fundamentals of non-photorealistic computer depiction. Problems of style, abstraction and spatial and temporal coherence. Stroke-based rendering and simulation of traditional artistic media. Stylized processing of images and video. Real-time non-photorealistic rendering of 3D models; toon shaders and contour rendering. Geometric art and ornamental design.

CS 792 Data Structures and Standards in Health Informatics (0.50) LECCourse ID: 013604
(Cross-listed with HSG 612, PHS 612)
This course focuses on health data as a key component of all health informatics systems. Topics include ontologies and other classification taxonomies found in health systems, data standards (with a focus on Canadian implementations of international standards), privacy and security of health data, client/patient assessment tools, and ethical considerations.
Also offered Online

CS 793 Health Informatics - Applications Domains (0.50) LECCourse ID: 013605
System architectures, interoperability, networking, and medical data storage are explored in the context of health information system applications such as digital image acquisition systems, telemedicine, laboratory automation, physician order entry systems, patient safety systems, administrative systems, and various forms of the electronic patient record. Issues related to usability and human computer interaction feature prominently in this course.
Instructor Consent Required

CS 798 Advanced Research Topics (0.50) LECCourse ID: 000753
1 Software Architecture
2 Cognition for UI Software Dsgn
3 Pattern Discov Biomolec Data
4 Colour in Computer Graphics
5 Cryptography/Network Security
6 Algorithms:Functional Genomics
7 Nonphotorealistic Comp Graphic
8 Geometric Algebra
9 Cmp Grphcs, Gmtry & Ornmntl Ds
10 Theory of Quantum Information
11 Computational Finance
12 Kolmogorov Complexity
13 Information Retrieval
14 Biophysically-Based Modeling
15 Clustering Theory
16 Nonphotorealistic CompGraphic
17 Decision Support Systems
18 Fndatns of Computer Networking
19 Math Fnds of Comp. Ntwrking
20 Advanced Logic in Comp. Sci.
21 Quantum Computing Complexity
22 Interp for Functionl Prog Lang
23 Quantum Complexity Theory
24 Multiagent Systems
25 Quantum Fault Tolerance
26 Topics in AI
27 Computational Phylogenetics
28 Theoret. Found. of Clustering
29 Logic for Computer Science
30 Prob Analysis of Algorithms
31 Math Fnds of Comp Ntwrking
32 Phys Design/Query Compil in DB
33 Functional Prog Lang Semantics
34 Scripting Languages
35 Games for Health
36 Software Foundations
37 Algo. Spectral Graph Theory

CS 800s


CS 840 Advanced Topics in Data Structures (0.50) SEMCourse ID: 011084
1 Succinct & Self-Adjusting
2 Efficiency of Data Structures
3 Space Efficient Data Structure
4 Time and Space Efficiency

CS 842 Advanced Topics in Language Design and Implementation (0.50) SEMCourse ID: 011085
1 Rsrch Tpcs in Compiler Design
2 Java Language
3 Aspect-Oriented Programming
4 Static Program Analysis
5 Programming Mechanisms & Tools
6 Functional Parsing
7 Scripting Languages
8 User-Level Threading Revisited
9 VM's for Dynamic Languages
10 Memory and Garbage Collection

CS 846 Advanced Topics in Software Engineering (0.50) SEMCourse ID: 011086
1 Design Recovery&Transformation
2 Advanced Model Checking
3 Software Evolution
4 Requirements Engineering
5 Modularity in Model Checking
6 Web Services Architectures
7 Software Project Management
8 Software Analysis & Transform
9 Analysis of Infinite Systems
10 Electronic Publishing
11 Software Evolution and Design
12 Source Transformation Sys
13 Reactive Systems Analysis
14 SE Evolution, Analysis &Design
15 Collabrtv Software Composition
16 Software Quality
17 Patterns in Reactive Systems
18 Software Evolution
19 Empirical Methods
20 Model-Based Software Engineerg
21 Advnd Tpcs in Reqrmnts Engnrg
22 Analysis of reactive programs
23 Human Aspects of Software Eng
24 Adv Tpcs in Electr Publishing
25 Adv Tpcs in Software Evolution
26 Symmetry in Program Analysis
27 Program Analysis of Web Apps
28 Software Recommendat'n Systems
29 Empirical Software Evolution
30 Software Eng. for Big Data

CS 848 Advanced Topics in Data Bases (0.50) SEMCourse ID: 011087
1 Web Data Management
2 Adv Tpcs in Software Eng
3 Similar Search-Multimedia Db
4 Query Containment
5 Automatic Question Answering
6 Query Processing&Optimization
7 Data Mining
8 Database Systems
9 Non-Trad Query Proces & Optimi
10 Self-Managing Database Systems
11 Reasoning on the Semantic
12 Adv Queries & Query Processing
13 Adaptive Qu Proc for Emerg App
14 Management Information Systems
15 Foundations in Query Optimiztn
16 Probabilistic & Uncertain DBs
17 Databases & the Semantic Web
18 Managing Database Systems
19 Integration of DB & IR System
20 Databases in Cloud Comp Env
21 Distributed Informatn Systems
22 Data management in the Cloud
23 Information Retrieval
24 Databases
25 Mach Learn for Info Retrieval
26 DB Applicatns of GPU Computing
27 Large Scale Data Management
28 Databases in Cloud Comp Env
29 Info Integrtn w RDF/OWL/SPARQL
30 Data Quality
31 Modern Database Systems
32 Challenges in Big Data Quality
33 DBMS on Modern Hardware
34 Search and Recommendation
35 Topics in DB: main-memory data

CS 850 Advanced Topics in Computer Architecture (0.50) SEMCourse ID: 011088
1 GPU Computing

CS 854 Advanced Topics in Computer Systems (0.50) SEMCourse ID: 011089
1 Profiling and Tracing Programs
2 Component-Based Design
3 Pattern Based Parallel Prog Sy
4 Machine Resource Allocation
5 Integration of Internet Rsrcs
6 Hot Topics-Comp&Comm Security
7 Pervasive & Ubiquitous Comp
8 Privacy Enhancing Technologies
9 Virtualization
10 Component-Based Softwr Eng
11 Embedded Systms Modeling&Dsign
12 Cloud Computing & Management
13 Scalable Systems Software
14 Experimental Performance Evaln
15 HTTP Streaming Video
16 Cloud Computing & Management
17 Many-Core Operating Systems
18 Cloud & SW Defined Networking
19 Emerging Technologies
20 Experimental OS Techniques

CS 856 Advanced Topics in Distributed Computing (0.50) SEMCourse ID: 011090
1 Network Arch, Protocols & Perf
2 Management
3 Network Management
4 Internet Server Performance
5 Internet Transport Perform
6 Tetherless Computing
7 Peer-to-Peer Networking
8 Web Data Management
9 Novel Networking Principles
10 Performance Modeling&Analysis
11 Internet-scale Distr Data Mgmt
12 Systems for Multicore
13 Naming, Addressing, Routing
14 Latency in Communication Syst.
15 Network Performance
16 Software Defined Cloud/Network

CS 858 Advanced Topics in Cryptography, Security and Privacy (0.50) SEMCourse ID: 012992
1 Unconditionally Secure Crypto
2 Hot topics-Comp+Comm Security
3 Privacy Enhancng Technologies
4 Privacy Enhancing Security
5 Mobile Privacy & Security

CS 860 Advanced Topics in Algorithms and Complexity (0.50) SEMCourse ID: 011091
1 Algorithmic Prblms : Internet
2 Algorithms for Polyhedra
3 Formal Languages&Number Theory
4 Algorithmic Found of Internet
5 Computational Geometry
6 Intro to Kolmogorov Complexity
7 Quantum algorithm & complexity
8 5 Prob in Algo Design & Analys
9 Automatic Sequences
10 Adaptive+Output Sensitive Algs
11 Complexity and Lower Bounds
12 Randomness & Complexity
13 Pattern Avoidability
14 Search Engines, Design to Impl
15 Geometric Construction
16 Parameterized/Exact Algorithms
17 Kolgomorov Complexity & Appl.
18 Geometric Reconstruction
19 On-line Algorithms
20 Geometric Data Structures
21 Patterns in Words
22 Parameterize & Reconfigure
23 Online Algorithms&Applications
24 Emerging Technologies
25 Sub linear-time Algorithms
26 Algorithms for Shortest Paths

CS 867 Advanced Topics in Quantum Computing (0.50) SEMCourse ID: 013470
The course description will vary according to the topic offered under this course title.
1 Quantum Algorithms
2 Qtm Error Corr & Flt Tolerance
3 Semidefinite Programming in QI
4 Recent advances in Quant. Inf.
5 Quantum Complexity Theory
6 Haar Measure in Quantum Info

CS 869 Advanced Topics in Logic Design (0.50) SEMCourse ID: 011092

CS 870 Advanced Topics in Scientific Computation (0.50) SEMCourse ID: 011093
1 Computational Finance
2 Unstructured Mesh Generation
3 Medical Image Processing
4 Medical Processing
5 Num Algorithms & Image Process
6 Appl Optimiz for Finance/ML
7 Computational Neuroscience

CS 882 Advanced Topics in Bioinformatics (0.50) SEMCourse ID: 011304
1 Computational Proteomics
2 Comparative Genomics
3 Genome Analysis
4 Structural Bioinformatics
5 Algorithms and Software
6 Genome-Scale Algorithm Design
7 Intro to Kolmogorov Complexity
8 Protein Structure Computation
9 Computational Mass Spectometry
10 History & Frontier of Bioinfo

CS 886 Advanced Topics in Artificial Intelligence (0.50) SEMCourse ID: 011094
1 Constraint Programming
2 Stat. Natural Lang. Processing
3 Multi-Agt Sys 4 Real-Wrld App
4 Reasoning Under Uncertainty
5 Electronic Market Design
6 Statistical Learning Theory
7 Current Apps Natural Lang Comp
8 Natural Language Computing
9 Self-Interested Multiagent Sys
10 Knowledge Representation
11 Theoretical Found of Cluster'g
12 Discourse Analysis
13 Game-Theoretic Methods in CS
14 Statistical NLP and IR
15 Machine Learning
16 Preference Elicitation
17 Multiagent Systems
18 Clustering Theory
19 Bayesian Data Analysis
20 Human Language Technologies
21 AI Techniques for Games
22 Decision Making Under Uncrtnty
23 Perceptn as Bayesian Inference
24 Persuasive Technologies
25 AI for Health Applications
26 Computational Discourse
27 Virtual Humans/Games&Narrative
28 Applied Machine Learning
29 Fnd. of Social Computing
30 Reinforcement Learning
31 Theory of Machine Learning
32 Natural Language Understanding
33 Foundations of Clustering
34 Affective Computing
35 Emerging Technologies
36 Natural Language Processing
37 Tpcs in Natural Lang Process
38 Trust & Online Social Networks

CS 887 Advanced Topics in Symbolic Computation (0.50) SEMCourse ID: 011095
1 Symb & Approx Sys of Equations
2 Algorithms for Linear Algebra
3 Topics in Polynomial Algebra
4 Advanced Symbolic Computation
5 Exact Linear Algebra
6 Sparsity in Math Computation

CS 888 Advanced Topics in Computer Graphics (0.50) SEMCourse ID: 011096
1 Sim Light Interact with Organi
2 Animation Production Technique
3 User Interfaces
4 Simulation:Natural Phenomenon
5 Recent Advncs in Comp Graphics
6 Rendering of Natural Phenomena
7 Typography and Layout
8 Natural Phenomena Simulation
9 High Prfrmc Interactv Systems
10 Intrctv visual prsntns of inf
11 Cmptr Graphcs for Architecture
12 Digital & Comput. Photography
13 Aesthetics & Computer Graphics
14 Implicit Surfaces
15 Physics-Based Animation
16 Transient Imaging

CS 889 Advanced Topics in Human-Computer Interaction (0.50) SEMCourse ID: 012993
1 Experimental Methods in HCI
2 Open Source Usability and HCI
3 Computer-Mediated Advertising
4 Advanced Interaction Design
5 Human-in-the-loop Systems
6 Computer Vision for HCI
7 Replication Studies

CS 898 Advanced Special Topics in Computer Science (0.50) RDG,SEMCourse ID: 011301
1 Research in Health Informatics
2 Experiment in Computer Sci
3 Text Formatting
4 Frontiers of Health Info Res
5 Health Informatics Research
6 Measure of Appear Comp Graphic
7 Kernal Mthds for Pattern Analy
8 Experimental Methods in HCI
9 Advanced Interaction Design
10 Information Retrieval
11 Quantum Complexity Theory
12 Animations for Scientific App
13 Opt Algs on Matrix Manifolds
14 Synergy Between CS and Biology
15 Adv Tpcs in Electr Publishing
16 Tech Solns for Social Implics.
17 Information Theory in Comp Sci
18 Kolgomorov Complexity & Appl.
19 Register Transfer Computation
20 Models for Biomedical Studies
21 Behavioural Neuroscience
22 Parametrized System Analysis
23 Concurrent Debugging