Search Courses

CSC2414H - Advanced Topics in Complexity Theory

Credit Value (FCE): 0.50
Delivery Mode: In Class

CSC2415H - Advanced Topics in the Theory of Distributed Computing

An advanced course on topics in the theory of distributed computing. Topics may include impossibility results or papers from the current literature. Students with a good background in complexity theory are welcome to take the course, provided they are willing to do some background reading.

Credit Value (FCE): 0.50
Recommended Preparation: A course in theory of distributed computing, such as CSC2221H
Campus(es): St. George
Delivery Mode: In Class

CSC2417H - Algorithms for Genome Sequence Analysis

In this course we will explore the computational problems that have emerged from genome sequencing. The topics will include the string algorithms used for the classic sequence alignment and genome assembly problems, algorithms for comparing genomes, sequence classification using probabilistic models and algorithms for analyzing gene expression data. Throughout the course a special emphasis will be made on efficient algorithms designed to meet the challenges of rapidly growing data sets in the current era of high-throughput genome sequencing. The course is intended for Computer Science graduate students. All the required biology will be explained in the class. Students in biological and related sciences with a strong computational background are encouraged to participate.

Credit Value (FCE): 0.50
Delivery Mode: In Class

CSC2419H - Topics in Cryptography

This course will cover recent advancements in theoretical cryptography. These include proof systems, secure computation protocols, lattice-based cryptography, quantum cryptography, and program obfuscation. Students enrolled in this course are expected to have good mathematical maturity and should have completed undergraduate courses in discrete mathematics, algorithms, and complexity theory.

Credit Value (FCE): 0.50
Delivery Mode: In Class

CSC2420H - Algorithm Design, Analysis and Theory

This course serves as an introduction to algorithm design at the graduate level. It is a foundational course, appropriate for students in computer science, computer engineering, and mathematics, but is also of interest to students looking for research topics in the theory of algorithms. We cover both topics normally discussed in an undergraduate algorithms courses, as well as some more advanced topics. Some sample topics are: standard algorithmic paradigms such as greedy, local search and dynamic programming algorithms, and precise models for them; combinatorial and convex optimization, including the theory of linear programming, online optimization, and stochastic optimization; streaming algorithms; randomized algorithms; primal-dual algorithms; approximation algorithms; approximate near neighbour search; and mechanism design.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2421H - Topics in Algorithms

This course focuses on research topics in algorithm design and analysis. Special focus will be given to understanding various desiderata for algorithms (such as running time, approximation to an objective, and fairness) and learning advanced techniques for designing and analyzing algorithms for fundamental computational problems (or proving the impossibility of these problems).

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2426H - Fundamentals of Cryptography

Cryptography is a branch of computer science that aims at building secure systems that protect sensitive information against adversarial attacks. It allows us to construct systems that enable private communication over public channels, systems that prevent tampering of data during transmission, systems that enable us to securely outsource data and computation to external entities like cloud service providers, and many more. These systems are crucial in ensuring the security of communication and computation happening over the internet. In this course, we will study the theoretical foundations of cryptography and the theory behind constructing such secure systems. Specifically, we will first study how to rigorously define the security properties that these systems need to satisfy. We will then look at how to construct these systems and formally prove that the constructed systems satisfy these security properties. Students taking this course are expected to have completed undergraduate-level courses on discrete mathematics, algorithms, and complexity theory. As this course will be theoretical, students are expected to have good mathematical maturity and should be comfortable with writing proofs.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2427H - Topics in Graph Theory

An advanced course on a topic in graph theory. Topics will change from one instance of the course to another. Some examples of past topics are: random graphs; graph colouring; the probabilistic method.

Credit Value (FCE): 0.50
Delivery Mode: In Class

CSC2429H - Topics in the Theory of Computation

An advanced course on topics in theoretical computer science. Topics will change from one instance of the course to another, and can include algorithms, advanced data structures, complexity theory, cryptography, discrete mathematics, distributed computing, graph theory, privacy, pseudorandomness, social choice, quantum computation, as well as topics from other theoretical areas. The course is suitable for students with background in theoretical computer science, or with an interest in the course and motivation to do background reading.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2431H - Topics in Computational Biology and Medicine

This course will introduce students to the variety of ways that computational methods are utilized in modern medicine. The topics will include the use of probabilistic and deterministic techniques in the analysis of genomic data, machine learning, and NLP to analyze medical texts, HCI considerations for medical software, as well as other topics. While we will not cover any particular CS research area in depth, the students are expected to have a broad computational background to be able to read research literature in a variety of subject areas, as well as the ability to do independent exploration of topics in medicine.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2451H - Quantum Computing, Foundations to Frontier

This course will give a broad overview of the field of quantum computing. We will start with a crash course in the fundamentals of quantum computing (qubits, quantum circuits, basic quantum algorithms such as Grover's search algorithm and Shor's factoring algorithm). Armed with the basics, we will then explore topics at the frontier of quantum computing: quantum complexity theory, device-independent quantum cryptography, quantum machine learning algorithms, and quantum supremacy. Students will make project presentations at the end of the course. This is a theoretical course that requires mathematical maturity and a strong background in linear algebra and probability theory. Familiarity with analysis of algorithms and complexity theory is a major plus but not required. No physics background will be assumed.

Credit Value (FCE): 0.50
Exclusions: MAT1751H
Campus(es): St. George
Delivery Mode: In Class

CSC2501H - Computational Linguistics

Computational linguistics and the processing of language by computer. Topics include: language models; context-free grammars; chart parsing, statistical parsing; semantics and semantic interpretation; ambiguity resolution techniques; reference resolution. Emphasis on statistical learning methods for lexical, syntactic, and semantic knowledge.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2502H - Knowledge Representation and Reasoning

Representing knowledge symbolically in a form suitable for automated reasoning, and associated reasoning methods. Topics from: first-order logic, entailment, the resolution method, Horn clauses, procedural representations, production systems, description logics, inheritance networks, defaults and probabilities, tractable reasoning, abductive explanation, the representation of action, planning.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2503H - Foundations of Computer Vision

Introduction to vision, visual processes, and image understanding. Camera system geometry and image acquisition. Scene lighting and reflectance models. Image and object classification. Generative models. 3D vision. Temporal sequence/video analysis. Combining vision with other modalities.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2504H - Computer Graphics

Identification and characterization of the objects manipulated in computer graphics, the operations possible on these objects, efficient algorithms to perform these operations, and interfaces to transform one type of object to another. Display devices, display data structures and procedures, graphical input, object modelling, transformations, illumination models, primary and secondary light effects; graphics packages and systems. Students, individually or in teams, implement graphical algorithms or entire graphics systems.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2506H - Probabilistic Learning and Reasoning

An introduction to probability as a means of representing and reasoning with uncertain knowledge. Qualitative and quantitative specification of probability distributions using probabilistic graphical models. Algorithms for inference and probabilistic reasoning with graphical models. Statistical approaches and algorithms for learning probability models from empirical data. Applications of these models in artificial intelligence and machine learning.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2508H - Advanced Data Systems

The course examines how fundamental building blocks of data systems such as indexing, query processing, execution and optimization are influenced by Machine Learning. We will cover the fundamentals of instance optimization both for relational and information retrieval systems: these include workload adaptive indexing, neural retrieval and ranking, workload-based optimization strategies for query execution as well as instance-optimized performance prediction and infrastructure sizing.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2511H - Natural Language Computing

Introduction to techniques involving natural language processing and speech in applications such as information retrieval, speech recognition and synthesis, machine translation, summarization, and dialogue. N-grams, corpus analysis, neural methods, and information theory. Python and other software.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2512H - Advanced Propositional Reasoning

Many problems in Computer Science can be represented as instances of propositional reasoning problems. For example, any problem in NP can be represented as a SAT problem (Boolean Satisfiability) since SAT is complete for the class NP. For many problems, their representation in SAT is very natural, and more importantly, can often be effectively solved by a general purpose SAT solver. This means that instead of developing and implementing a problem specific algorithm, we can often solve our problems by the much simpler device of encoding them into SAT and then using a SAT solver. Surprisingly, the SAT solver can often outperform problem specific algorithms.

In this course you will be introduced to the basic algorithms that are used to SAT and other types of propositional reasoning problems. In addition, we will discuss various encoding techniques for translating various problems into SAT — the encoding used can have a dramatic effect on performance. Besides problems that can be encoded into SAT we often need to deal problems that require some form of optimization, or some form of quantification (e.g., to reason about two person games). Such problems can be encoded as MAXSAT problems, or QBF problems. We will also cover algorithms for solving these kinds of propositional problems.

The aim of the course is to provide you with the background needed to exploit modern SAT–MAXSAT–QBF solvers in your own work. Knowledge of the basics of propositional logic; be familiar and comfortable with programming, data structures and algorithms.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2513H - Critical Thinking for Human Computer Interaction

This course will teach the students how to think critically about the design, development, and applications of computer science in human life. It will introduce the students to several critical theories from the social and political sciences and teach them how to analyze a computing system using those theories. The students will also learn how such critical thinking can then be used to design and develop innovative, fairer, and more ethical computing systems. The students will have weekly reading assignments and in-class design/discussion sessions. They will be asked to submit one midterm paper in the middle of the semester. The students will also submit a project at the end of the course. The final grade will be based on the reading responses, in-class participation in the discussions, midterm paper, and final project.

Credit Value (FCE): 0.50
Prerequisites: CSC318H1 or equivalent, or permission of the instructor.
Delivery Mode: In Class

CSC2514H - Human-Computer Interaction

Understanding human behaviour as it applies to user interfaces: work activity analysis, observational techniques, questionnaire administration, and unobtrusive measures. Operating parameters of the human cognitive system, task analysis and cognitive modelling techniques, and their application to designing interfaces. Interface representations and prototyping tools. Cognitive walkthroughs, usability studies, and verbal protocol analysis. Case studies of specific user interfaces.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2515H - Introduction to Machine Learning

Machine learning (ML) is a set of techniques that allow computers to learn from data and experience, rather than requiring humans to specify the desired behaviour manually. This course introduces the main concepts and ideas in ML and provides an overview of many commonly used machine learning algorithms. It also serves as a foundation for more advanced ML courses.

The students will learn about ML problems (supervised, unsupervised, and reinforcement learning), models (linear and nonlinear, including neural networks), loss functions (squared error, cross entropy, hinge, exponential), bias and variance trade-off, ensemble methods (bagging and boosting), optimization techniques in ML, probabilistic viewpoint of ML, etc.

Credit Value (FCE): 0.50
Exclusions: ECE1513H
Campus(es): St. George
Delivery Mode: In Class

CSC2516H - Neural Networks and Deep Learning

An introduction to neural networks and deep learning. Backpropagation and automatic differentiation. Architectures: convolutional networks and recurrent neural networks. Methods for improving optimization and generalization. Neural networks for unsupervised and reinforcement learning.

Credit Value (FCE): 0.50
Exclusions: MIE1517H
Campus(es): St. George
Delivery Mode: In Class

CSC2517H - Discrete Mathematical Models of Sentence Structure

An introduction to the principal mathematical models of sentence structure used in computational linguistics today. Topics include: string matching and similarity, string and tree transducers, extended context-free formalisms, tree-adjoining grammar, substructural logics, discourse representation calculi, typed feature structures, and topological models. Parsing, algorithmic complexity, algebraic properties, and formal equivalence will be discussed. A basic knowledge of logic, formal language theory, and graph theory is required. Some familiarity with syntactic theory will be helpful, but is not assumed.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2518H - Spoken Language Processing

This is a graduate course broadly on topics of speech processing by machine including digital signal processing, automatic speech recognition, and speech synthesis. systems. Topics include: articulatory and acoustic phonetics, prosody and information structure, introduction to digital signal processing of speech, automated speech recognition, text-to-speech synthesis, language models, dialogue modelling and dialogue systems.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2520H - Geometry Processing

The class is aimed at preparing students for working with geometric data via understanding fundamental theoretical concepts. Extending traditional signal processing, geometry processing interprets three-dimensional curves and surfaces as signals. Just as audio and image signal data can be filtered, denoised, and decomposed spectrally, so can the geometry of a three-dimensional curve or surface. In this course, we study the algorithms and mathematics behind fundamental operations for interpreting and manipulating geometric data. These essential tools enable: geometric modeling for computer aided design, life-like animations for computer graphics, reliable physical simulations, and robust scene representations for computer vision.

Topics include: discrete curves and surfaces, curvature computation, surface reconstruction from point clouds, surface smoothing and denoising, mesh simplification, parameterization, symmetry detection, shape deformation and animation.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

CSC2521H - Topics in Computer Graphics

This course will cover advanced aspects of graphics and computer animation. It will be offered in a seminar-style format involving readings of academic papers, student-led presentations, and a course project.

Credit Value (FCE): 0.50
Recommended Preparation: CSC317H1 with CSC417H1 is a plus. Participants are expected to be familiar with basic concepts in graphics as there will be very little introductory matter offered during the seminar.
Campus(es): St. George
Delivery Mode: In Class

CSC2523H - Object Modelling and Recognition

The shape of an object is a key feature for object categorization, and is invariant to changes in colour, texture, and illumination: a car with a leopard-skin paint job is not mistaken for a leopard, nor is an elephant painted with stripes mistaken for a zebra. How shape is perceived in the human visual system can both inform and inspire how shape can be represented and recovered in a computer vision system. This interdisciplinary graduate research seminar, suitable for students in human or computer vision, will examine shape perception from this dual perspective. Through a discussion of seminal research papers in both human and computer vision, the course will explore both classical and current models of shape perception, along with the challenges both communities face. Through individual course projects, students will be given the opportunity to explore a shape perception topic of their choice in greater depth.

Credit Value (FCE): 0.50
Delivery Mode: In Class

CSC2524H - Topics in Interactive Computing

This course will cover interactive computing and technologies from the perspective of human-computer interaction. It will be offered in a seminar-style format involving readings of academic papers, student-led presentations, and a course project.

Credit Value (FCE): 0.50
Recommended Preparation: CSC428H1 or CSC2514H or equivalent.
Campus(es): St. George
Delivery Mode: In Class

CSC2525H - Research Topics in Database Management

This is a research topics course in database management. Topics will vary from year to year.

Credit Value (FCE): 0.50
Recommended Preparation: A previous database systems course
Campus(es): St. George
Delivery Mode: In Class