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

Sources of Help

Lecture Material

The best source for help on topics covered in the course lectures are:

Course Textbook

providing supplementary explanations not provided in the lectures or course notes.

Course Lecturer

who should be available through office hours or appointment by sending an e-mail message.

Computer Systems and Software

The best source varies depending upon the sort of knowledge required.

Computer Science Computing Facility (CSCF)

Math Faculty Computing Facility (MFCF)


Always look to see if an online man page exists first (use the man topic or man -k <keyword> command). If you cannot find anything, see the consultants.


To find out the status of your printouts, first find out the status of the printer (lpq -P<printer-name>). man lpr, man lpq, man lprm, and man printers all give you useful information.


Assignment Guidelines

See the Assignment Guidelines section of the Lab Notes. You may also want to look at the General Programming Style.

Assignment Content and Deadlines
Programming Language
  1. Read carefully any text on the programming language in use.

  2. If you are programming in C or C++, check the online man pages or course links for any possible syntax deviations or required #include files.

  3. Talk to an MFCF consultant.

  4. Post your question to the course newsgroup via the command Pnews or postnews. This is the ideal solution if you feel that an answer to your question would also benefit others. However, make sure you read the newsgroup first to see if anyone else has already asked the question.

  5. If you feel that your question is not general enough that posting it to the course newsgroup would benefit others, send e-mail to the course account cs343@student.cs. Most questions should be directed to either the course newsgroup or to the course account via e-mail.

Code Debugging

You are expected by this point to be able to debug most of your code yourself. By careful examination of your code, adding extra output statements, and use of an interactive debugger, such as gdb, you should be able to locate and correct most of your bugs. A GDB tutorial is available from the course web page.

If you absolutely cannot get any further, arrange an appointment with the Instructional Assistant or see him/her during office hours. If you decide to see the Instructional Assistant:

  1. You must bring a paper copy of your code and output that illustrates the problem. Print all debugging output to cerr/uCerr. Use script to help trap output.

  2. You must be able to show the Instructional Assistant that you have made some reasonable attempt at trying to locate the general problem.

  3. If you are there to get some answers, please have your questions ready.

Without these, you will be sent away until you can show that you have made some attempt at finding the problem. Debugging code from scratch takes too much time away from others who also need help.

Marking and Grades

Whenever an assignment or midterm is handed back, a deadline for re-marking the paper in question is specified (usually in the course newsgroup). After the deadline has passed, a paper is not re-marked.

Addition Errors

Bring to the Instructional Assistant. If the Instructional Assistant is not available, attach a note to the assignment explaining the problem and slide it under the office door.

Marking Errors

Determine which TA marked the question by examining the initials that should be marked on the marking scheme. Explain to the TA why you feel your question should have been marked differently. You should see the TA during his/her posted office hour (listed on the course web page) or, if that is not possible, arrange an appointment via e-mail. If you cannot reach the TA before the deadline, bring the assignment in question to the Instructional Assistant with a note attached explaining why you feel your question should have been marked differently.

If the TA agrees to change the mark, he or she must initial the change and the paper must be brought to the Instructional Assistant so that the change can be recorded. If, after talking to the TA, you still feel that you should have received additional marks and the TA does not agree, bring the assignment to the Instructional Assistant for arbitration.


Grades are posted electronically at regular intervals. If a grade has been recorded incorrectly, the paper with the correct grade must be brought to the Instructional Assistant before the mark can be changed. Final grades cannot be posted before the end of the exam period because of Mathematics Faculty policy. A note is posted in the course newsgroup when the final grades are available.

Office Hours

Office hours are to be used for:

  1. Answering questions you feel cannot be answered by either e-mail or the newsgroup.
  2. Pleading personal cases over something.
  3. Help in performing minor code debugging.

The Course Lecturer should announce his or her office hours in his or her lecture. The Instructional Assistant will have his or her office hours posted to the newsgroup. The Teaching Assistant office hours are only to be used to discuss questions about the mark received on an assignment.

Please do not come by outside of office hours unless you have made an appointment.

Valid XHTML 1.0 Strict