CS 145: Designing Functional Programs (Advanced Version)

Assignments

Assignment questions will not be posted here, but rather within UW's new learning management system (D2L). They will not be due each week on the same day, as is common in the other first-year CS courses and the first-year Math courses. Instead, each assignment question will be "released" when students are ready to tackle it (or maybe slightly earlier), with an individual due date between seven and ten days later.

Procedures and Purpose

Assignment questions are the main way to reinforce and deepen your understanding of the concepts and skills discussed in lecture. Completing them is a vital part of the learning process.

The marks and, more importantly, marker comments on your assignments serve a diagnostic purpose, allowing you to correct weaknesses you may not have perceived. Completing unfinished or incorrectly-done questions is also important.

Since your final grade in the course is assessment, not diagnosis, and assignments are part of the learning process, it would be rational to leave assignments out of the computation of the final grade. However, too many students would not do the assignments and thus weaken their understanding significantly, probably to the point of endangering their credit. So it is customary to make assignments worth a modest fraction of the final grade.

The usual choice in first-year CS courses is 20%, in recognition of the significant amount of time that these assignments can take. The total contribution of assignments to the final grade is 10% in CS 145, in anticipation that CS 145 students will realize the importance of assignment work without an artificial incentive. Each question will be weighted equally unless otherwise specified in the question itself.

Please keep in mind that the point is not to earn marks by any means possible; marks are a consequence of the understanding gained through practice. Please read the section below on Plagiarism, including the linked UW Policies. These apply to every course you will take at UW, and you should be familiar with them.

Assignment questions must be completed before 10:00pm on the due date, unless otherwise specified in the question itself. You will submit program files electronically to the Marmoset system, which runs tests on your code and informs you of the results fairly rapidly. Late assignments will not be accepted; consequently, you should aim to finish early, to allow for unexpected delays. In particular, the response time of the Marmoset server may become longer if it is heavily loaded, as tends to happen close to deadlines (the system is also used for CS 136 and CS 241). There will be no extensions granted due to server delays.

Some assignments have questions that do not involve code (e.g. proofs). You will submit these as text files to Marmoset, but no tests will be involved. These will be marked by the instructor and the tutor. Once the marking is complete, marked-up files containing comments will be available under a secure URL accessed using your UW userid and Quest/WatIAm password.

Assignment questions, once posted, will be labelled with their status. Assignment questions labelled "tentative" have been released to give you a sense of what the assignment will be like, but they are not stable. Once we believe they are not going to change, they will be labelled "frozen". If our belief is incorrect, and we need to issue a revised version, it will be labelled "updated", with a change date. Typically, these changes are minor.

Your assignment submissions should conform to the guidelines laid out in the style guide for assignments (PDF). Submission instructions are on the Marmoset page.

Solutions to some assignment questions may be available on D2L, or may be discussed briefly in tutorials.

 

Plagiarism Policy

All work for credit in CS 145 is to be done individually. The penalty for plagiarism is an assigned mark of zero on the assignment or test and a deduction of 5% from the final course grade, consistent with School of Computer Science and Faculty of Mathematics policy. In addition, a letter detailing the offense is sent to the Associate Dean of Undergraduate Studies, meaning that subsequent offenses will carry more severe penalties, up to suspension or expulsion. To avoid inadvertently incurring this penalty, you should discuss assignment issues with other students only in a very broad and high-level fashion. Do not take notes during such discussions, and avoid looking at anyone else's code, on screen or on paper. If you find yourself stuck, contact the instructor or teaching assistants for help, instead of getting the solution from someone else. When trying to deal with difficulties, do not consult books other than the textbooks and do not consult any Web sources, unless explicitly authorized to do so.

 

Senate Undergraduate Council has asked us to post the following paragraphs:

Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.

Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4.

Discipline: A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline.

Avoiding Academic Offenses: Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy.

Appeals: A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals.

 

Last modified on Monday, 12 September 2011, at 10:28 hours.