Search Courses

CRI3360Y - MA Research Paper

The Research Paper option for MA students is the equivalent to two half courses. It is not a thesis but it does involve original research and/or analysis. Students pursuing this option must find a suitable supervisor by October, submit a formal paper proposal in December, and submit a final paper of 8,000 to 12,000 words by the end of August in order to meet the 12-month deadline. Research papers are evaluated by the supervisor and one other faculty member. Students pursuing a part-time degree must submit a proposal by the beginning of their second year in September.

Credit Value (FCE): 1.00
Course Type: Continuous
This continuous course will continuously roll over until a final grade or credit/no credit is entered.
Campus(es): St. George
Delivery Mode: In Class

CSB1010Y - MSc Seminar Series

Annual attendance at a minimum of 24 departmental seminars.

Credit Value (FCE): 1.00
Course Type: Continuous
This continuous course will continuously roll over until a final grade or credit/no credit is entered.
Campus(es): St. George
Delivery Mode: In Class

CSB1011Y - PhD Seminar Series

Annual attendance at a minimum of 24 departmental seminars.

Credit Value (FCE): 1.00
Course Type: Continuous
This continuous course will continuously roll over until a final grade or credit/no credit is entered.
Campus(es): St. George
Delivery Mode: In Class

CSB1018H - Advanced Microscopy and Imaging

This graduate course will cover theory and practical demonstrations of current light, fluorescent and electron microscopy. The first four weeks of classes will have lectures and video demonstrations on brightfield, epifluorescent, confocal and scanning and transmission microscopy including 1:1 imaging sessions. Student presentations will occur in the remaining week of formal classes.

Credit Value (FCE): 0.50
Campus(es): Scarborough
Delivery Mode: In Class

CSB1020H - Topics in Cell and Systems Biology

This graduate module explores topics in Cell and Systems Biology according to specific subtitles. See the CSB departmental website for details.

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

CSB1021H - Topics in Cell and Systems Biology

This graduate module explores topics in Cell and Systems Biology according to specific subtitles. See the CSB departmental website for details.

Credit Value (FCE): 0.25
Campus(es): St. George, Mississauga
Delivery Mode: In Class

CSB1022H - Introduction to Research Skills and Methods

An introductory first-year cohort building course in Cell and Systems Biology. This lecture/seminar course will provide students with essential skills in hypothesis generation, experimental design, research ethics, and data analysis, including introductions to image and statistical analysis. Another focus will be developing proficiency in delivering effective presentations and crafting compelling research proposals.

Credit Value (FCE): 0.25
Enrolment Limits: Year 1 CSB graduate students (MSc and direct-entry PhD)
Campus(es): St. George
Delivery Mode: In Class

CSB1025H - Methods in Genomics and Proteomics

Genomics and proteomics have revolutionized biological research. It is now theoretically possible to fully characterize the structure, organization, regulation, and interaction of all genes, proteins, and small bioactive molecules in an organism. This is an intensive and rigorous laboratory course that will teach students how to produce and analyze data that are central to the fields of genomics and proteomics. The course is divided into three modules, the first of which focuses on genomics, the second on transcriptomics, and the third on proteomics. Each module begins with at least two wet labs where students generate data and end with computer labs where students analyze the data. In this way students will learn how to conduct an experiment from beginning to end. Techniques taught include DNA and RNA extraction, shotgun library construction, PCR, DNA sequencing, expression profiling using microarrays, 2D-gel proteome analysis, mass spectrometry and associated bioinformatics analyses such as sequence analysis and assembly, and statistical analysis of microarray and mass spectrometry data. This is an advanced laboratory and computer-based course, and assumes a strong background in molecular genetics and some prior laboratory experience.

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

CSB1472H - Computational Genomics and Bioinformatics

Recent technological advances have driven a revolution in genomics research that has had a direct impact on both fundamental research as well as direct application in nearly biological disciplines. These advances have made the generation of genomic data relatively straightforward and inexpensive; nevertheless, the data are meaningless if they cannot be properly analyzed. Computational genomics and bioinformatics are the tools we use to extract biological information from complex genomic data. This course will teach you the fundamentals of analyzing genomic data. It emphasizes understanding how core bioinformatic analyses work, the strengths and weaknesses of related methods, and the important parameters embedded in these analyses. This is not an applied methods course, nor a course to for developing new bioinformatic tools, but rather a course designed to provide you with a basic understanding of the principles underlying genome analyses. We will examine the fundamentals of sequence alignment, phylogenetic analyses, genome annotation, gene prediction, and gene expression data analysis. Theoretical, applied, and statistical issues will be addressed.

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

CSB1482H - Readings in Genome Biology and Bioinformatics

This course will focus on close reading and detailed discussion of landmark papers in genome biology and bioinformatics. Focus will be on the context of the paper, technological developments exploited (or reported) and impact on the field. Topics include: comparative, population and functional genomics, single cell genomic technologies, genome browsers, alignment and clustering algorithms. Evaluation will be focused on class discussion and presentations.

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

CSC1001H - Independent Research Project

This is an independent research course for graduate students not registered in the Department of Computer Science who are working on a research project in computer science. Enrolment in this course requires departmental approval.

Credit Value (FCE): 0.50
Grading: Credit/No Credit
Delivery Mode: In Class

CSC1500H - Fundamentals of Teaching Computer Science in Higher Education

In this course, students will learn and apply evidence-based practices in university teaching of computer science. Topics include principles of instructional design, active learning techniques, and assessment of student learning. While based on foundations in the literature, this is a practical course where students will design course materials, give a teaching demonstration, and reflect on the teaching of others. Students will develop a practice of reflecting on their own teaching, and learn to create a compelling, personal Statement of Teaching Philosophy.

Suitable for computer science graduate students interested in an academic career that includes teaching, and who would like to both be effective and enjoy their teaching.

Credit Value (FCE): 0.50
Grading: Credit/No Credit
Exclusions: THE500H1
Enrolment Limits: This course is only open to Department of Computer Science graduate students.
Campus(es): St. George
Delivery Mode: In Class

CSC2103H - Software Testing and Verification

Concepts and state-of-the-art techniques in quality assessment of software engineering; quality attributes, formal specifications and their analysis; testing, verification, and validation.

Credit Value (FCE): 0.50
Prerequisites: CSC207H1 and CSC236H1 or CSC240H1
Campus(es): St. George
Delivery Mode: In Class

CSC2104H - Formal Methods of Program Design

Using mathematics to write error-free programs. Proving each refinement; identifying errors as they are made. Program development to meet specifications; modifications that preserve correctness. Useful for all programming; essential for programs that lives depend on. Basic logic, formal specifications, refinement. Conditional, sequential, parallel, interaction, probabilistic programming, and functional programming.

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

CSC2107H - Compilers and Interpreters

The structure of compilers, Programming language processing. Scanning based on regular expressions, Parsing using context free grammars, Semantic analysis (type and usage checking), Compiler dictionaries and tables. Runtime organization and storage allocation, code generation, optimization. Use of modern compiler building tools. Course project involves building a complete compiler.

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

CSC2108H - Automated Reasoning with Machine Learning

This course introduces the cutting-edge research on combining reasoning with machine learning. We will first study the logical foundations and algorithms behind many reasoning engines, and then learn how machine learning can be used to improve complicated reasoning systems. This course will cover the following topics: Boolean Satisfiability (SAT), Satisfiability Modulo Theories (SMT), program synthesis, statistical approaches for software debugging, inductive logic programming, and neuro-symbolic systems. Extensive paper readings, in-class discussions, and project presentations are expected.

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

CSC2125H - Topics in Software Engineering

This course will discuss software engineering techniques and challenges in building modern software systems, such as machine learning systems, blockchains, and other safety-critical systems requiring high-assurance. Students are expected to do significant seminar paper reading, literature review, and presentations.

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

CSC2126H - Topics in Programming Languages

We will study programming languages viewed through the lens of their type structures, semantics, and reasoning principles. The course will cover key concepts especially in language design, functional programming, and type systems.

Credit Value (FCE): 0.50
Recommended Preparation: CSC324H1 and CSC488H1
Campus(es): St. George
Delivery Mode: In Class

CSC2130H - Empirical Research Methods in Software Engineering

This course provides an overview and hands-on experience with a core of qualitative and quantitative empirical research methods, including interviews, qualitative coding, survey design, and large-scale mining and analysis of data. There will be extensive reading with occasional student presentations about the reading in class, weekly homework assignments, and a semester-long research project for which students must prepare in-class kickoff and final presentations as well as a final report.

We will focus on software-engineering related research questions in readings and assignments. Students will mine and integrate data from and across online software repositories (e.g., GitHub and Stack Overflow) and employ a spectrum of data analysis techniques, ranging from statistical modeling to social network analysis. For the final research project, we encourage students to come up with a research question of interest to themselves. The delivery will be a research paper, and one or more empirical methods presented in class have to be part of the paper.

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

CSC2206H - Computer Systems Modelling

The emphasis of the course is on models for systems with uncertainty. We study the properties of various models and discuss how they can be applied to analyze algorithm and system performance. This course is useful for students interested in the analysis of algorithms and systems with uncertainty that arise in computer systems, reinforcement learning, social networks, online markets, etc. Concepts covered include renewal processes, Markov chains and processes, and Markov decision processes.

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

CSC2208H - Advanced Operating Systems

An in-depth exploration of the major components of operating systems with an emphasis on the techniques, algorithms, and structures used to implement these components in modern systems. Project-based study of process management, scheduling, memory management, file systems, and networking is used to build insight into the intricacies of a large concurrent system.

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

CSC2209H - Computer Networks

Computer networks with an emphasis on network programming and applications. An overview of networking basics: layering, naming, and addressing, packet switching fundamentals, socket programming, protocols, congestion control, routing, network security, wireless networks, multimedia, web 2.0, software-defined networking, and online social networks.

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

CSC2210H - Visual and Mobile Computing Systems

This course will cover key principles, techniques, and challenges associated with the design of processors, software frameworks, and algorithms to accelerate important visual computing applications including image processing, deep learning, diffusion models, implicit representations, federated learning, and robotics tasks, and in architectures such as TPUs, GPUs, and FPGAs.

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

CSC2221H - Introduction to the Theory of Distributed Computing

This course studies fundamental models and problems in distributed computing with an emphasis on synchronization and fault tolerance. Algorithms and impossibility results will both be considered.

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

CSC2222H - Applications of Parallel and Distributed Computing

This course provides advanced discussions on parallel, distributed, and cloud computing and its applications. It will discuss sources of parallelism and locality in scientific applications, common parallel algorithms used in large-scale simulations, and fundamental performance bottlenecks in scientific codes. The students will learn how to work across the stack of parallel algorithm design, mathematical reformulation, and architecture-specific performance tuning to write scalable and fast code. It is intended to be useful for students actively working with applications that benefit from parallel computing.

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

CSC2224H - Parallel Computer Architecture and Programming

The goal of this course is to build a strong understanding of the fundamentals of the architecture of parallel computers and efficient programming for them. We will examine how architectures are designed to exploit and extract different types of parallelism. The focus will be on fundamentals, trade-offs in parallel architecture design, and cutting-edge research. Architectures studied may include parallel microprocessors, GPUs, and FPGAs.

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

CSC2226H - Topics in Verification

An advanced course on verification techniques for specifying and verifying programs. Cutting-edge formal methods, program analysis, theorem proving techniques will be discussed. Students with a good background in logic are encouraged to take this course.

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

CSC2227H - Topics in the Design and Implementation of Operating Systems

This course examines the design, implementation, and analysis of selected aspects of operating systems with a focus on networked systems and the impact of emerging hardware such as persistent memory. It covers topics such as: resource naming and discovery, scheduling, and load balancing; fault-tolerance, availability, and persistence; distributed communication models; and storage. We will explore these topics in the context of a variety of system designs including local and distributed systems. This is a seminar-style course based on occasional lectures, paper presentations by students, and discussions of readings. The focus is on the principles used in the design of networked systems and algorithms and data structures used in their implementation. Readings include case studies, seminal papers, and recent conference and journal articles.

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

CSC2228H - Topics in Mobile, Pervasive, and Cloud Computing

Discussion of various research topics in mobile and pervasive applications, and the cloud or edge computing infrastructure on which they rely. Topics may include wireless technologies, disconnected operation, power and bandwidth adaptation, location awareness and tracking, resource discovery, and task offloading.

Credit Value (FCE): 0.50
Recommended Preparation: Familiarity with operating systems and computer networks (CSC2208H and CSC2209H or equivalents)
Campus(es): St. George
Delivery Mode: In Class

CSC2229H - Topics in Computer Networks

Exploration of various research topics in computer networks. Topics may include computer networks for machine learning, hyperscale data center networking, software-defined networking, multiple access communication networks, and emerging areas of networks research.

Credit Value (FCE): 0.50
Recommended Preparation: A previous course on computer networks (CSC2209H or equivalent)
Campus(es): St. George
Delivery Mode: In Class