COMP 3730 - Introduction to Parallel Programming

Parallel programming considers the fundamental aspects of programming for parallel architectures. Almost all modern computers contain multiple processing units, since individual processors have effectively reached peak performance. This course will focus on the considerations and challenges of writing parallel programs, particularly for multicore processors and graphics processing units. Topics will include threaded programming, vectorization, parallel design patterns, synchronization and workload balancing, high-performance computing, remote procedure calls, detecting failures, and cloud systems.

Looks like delivery of this new course will be delayed to Fall 2024.

COMP 4304 / 6934 - Data Visualization

Data visualization is the art of creating images based on data. Visualizations enable users to efficiently explore, understand, and extract insights from data. This course is centred on data visualization for data science, and covers three broad topics. One is the tools of data visualization, specifically Python visualization libraries inside of a Jupyter notebook environment. The second topic will be standard types of visualizations for different types of data. The third topic will be on the theoretical aspects of data visualization, such as viewer perception and best practices for good visualizations.

In the 2021-2022 academic year, I re-designed this course from scratch to layer in practical data visualization examples and advice based upon my industrial experience in data science.

A sample lecture from the data visualization course is available online. Want to see more? You'll need to take the course.

Past Courses

  • COMP 2002 - Data Structures and Algorithms (Fall 2022, Fall 2023)
  • COMP 4304 - Data Visualization (Fall 2021, Winter 2023, Winter 2024)
  • COMP 6934 - Introduction to Data Visualization (Fall 2021, Winter 2023, Winter 2024)