uwloo

Computer Science (CS)

93 graduate courses in Waterloo’s course catalog for Winter 2020, from UW Open Data. uwloo can’t read that term’s Graduate Calendar, so this stands in for it; the calendar itself is in Waterloo’s archive.

CS 600 Fundamentals of Computer Science for Data Science

This course is designed for Data Science MMath students who do not have an undergraduate degree in Computer Science. It provides these students with the background needed to take Data Science graduate courses with a strong computational flavour. Topics include the following. The design and operation of processors. Memory hierarchies. Basic concepts of operating systems, concurrency, parallelism, and networks. Elementary data structures and their use in algorithm design and analysis.

LEC · Course ID 015602Graduate Calendar, Winter 2020CS 600 today

CS 631 Data-Intensive Distributed Analytics

Introduces non-CS major students to infrastructure for data-sensitive analytics, with a focus on abstractions, frameworks, and algorithms that allow developers to distribute computations across many machines. Topics include core concepts (partitioning, replication, locality, consistency), computational models (MapReduce, dataflows, stream processing, bulk-synchronous parallel), and applications.

LEC · Course ID 015519Graduate Calendar, Winter 2020CS 631 today

CS 634 Security and Privacy in Health Systems

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.

MHI Students

LEC · Course ID 014934Graduate Calendar, Winter 2020CS 634 today

CS 636 Introduction to Computer Networks and Distributed Computer Systems

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.

MHI Students

LEC · Course ID 014935Graduate Calendar, Winter 2020CS 636 today

CS 638 Principles of Data Management and Use

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.

MHI Students

LEC · Course ID 014936Graduate Calendar, Winter 2020CS 638 today

CS 642 Principles of Programming Languages

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.

LEC · Course ID 000599Graduate Calendar, Winter 2020CS 642 today

CS 644 Compiler Construction

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.

LEC · Course ID 000601Graduate Calendar, Winter 2020CS 644 today

CS 645 Software Requirements Specification and Analysis

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.

LEC · Course ID 000602Graduate Calendar, Winter 2020CS 645 today

CS 646 Software Design and Architectures

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.

LEC · Course ID 000603Graduate Calendar, Winter 2020CS 646 today

CS 647 Software Testing, Quality Assurance and Maintenance

Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.

LEC · Course ID 000604Graduate Calendar, Winter 2020CS 647 today

CS 648 Database Systems Implementation

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.

LEC · Course ID 000605Graduate Calendar, Winter 2020CS 648 today

CS 649 Human-Computer Interaction

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

LEC · Course ID 014064Graduate Calendar, Winter 2020CS 649 today

CS 650 Computer Architecture

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.

LEC · Course ID 000606Graduate Calendar, Winter 2020CS 650 today

CS 651 Data-Intensive Distributed Computing

Introduces students to infrastructure for data-intensive computing, with a focus on abstractions, frameworks, and algorithms that allow developers to distribute computations across many machines. Topics include core concepts (partitioning, replication, locality, consistency), computational models (MapReduce, dataflows, stream processing, bulk-synchronous parallel), and applications.

LEC · Course ID 015520Graduate Calendar, Winter 2020CS 651 today

CS 652 Real-Time Programming

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.

LEC · Course ID 000607Graduate Calendar, Winter 2020CS 652 today

CS 654 Distributed Systems

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

LEC · Course ID 000608Graduate Calendar, Winter 2020CS 654 today

CS 656 Computer Networks

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

LEC · Course ID 000609Graduate Calendar, Winter 2020CS 656 today

CS 657 System Performance Evaluation

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.

LEC · Course ID 000610Graduate Calendar, Winter 2020CS 657 today

CS 658 Computer Security and Privacy

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.)

LEC · Course ID 000611Graduate Calendar, Winter 2020CS 658 today

CS 662 Formal Languages and Parsing

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.

LEC · Course ID 000612Graduate Calendar, Winter 2020CS 662 today

CS 664 Computational Complexity Theory

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.

LEC · Course ID 000613Graduate Calendar, Winter 2020CS 664 today

CS 666 Algorithm Design and Analysis

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.

LEC · Course ID 000614Graduate Calendar, Winter 2020CS 666 today

CS 675 Computational Linear Algebra

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

LEC · Course ID 014065Graduate Calendar, Winter 2020CS 675 today

CS 676 Numeric Computation for Financial Modelling

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).

LEC · Course ID 000620Graduate Calendar, Winter 2020CS 676 today

CS 680 Introduction to Machine Learning

Introduction to modeling and algorithmic techniques for machines to learn concepts from data. Generalization: underfitting, overfitting, cross-validation. Tasks: classification, regression, clustering. Optimization-based learning: loss minimization, regularization. Statistical learning: maximum likelihood, Bayesian learning. Algorithms: nearest neighbor, (generalized) linear regression, mixtures of Gaussians, Gaussian processes, kernel methods, support vector machines, deep learning, sequence learning, ensemble techniques. Large scale learning: distributed learning and stream learning. Applications: Natural language processing, computer vision, data mining, human computer interaction, information retrieval.

LEC · Course ID 015521Graduate Calendar, Winter 2020CS 680 today

CS 682 Computational Techniques in Biological Sequence Analysis

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).

LEC · Course ID 011302Graduate Calendar, Winter 2020CS 682 today

CS 684 Computational Vision

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.

LEC · Course ID 000623Graduate Calendar, Winter 2020CS 684 today

CS 685 Machine Learning: Statistical and Computational Foundations

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.

LEC · Course ID 000624Graduate Calendar, Winter 2020CS 685 today

CS 686 Introduction to Artificial Intelligence

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.

LEC · Course ID 000625Graduate Calendar, Winter 2020CS 686 today

CS 687 Introduction to Symbolic Computation

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.

LEC · Course ID 000626Graduate Calendar, Winter 2020CS 687 today

CS 688 Introduction to Computer Graphics

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.

LEC · Course ID 000627Graduate Calendar, Winter 2020CS 688 today

CS 690A Literature and Research Studies

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.

RDG · Course ID 000630Graduate Calendar, Winter 2020CS 690A today

CS 690B Literature and Research Studies

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.

RDG · Course ID 000631Graduate Calendar, Winter 2020CS 690B today

CS 692 The Social Implications of Computing

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.

LEC · Course ID 000632Graduate Calendar, Winter 2020CS 692 today

CS 697 Graduate Research Skills Seminar

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.

SEM · Course ID 009076Graduate Calendar, Winter 2020CS 697 today

CS 698 Introductory Research Topics

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.

RDG · Course ID 010461Graduate Calendar, Winter 2020CS 698 today

CS 740 Database Engineering

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.

LEC · Course ID 011293Graduate Calendar, Winter 2020CS 740 today

CS 741 Non-Traditional Databases

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

LEC · Course ID 011294Graduate Calendar, Winter 2020CS 741 today

CS 742 Parallel and Distributed Database Systems

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

LEC · Course ID 000650Graduate Calendar, Winter 2020CS 742 today

CS 743 Principles of Database Management and Use

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.

LEC · Course ID 013602Graduate Calendar, Winter 2020CS 743 today

CS 744 Advanced Compiler Design

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.

LEC · Course ID 000655Graduate Calendar, Winter 2020CS 744 today

CS 745 Computer-Aided Verification

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.

LEC · Course ID 011295Graduate Calendar, Winter 2020CS 745 today

CS 746 Software Architecture

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.

LEC · Course ID 000656Graduate Calendar, Winter 2020CS 746 today

CS 754 Advanced Distributed Systems

This course provides a broad discussion of advanced topics in modern distributed systems. The course will discuss the state of the art of these systems and how and why they reached there. The course will discuss current data center hardware and software architecture, communication middleware, and how modern systems can tolerate failures, maintain data consistency, scale, leverage the new hardware capabilities, and exploit highly concurrent hardware.

Antirequisite: CS 654, CS 798 - Topic 41

LEC · Course ID 015964Graduate Calendar, Winter 2020CS 754 today

CS 755 System and Network Architectures and Implementation

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.

Antireq: CS 456, 656, 454, 654

LEC · Course ID 013603Graduate Calendar, Winter 2020CS 755 today

CS 758 Cryptography/Network Security

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.

LEC · Course ID 011590Graduate Calendar, Winter 2020CS 758 today

CS 761 Randomized Algorithms

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.

LEC · Course ID 011296Graduate Calendar, Winter 2020CS 761 today

CS 762 Graph-Theoretic Algorithms

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

LEC · Course ID 000710Graduate Calendar, Winter 2020CS 762 today

CS 763 Computational Geometry

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

LEC · Course ID 011297Graduate Calendar, Winter 2020CS 763 today

CS 764 Computational Complexity

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

LEC · Course ID 011298Graduate Calendar, Winter 2020CS 764 today

CS 765 Algorithmic Number Theory

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.

LEC · Course ID 011299Graduate Calendar, Winter 2020CS 765 today

CS 766 Theory of Quantum Information

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.

LEC · Course ID 000711Graduate Calendar, Winter 2020CS 766 today

CS 767 Advanced Logic for Computer Science

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.

LEC · Course ID 000712Graduate Calendar, Winter 2020CS 767 today

CS 768 Quantum Information Processing

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.

LEC · Course ID 011589Graduate Calendar, Winter 2020CS 768 today

CS 770 Numerical Analysis

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).

LEC · Course ID 012670Graduate Calendar, Winter 2020CS 770 today

CS 774 Advanced Computational Finance

Option pricing, hedging, model calibration, and portfolio optimization will be discussed. Computational methods, including PDE methods, Monte Carlo, and mathematical programming will be presented.

LEC · Course ID 012994Graduate Calendar, Winter 2020CS 774 today

CS 775 Parallel Algorithm in Scientific Computing

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

LEC · Course ID 011300Graduate Calendar, Winter 2020CS 775 today

CS 778 Numerical Solution of Partial Differential Equations

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.

LEC · Course ID 000724Graduate Calendar, Winter 2020CS 778 today

CS 779 Splines and Their Use in Computer Graphics

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

LEC · Course ID 000725Graduate Calendar, Winter 2020CS 779 today

CS 780 Advanced Symbolic Computation

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.

LEC · Course ID 011501Graduate Calendar, Winter 2020CS 780 today

CS 781 Colour in Computer Graphics

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.

LEC · Course ID 011467Graduate Calendar, Winter 2020CS 781 today

CS 782 Pattern Discovery in Biomolecular Data

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.

LEC · Course ID 011468Graduate Calendar, Winter 2020CS 782 today

CS 783 Computer Modeling of Biophysical Phenomena

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.

LEC · Course ID 012995Graduate Calendar, Winter 2020CS 783 today

CS 784 Computational Linguistics

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

LEC · Course ID 011288Graduate Calendar, Winter 2020CS 784 today

CS 785 Intelligent Computer Interfaces

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

LEC · Course ID 011289Graduate Calendar, Winter 2020CS 785 today

CS 786 Probabilistic Inference and Machine Learning

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

LEC · Course ID 000726Graduate Calendar, Winter 2020CS 786 today

CS 787 Computational Vision

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

LEC · Course ID 000743Graduate Calendar, Winter 2020CS 787 today

CS 788 High-Performance Image Synthesis

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.

LEC · Course ID 000747Graduate Calendar, Winter 2020CS 788 today

CS 789 User Interface Tools

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

LEC · Course ID 011290Graduate Calendar, Winter 2020CS 789 today

CS 791 Non-Photorealistic Rendering

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.

LEC · Course ID 012996Graduate Calendar, Winter 2020CS 791 today

CS 792 Data Structures and Standards in Health Informatics

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.

LEC · Course ID 013604Graduate Calendar, Winter 2020CS 792 today

CS 794 Optimization for Data Science

Techniques for formulating data science models as optimization problems. Algorithms for solving data science problems with an emphasis on scalability, efficiency and parallelizability including gradient-descent based algorithms, derivative-free algorithms, and randomized algorithms. Theoretical analyses of algorithms and approaches for recognizing the most suitable algorithm for solving a particular problem.

LEC · Course ID 015821Graduate Calendar, Winter 2020CS 794 today

CS 795 Fundamentals of Optimization

Linear optimization: Farkas' Lemma, duality, Simplex method, geometry of polyhedra. Combinatorial optimization: integrality of polyhedra, total unimodularity, flow problems, weighted bipartite matching. Continuous optimization: convex sets, Separation Theorem, convex functions, analytic characterizations of convexity, Karush-Kuhn-Tucker Theorem.

LEC · Course ID 012176Graduate Calendar, Winter 2020CS 795 today

CS 798 Advanced Research Topics

LEC · Course ID 000753Graduate Calendar, Winter 2020CS 798 today

CS 840 Advanced Topics in Data Structures

SEM · Course ID 011084Graduate Calendar, Winter 2020CS 840 today

CS 842 Advanced Topics in Language Design and Implementation

SEM · Course ID 011085Graduate Calendar, Winter 2020CS 842 today

CS 846 Advanced Topics in Software Engineering

SEM · Course ID 011086Graduate Calendar, Winter 2020CS 846 today

CS 848 Advanced Topics in Data Bases

SEM · Course ID 011087Graduate Calendar, Winter 2020CS 848 today

CS 850 Advanced Topics in Computer Architecture

SEM · Course ID 011088Graduate Calendar, Winter 2020CS 850 today

CS 854 Advanced Topics in Computer Systems

SEM · Course ID 011089Graduate Calendar, Winter 2020CS 854 today

CS 856 Advanced Topics in Distributed Computing

SEM · Course ID 011090Graduate Calendar, Winter 2020CS 856 today

CS 858 Advanced Topics in Cryptography, Security and Privacy

SEM · Course ID 012992Graduate Calendar, Winter 2020CS 858 today

CS 860 Advanced Topics in Algorithms and Complexity

SEM · Course ID 011091Graduate Calendar, Winter 2020CS 860 today

CS 867 Advanced Topics in Quantum Computing

The course description will vary according to the topic offered under this course title.

SEM · Course ID 013470Graduate Calendar, Winter 2020CS 867 today

CS 869 Advanced Topics in Logic Design

SEM · Course ID 011092Graduate Calendar, Winter 2020CS 869 today

CS 870 Advanced Topics in Scientific Computation

SEM · Course ID 011093Graduate Calendar, Winter 2020CS 870 today

CS 882 Advanced Topics in Bioinformatics

SEM · Course ID 011304Graduate Calendar, Winter 2020CS 882 today

CS 885 Advanced Topics in Computational Statistics

SEM · Course ID 015786Graduate Calendar, Winter 2020CS 885 today

CS 886 Advanced Topics in Artificial Intelligence

SEM · Course ID 011094Graduate Calendar, Winter 2020CS 886 today

CS 887 Advanced Topics in Symbolic Computation

SEM · Course ID 011095Graduate Calendar, Winter 2020CS 887 today

CS 888 Advanced Topics in Computer Graphics

SEM · Course ID 011096Graduate Calendar, Winter 2020CS 888 today

CS 889 Advanced Topics in Human-Computer Interaction

SEM · Course ID 012993Graduate Calendar, Winter 2020CS 889 today

CS 898 Advanced Special Topics in Computer Science

SEM · Course ID 011301Graduate Calendar, Winter 2020CS 898 today