The course project can be done individually or in teams of two. For the course project you have two topic choices:
- Concurrency Paper: Write a paper providing an overview of concurrency in a language not covered during the lectures. Your paper should include a description of the different concurrency mechanisms with examples and you should also make an effort to describe how the concurrency mechanisms differ from those discussed in class.
- Concurrent Program: Create a concurrent program that demonstrated your understanding of the concurrency concepts discussed in class. For example, create a program with OpenMP and a separate version with POSIX threads and compare the performance. You will need to submit a short performance report with your concurrent program.
All project topics must be approved by the instructor. You should submit the title and a short abstract of your topic as a direct message in Slack by Monday, March 11, 2019.
All projects include a final presentation that will take place 11:00am to 2:00pm on Friday, April 12, 2019 (location: Science Building, room UA3140). If you have an exam conflict or are unavailable to attend please contact your instructor to make alternative arrangements. Presentations should be 5 minutes in length and will be followed by 1-2 questions.
- Concurrent Go – Norman Lo
- Parsing GTFS Files Concurrently – Brandon Campbell
- Concurrent and Parallel Programming in Haskell – Andre Dallaire
- A Simulated Planetary Landing – Aaron Williams
- Stock Market Prediction – Bevan Donbosco, Mohammed Alhaq
- Parallel Shortest Path Finding – Brian Domingo, Christien Soosaipillai
- Parallelization of 0/1 Knapsack Problem – Colin Orian, Ibrahim Mushtaq
- Parallel TensorFlow – Colin Shaw
- Searching with OpenMPI in C++ – Daniel Bullock, Gavin Gosling
- Parallel Jaccard Similarity with OpenMP and POSIX Threads – Eyaz Rehman
- Parallel Matrix Multiplication – Josh Lemmon
- Parallel K-Nearest Neighbours Algorithm – Kevin Desousa, Matt Chan
- Exploring the Nvidia Cuda Platform – Leonard Zbona
- Concurrent Raytracing Renderer – Marc Tremblay
- Multithreaded Programming in Cilk Plus – Mitchell Childerhose, Shayne Taylor
- Parallel Genetic Algorithm – Miral Panchal, Muhammad Faizan Ali
- Parallel Sequence Alignment – Musabbir Baki, Kabilan Manogaran
- Automated Parallelization of Sequential C++ – P.J. Walton
- Parallelization in Database Systems – Stacey Koornneef, Ryan Jay
- OpenACC – Taabish Jeshani, Jonathan Perry
- Concurrent Python – Tehseen Chaudhry, Samatar Mumin
- Concurrent File Compression – Thomas Blain
- Concurrency in Java – Devon McGrath
- Parallel Programming in Julia – Spencer Bryson, Lachlan Johnston