CS 231: Algorithmic Problem Solving

Contact information

You can contact course personnel in office hours and using Piazza, as detailed below. Please limit your use of email to personal issues that require private discussion; general questions should be posted to Piazza. Email to the IA can be sent to cs231@uwaterloo.ca.

Note: If you decide to email course personnel, you must use your uwaterloo email account; otherwise we cannot verify who you are and are limited on what we can accept and respond to.

Whom to contact for various issues

Help Topic Contact
Assignment help: Piazza or office hours
Assignment remark: Email IA
Assignment submission error: Describe your submission error in an email to the IA or post to Piazza. Keep trying to submit to Markus in the meantime. We do not accept e-mailed assignments.
Error in course website: Email IA
Error in course slides or resources: Email course instructor
Error in mark entry: For assignments or midterms:Email IA
Exam seating See instructions on the exams page
Lecture questions: Piazza or office hours
Midterm remarks: See instructions on the grading page
Missed assignment/midterm/final exam: Karen Anderson (CS 231 ISC)


  • N. Nishimura

ISG Coordinator
  • Karen Anderson

Instructional Apprentice (IA)
  • Kevin Wu

Senior ISA (part-time)
  • Sylvie Davies


Office hours

We will be holding both group and individual office hours, probably through MS Teams. The times may depend on the results of our polling to figure out what will suit you best. Please see LEARN for announcements of further details.

If you are unable to be available during an office hour but have a question you would like to be addressed, please post your question to Piazza with the tag OfficeHourRequest. Group office hours will be recorded and posted on LEARN for later viewing.

As needed, additional video explanations may be posted to LEARN, based on either office hours or written questions to Piazza.


A discussion forum for the course has been set up on Piazza. Due to the lack of in-person interactions this term, Piazza will be the main way in which you will be asking questions about lecture material and interacting with your classmates. Please read the instructions and guidelines below before posting any questions.

Setting up your account

An email from the Piazza Team will be sent to your uwaterloo email address. Please follow the steps provided below.

  1. Check your uwaterloo email account for the email from the Piazza Team. If the email is not there, then you may have changed your email settings to forward all your uwaterloo emails to another email account. If the email cannot be found in any of your email accounts, then please email cs231@uwaterloo.ca.
  2. The email will contain a link to activate your Piazza account and set your password. It is imperative that you provide your first and last name when creating your account so that we can easily contact you should any problems arise.
  3. After activating your account, you will be redirected to the CS 231 class discussion forum. Click on the drop down arrow in the top right-hand corner and click on Account/Email Settings. A dialog box will appear on the screen. Under "Preferences for Email Notifications", select "No Emails". It is important that "Real Time" is NOT selected; otherwise, you will receive an email every time another student posts on Piazza.

Using Piazza

To post a question on Piazza, click on "New Post" at the top of the page. You can choose to post a question or post a note. Use a question if you expect an answer, and a note otherwise.

On every question posted on Piazza, there is a students' response box where you can answer other students' questions or edit a previous response to include additional information. If you have followup questions on the original question, please use the followup discussions box.

Course personnel will be checking Piazza regularly to answer student questions and to monitor student behaviour on Piazza. Please read the guidelines below to avoid committing any offence while using Piazza.


Here are some guidelines that you should keep in mind when posting messages.

  1. Please remember that everything you post is public -- everyone will be reading it. As a result, in any posts you make to Piazza, do not give away any information about assignment solutions -- this could be construed as cheating. If you have questions about an assignment that require you to give specific details of your solution, visit office hours or send email to cs231@uwaterloo.ca. We have disabled the "anonymous" posting capability (although you will have the option of appearing anonymous to your fellow classmates but not to instructors).
  2. Please do not post any assignment code on Piazza, even as a private message. Visit office hours for any code-related questions.
  3. Limit posts on Piazza to those related to the course. Do not use Piazza for posting "test" posts or unrelated material.
  4. Make use of Piazza's excellent search facilities before posting a question. Please help keep Piazza from getting so cluttered with repeated questions that it becomes too cumbersome to be useful to you and your fellow students.
  5. Make it easy for other students to find your question.
    • Use a meaningful subject heading. "Help" and even "Help for a03q3" is not very meaningful. "Clarify contract restrictions for a03q3" is much better.
    • Tag your post with all the applicable tags. Start a tag by typing the hash character (#). A drop-down list of tags that are currently in use will appear. Use one of them, if applicable. If not, create a new one. However, any tag you create should be applicable to many posts, not just yours.
  6. Make sure that your post contains useful information. Posts like "I have the same question" or "I agree with this comment" serve no useful purpose, and waste people's time.
  7. Please keep complaints about the course out of Piazza. If you have a concern about anything to do with the course, the best way to deal with it, and to get results, is to take it to the instructor. Piazza is not a complaint forum.
  8. Please be respectful of your peers and others in your posts.