CS 135: Designing Functional Programs

Home

This is the home page for CS 135, an introductory computer science course at the University of Waterloo using the functional language Racket. See the Course Philosophy page for official descriptions of the course, and the Calendar page for a detailed set of topics.

Announcements

This section will contain late-breaking announcements in reverse chronological order; students should check it at least once a day. Make sure to refresh this page in your browser to avoid looking at an old cached copy.

A9 is Posted (2019-03-22)

Assignment 9 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, April 2 at 9:00pm. Be sure to start early and get all the help you need.

A07 Solutions Posted (2019-03-21)

We have posted the solutions to Assignment 7 on the course website, which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A07 we recommend you have a look at the sample solutions to see where you went wrong.

A06 Marks Released (2019-03-19)

We have just released the marks for A06. You can check your grade on MarkUs. Please look at any annotations and feedback that the grader has left for you, so you do not repeat the same mistakes on future assignments. Please see https://www.student.cs.uwaterloo.ca/~cs135/MarkUsHelp for more information on viewing assignment feedback. We have also released a post-mortem for the assignment, which can be found here: https://www.student.cs.uwaterloo.ca/~cs135/postmortems/postmorts.php. We are planning to post a post-mortem for every assignment, which describes common errors that students made on each assignment. We recommend reading it, even if you received full marks on Assignment 6. One more thing to note is that on MarkUs, your mark will be out of 105. The assignment is out of 100, but the extra 5 marks are for the bonus question. Thus, a perfect score would be 100/105. This is because MarkUs does not account for bonus marks, but when we update your grade on the course website under the "View Marks" page later in the term, the marks will be calculated with a denominator of 100.

Changes Made to A08 (2019-03-18)

Please note that as of Monday, March 18, 2019 at 3:37pm, there were some slight clarifications made to the assignment description and changes to the allowed functions. If you had downloaded the assignment PDF file prior to that time, you may want to download a fresh copy.

Re-run your A07 Basic Tests for Q3 (2019-03-18)

As of 2:19pm on Monday, March 18, the basic tests for Q3a and Q3abonus will disallow any constants that have less than 3 or more than 5 circles and triangles each (as specified in the assignment). It did not reject such submissions before, so we encourage you to re-run your basic tests to see if your submission is still valid. We've run them for everyone who's submitted Q3 but you still need to check your basic tests. For anyone who's submitted it after this time (or hasn't submitted Q3 yet), you don't need to re-run them again.

Dan's Office Hours for March 18 are Cancelled (2019-03-18)

ISAs will still hold their consulting hours as usual today. If these times aren't convenient for you, email the CS 135 course account to set an appointment.

A8 is Posted (2019-03-15)

Assignment 8 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, March 26 at 9:00pm. Be sure to start early and get all the help you need. Please note that as of Friday, March 15, 2019 at 11:06pm, there were some slight clarifications made to the assignment description. If you had downloaded the assignment PDF file prior to that time, you may want to download a fresh copy.

A06 Solutions Posted (2019-03-13)

We have posted the solutions to Assignment 6 on the course website, which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A06 we recommend you have a look at the sample solutions to see where you went wrong.

The Midterm Remark Request Form is Now Available (2019-03-11)

The midterm remark request form is now available under the 'Exams' section of the course website.

A7 is Posted (2019-03-08)

Assignment 7 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, March 19 at 9:00pm. Be sure to start early and get all the help you need.

CS 135 Midterm Results (2019-03-08)

You should have received an email to your WatIAM/Quest userid@uwaterloo.ca with a link to the marking for your CS 135 Midterm (if you did not receive an email, please check your spam folder or log in to WatIAM and check your profile to see where your email is being forwarded). Even though you can log into Crowdmark and view your results it is important that your email be set up properly.

The CS135 midterm is out of 42 and the average is 67.8%. See summary of grades (https://www.student.cs.uwaterloo.ca/~cs135/cgi-bin/displayMarks.cgi) on the Course info page for your overall midterm mark. If you have concerns about your performance on the midterm, please speak with your instructor.

Midterm re-mark requests:

When to submit: Starting Mon. March 11. We will not accept re-mark requests before that date. Deadline is two weeks after the post-mortem posting.

How: Check the Midterm post-mortem posting on the Exams web page and sample solutions (Solution Request). All re-mark requests must be sent using the form provided or will not be accepted.

When to expect re-mark results: all re-marks will be processed together after the re-mark request deadline. Requesters will be notified by email or a post when the results are ready.

Change in ISA Consulting Hours (Week of March 4, 2019) (2019-03-04)

Zahra will be cancelling her office hours on Tuesday, March 5, 2019. To compensate, she will have office hours from 2:30-4:30 on Friday, March 8, 2019. She will also be available by appointment whenever required.

A05 Marks Released (2019-03-04)

We have just released the marks for A05. You can check your grade on MarkUs. Please look at any annotations and feedback that the grader has left for you, so you do not repeat the same mistakes on future assignments. Please see https://www.student.cs.uwaterloo.ca/~cs135/MarkUsHelp for more information on viewing assignment feedback. We have also released a post-mortem for the assignment, which can be found here: https://www.student.cs.uwaterloo.ca/~cs135/postmortems/postmorts.php. We are planning to post a post-mortem for every assignment, which describes common errors that students made on each assignment. We recommend reading it, even if you received full marks on Assignment 5. One more thing to note is that on MarkUs, your mark will be out of 105. The assignment is out of 100, but the extra 5 marks are for the bonus question. Thus, a perfect score would be 100/105. This is because MarkUs does not account for bonus marks, but when we update your grade on the course website under the "View Marks" page later in the term, the marks will be calculated with a denominator of 100.

Midterm Instructions Page and Help Session Slides Posted (2019-03-02)

The instructions page for the midterm has been posted on the course website, under the "Exams" section. It can also be found here.

The slides from the midterm help session have also been posted under the "Tutorials" section on the course website.

A6 is Posted (2019-03-01)

Assignment 6 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, March 12 at 9:00pm. Be sure to start early and get all the help you need.

A05 Solutions Posted (2019-02-28)

We have posted the solutions to Assignment 5 on the course website, which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A05 we recommend you have a look at the sample solutions to see where you went wrong.

Midterm Help Session Date, Time and Location (2019-02-27)

Based on the results of the poll and ISA availability, the midterm help session shall be held on Saturday, March 2nd, 2019, from 1:30-3:30pm in MC 1085. We recommend that you bring your clickers, as we will be gauging audience participation and response throughout the review session, and asking our own clicker questions.

Extra ISA Consulting Hours on Wednesday (2019-02-26)

Zahra shall be holding extra office hours on Wednesday, the 27th of February, from 1:00pm-2:00pm in MC 4065.

Extra ISA Consulting Hours on Thursday (2019-02-26)

Ben shall be holding extra office hours on Thursday, the 28th of February, from 10:30am-11:30am in MC 4065.

Midterm Help Session Timing Poll Posted (2019-02-22)

We have posted a poll to determine the timing of a midterm help session we are planning on conducting. The poll shall be closed at 11:59pm on Saturday, the 23rd of February, 2019, and can be found on the course's Piazza page. Please make sure to get your votes in by this time so we can best determine everyone's ability to attend this session.

A04 Marks Released (2019-02-20)

We have just released the marks for A04. You can check your grade on MarkUs. Please look at any annotations and feedback that the grader has left for you, so you do not repeat the same mistakes on future assignments. Please see https://www.student.cs.uwaterloo.ca/~cs135/MarkUsHelp for more information on viewing assignment feedback. We have also released a post-mortem for the assignment, which can be found here: https://www.student.cs.uwaterloo.ca/~cs135/postmortems/postmorts.php. We are planning to post a post-mortem for every assignment, which describes common errors that students made on each assignment. We recommend reading it, even if you received full marks on Assignment 4. One more thing to note is that on MarkUs, your mark will be out of 105. The assignment is out of 100, but the extra 5 marks are for the bonus question. Thus, a perfect score would be 100/105. This is because MarkUs does not account for bonus marks, but when we update your grade on the course website under the "View Marks" page later in the term, the marks will be calculated with a denominator of 100.

A04 Solutions Posted (2019-02-17)

We have posted the solutions to Assignment 4 on the course website, which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A04 we recommend you have a look at the sample solutions to see where you went wrong.

Reading Week Office Hours (2019-02-16)

Here are the office hours during reading week:

Zahra: Tuesday, February 19, 2:30-3:30pm

Ben: Thursday, February 21, 12:00-1:00pm

Zahra: Friday, February 22, 2:30-3:30pm

All the above office hours are in MC 4065 (CS Consulting Centre). An ISA may also be available by appointment.

[Lectures][Consulting Hours][Assignment] University Closed Today (2019-02-12)

Due to the weather closure of the University, all lectures and consulting office hours are cancelled for today. There will be consulting hours tomorrow (Wednesday) -- to be announced.

Assignment 04 due date is postponed to tomorrow, same time (i.e. Wed. Feb. 13, 9:00PM)

To compensate for the consulting hours lost, we shall be holding extra consulting hours on Wednesday, February 13, 2019 in MC 4065.

Ben shall be having consulting hours from 11:00am-12:30pm.

Zahra shall be having consulting hours from 4:00pm-6:00pm.

A03 Marks Released (2019-02-11)

We have just released the marks for A03. You can check your grade on MarkUs. Please look at any annotations and feedback that the grader has left for you, so you do not repeat the same mistakes on future assignments. Please see https://www.student.cs.uwaterloo.ca/~cs135/MarkUsHelp for more information on viewing assignment feedback. We have also released a post-mortem for the assignment, which can be found here: https://www.student.cs.uwaterloo.ca/~cs135/postmortems/postmorts.php. We are planning to post a post-mortem for every assignment, which describes common errors that students made on each assignment. We recommend reading it, even if you received full marks on Assignment 3. One more thing to note is that on MarkUs, your mark will be out of 105. The assignment is out of 100, but the extra 5 marks are for the bonus question. Thus, a perfect score would be 100/105. This is because MarkUs does not account for bonus marks, but when we update your grade on the course website under the "View Marks" page later in the term, the marks will be calculated with a denominator of 100.

A03 Solutions Posted (2019-02-08)

We have posted the solutions to Assignment 3 on the course website, which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A03 we recommend you have a look at the sample solutions to see where you went wrong.

A5 is Posted (2019-02-08)

Assignment 5 is now posted on the course webpage under the "Assignments" heading and is due on Thursday, February 28 at 9:00pm. Be sure to start early and get all the help you need.

A02 Marks Released (2019-02-04)

We have just released the marks for A02. You can check your grade on MarkUs. Please look at any annotations and feedback that the grader has left for you, so you do not repeat the same mistakes on future assignments. Please see https://www.student.cs.uwaterloo.ca/~cs135/MarkUsHelp for more information on viewing assignment feedback. We have also released a post-mortem for the assignment, which can be found here: https://www.student.cs.uwaterloo.ca/~cs135/postmortems/postmorts.php. We are planning to post a post-mortem for every assignment, which describes common errors that students made on each assignment. We recommend reading it, even if you received full marks on Assignment 2. One more thing to note is that on MarkUs, your mark will be out of 105. The assignment is out of 105, but the extra 2 marks are for the bonus question. Thus, a perfect score would be 100/105. This is because MarkUs does not account for bonus marks, but when we update your grade on the course website under the "View Marks" page later in the term, the marks will be calculated with a denominator of 100.

A4 is Posted (2019-02-01)

Assignment 4 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, February 12 at 9:00pm. Be sure to start early and get all the help you need.

A02 Solutions Posted (2019-01-30)

We have posted the solutions to Assignment 2 on the course website, which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A02 we recommend you have a look at the sample solutions to see where you went wrong. Note: We do not post solutions to the bonus questions. Please note that there was a typo in the original posted solutions that has been corrected as of January 30th, 2019, at 9:47 pm.

A01 Marks Released (2019-01-28)

We have just released the marks for A01. You can check your grade on MarkUs. Please look at any annotations and feedback that the grader has left for you, so you do not repeat the same mistakes on future assignments. Please see https://www.student.cs.uwaterloo.ca/~cs135/MarkUsHelp for more information on viewing assignment feedback. We have also released a post-mortem for the assignment, which can be found here: https://www.student.cs.uwaterloo.ca/~cs135/postmortems/postmorts.php. We are planning to post a post-mortem for every assignment, which describes common errors that students made on each assignment. We recommend reading it, even if you received full marks on assignment 1. One more thing to note is that on MarkUs, your mark will be out of 102. The assignment is out of 100, but the extra 2 marks are for the bonus question. Thus, a perfect score would be 100/102. This is because MarkUs does not account for bonus marks, but when we update your grade on the course website under the "View Marks" page later in the term, the marks will be calculated with a denominator of 100.

A3 is Posted (2019-01-25)

Assignment 3 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, February 5 at 9:00pm. Be sure to start early and get all the help you need.

A01 Solutions Posted (2019-01-23)

We have posted the solutions to the first assignment on the course website which can be found under the 'Solutions Request' tab. If you had difficulties completing any questions from A01 we recommend you have a look at the sample solutions to see where you went wrong. Note: We do not post solutions to the bonus questions.

A2 is Posted (2019-01-17)

Assignment 2 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, January 29, 2019, at 9:00pm. Be sure to start early and get all the help you need. Edit (as of Thursday, January 17, 6:35 pm): There was a slight typo in the provided file "weather.rkt". If you had downloaded the file before this time, you may want to use the new file that has been uploaded.

Dan's change in office hours for the week of 21st January (2019-01-15)

Dan will be cancelling his office hours next week (on Monday, 21st January 2019) and will instead be holding them on Tuesday, 22nd January 2019 from 11:30am-1:30pm in DC 2130. Office hours for the following week (the week of 28th January) shall be held as scheduled. Please see the office and consulting hours calendar on the course website for more details.

Tutorial 0 (Jan 11 2019) (2019-01-10)

Tutorial 0 will be held as scheduled but attendance is optional. The primary purpose is to assist students with completing Assignment 0 but you may also come to work on Assignment 1. Please bring your laptop.

W19 Course Notes Available for Purchase (2019-01-10)

The print version of the CS 135 Course Notes is now available for purchase at Media Doc in MC 2018.

A1 is Posted (2019-01-08)

Assignment 1 is now posted on the course webpage under the "Assignments" heading and is due on Tuesday, January 22, 2019, at 9:00pm. Be sure to start early and get all the help you need.

A0 is Posted (2019-01-07)

Assignment 0 is now posted on the course web page under the "Assignments" heading, and is due on Tuesday, January 15th, 2019 at 9:00pm. Be sure to complete this assignment as soon as possible, as you will receive no marks on future assignments until A0 is fully completed.

Welcome to CS135! (2018-12-20)

Important announcements throughout the term will be posted here, as well as on Piazza. Be sure to check here regularly.

Last modified on Friday, 20 July 2018, at 12:31 hours.