UW Logo

CS343: Concurrent and Parallel Programming

Supported by the Instructional Support Group

University of Waterloo : Faculty of Mathematics : School of Computer Science : CS343 Home Page


All assignments must be done individually, unless the assignment is explicitly designated as a group assignment. All members of a group receive the same grade (no exceptions). Only one member of a group submits the assignment. The instructors/staff do not arbitrate group disputes; group members must handle any and all problems. A group assignment may be done individually, but it must be understood that the amount of work is significantly greater and no extra marks are given for this additional work.

Review the Assignment Guidelines and C++ Coding Guidelines before starting each assignment. You will lose marks if these guidelines are not followed.

# % Topics (tentative) Assignment Material Due Date
1 6 exceptions, semi-coroutines assignment, Makefile, q1 code, q2 code, q3 code, q3 executable Sep 18 (Wed)
2 6 semi/full-coroutines, tasks Oct 2 (Wed)
3 6 synchronization, mutual exclusion, simple locks Oct 23 (Wed)
4 6 complex locks Nov 6 (Wed)
5 6 monitors, tasks Nov 20 (Wed)
6 10 administrator, future (group of 2) Dec 3 (Tue) SPECIAL LATE


Assignment submission is electronic. Use the submit command to electronically copy assignment files to the course account:

  submit cs343 N dir where N=1..5

Submission Information

Read the output from submit carefully, as error messages may appear at the top. Verify files submitted against expected files. Check time stamps and sizes to be sure you have submitted the correct versions.

Current assignment number: 1

Compilation Request

After submitting an assignment, you can verify if your makefile is correctly formed. Select the assignment number and press the button to start the request.

Current assignment number: 1

This facility checks you have:

  1. submitted a makefile or Makefile
  2. submitted all required pieces of code
  3. makefile works properly with GNU make
  4. no compilation errors

Tests are run and results emailed to the specified userid every 5 minutes. Delays can occur if email is backlogged or if the system is heavily loaded.




MOSS (Measure of Software Similarities) is used to compare student assignments to ensure academic integrity.

Returning and Remarking

Work Environment

Assignments must compile and run on one of the linux.student.cs computers. See CPU/Applications Hosts for a complete list of server computers.

Valid XHTML 1.0 Strict