Special topics courses are developed to complement existing courses, and cover emerging issues or specialized content not represented in our main curriculum. See the Centre's website for annual offering details.
Special topics courses are developed to complement existing courses, and cover emerging issues or specialized content not represented in our main curriculum. See the Centre's website for annual offering details.
Special topics courses are developed to complement existing courses, and cover emerging issues or specialized content not represented in our main curriculum. See the Centre's website for annual offering details.
Under the direction and supervision of one or more members of the graduate faculty (core or cross-appointed), a course of specially directed readings and research in an area of criminology that is not adequately covered by other graduate courses available within the University, can be undertaken. This course will not be available to any student for credit without the approval of the Graduate Coordinator. Before such approval will be granted, a program of study, together with an indication of the written assignments, which students will be required to complete, and the criteria for evaluation of students, must be submitted for approval. With approval of the Graduate Coordinator, students may take up to two Directed Reading or Research courses taught by different faculty members.
Under the direction and supervision of one or more members of the graduate faculty (core or cross-appointed), a course of specially directed readings and research in an area of criminology that is not adequately covered by other graduate courses available within the University, can be undertaken. This course will not be available to any student for credit without the approval of the Graduate Coordinator. Before such approval will be granted, a program of study, together with an indication of the written assignments, which students will be required to complete, and the criteria for evaluation of students, must be submitted for approval. With approval of the Graduate Coordinator, students may take up to two Directed Reading or Research courses taught by different faculty members.
This course examines various aspects of the Canadian sentencing system. While this course is primarily legal in its orientation, the aim is to augment the discussion of sentencing issues with philosophical and criminological literature. The course commences with a consideration of the philosophical dimensions of sentencing and an examination of certain empirical issues, such as problems in assessing the efficacy of deterrence theory. During the course, considerable emphasis is placed on legislative and judicial approaches to the sentencing function and the procedural aspects of the Canadian sentencing system. Other topics for consideration include: the role of the victim, social context, sentencing Indigenous offenders, anti-Black racism, mandatory minimum sentences, and plea arrangements. The course also offers the opportunity to attend a busy plea court and a discussion a provincial court judge.
This course examines contemporary issues in youth culture, youth crime, and youth justice. The course will begin by discussing the definition of "youth" and how this concept has changed through time. The course will then address a number of contemporary youth-related topics including: 1) Trends in youth crime and reporting to the police; 2) The impact of television, movies, and video games on youth behaviour; 3) The relationship between hip-hop music, youth resistance, and youth violence; 3) The causes and consequences of street gangs; 4) Race, policing and criminal justice; 5) Perceptions of social injustice, youth radicalization, and crime; 6) Cyberbulling; 7) Sexting and youth gender relations; 8) Recent developments in youth justice; and 9) The implementation of evidence-based youth punishment and crime prevention policies.
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.
Annual attendance at a minimum of 24 departmental seminars.
Annual attendance at a minimum of 24 departmental seminars.
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.
This graduate module explores topics in Cell and Systems Biology according to specific subtitles. See the CSB departmental website for details.
This graduate module explores topics in Cell and Systems Biology according to specific subtitles. See the CSB departmental website for details.
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.
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.
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.
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.
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.
Concepts and state-of-the-art techniques in quality assessment of software engineering; quality attributes, formal specifications and their analysis; testing, verification, and validation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.