CS 146: Elementary Algorithm Design and Data Abstraction (Advanced Version)

Assignments

Racket assignment questions will be posted here as they are ready. 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 five and ten days later. There will be fewer Racket assignment questions than in CS 145 (probably fifteen to twenty). Also, in contrast to CS 145, no late submissions will be allowed (this is the typical policy for subsequent CS courses).

The links below are for registered students only (authentication required).

Assignment questions

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, when provided, 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.

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 other courses, such as CS 136 and CS 241). There will be no extensions granted due to server delays.

Submission instructions are on the Marmoset page.

 

Plagiarism Policy

All work for credit in CS 146 is to be done individually. MOSS (Measure of Software Similarities) is used in this course as a means of comparing students' assignments to ensure academic integrity. 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 the 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.

 

The 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. [Check the Office of Academic Integrity for more information.]

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. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.

Discipline: A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. [Check the Office of Academic Integrity for more information.] A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.

Appeals: A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.

Note for students with disabilities: AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.

 

Generative AI

This course includes the independent development and practice of specific skills. Therefore, the use of Generative artificial intelligence (GenAI) trained using large language models (LLM) or other methods to produce text or code, like Chat GPT, DALL-E, or GitHub CoPilot, is not permitted in this class. Unauthorized use in this course, such as running course materials through GenAI or using GenAI to complete a course assessment is considered a violation of Policy 71 (plagiarism or unauthorized aids or assistance). Work produced with the assistance of AI tools does not represent the author’s original work and is therefore in violation of the fundamental values of academic integrity including honesty, trust, respect, fairness, responsibility and courage (ICAI, n.d.).

You should be prepared to show your work. To demonstrate your learning, you should keep track of your early attempts at assignment solutions and submit them often to marmoset. Your submitted earlier attempts can serve as evidence that you worked without the assistance of GenAI. (Please also note that we may use the trends in a student's submission history to estimate the likelihood of other forms of cheating as well.) If the use of GenAI is suspected where not permitted, you may be asked to meet with your instructor or TA to provide explanations to support the submitted material as being your original work. Through this process, if you have not sufficiently supported your work, academic misconduct allegations may be brought to the Associate Dean.

In addition, you should be aware that the legal/copyright status of generative AI inputs and outputs is unclear. More information is available from the Copyright Advisory Committee: https://uwaterloo.ca/copyright-at-waterloo/teaching/generative-artificial-intelligence

Students are encouraged to reach out to campus supports if they need help with their coursework including:

Last modified on Monday, 08 January 2024, at 13:07 hours.