CS 452/652 Winter 2023 - Notes on Assignments
Ambiguities or Omissions in the Assignments
To emphasize their incompleteness we give out assignment descriptions, not specifications. The kernel API must be respected, but many implementation details are up to you. Some are mentioned explicitly in the assignment description; others you will discover on your own. If you are unclear with respect to what is acceptable the best thing to do is to ask on Piazza long before the assignment is due. Then all students can take advantage of the clarification. If you are doing it in the long dark hours before the assignment is due specifically mention in your documentation what the question is, and why you chose the interpretation you chose.
Make sure you do not change the specified default behaviour if your program has extra features. Let your extra features be optional and mention them in the README. You can lose marks for the things that are not explicitly stated in the assignment objectives. Submission of poorly written code is an example. Failure to put the executable in the proper place is another example, which will also result in deduction from the assignment mark. You can also lose marks for submission of a program with a poor user interface.
Academic Integrity / Group Work
The programming assignments are designed to give practice on the topics presented in lectures. If you have any questions about what may or may not constitute cheating, please ask the instructor so you do not end up cheating ‘by mistake’.
Assignment 0 and the final examination are to be done individually: the kernel and project are done in groups of two. We reserve the right to request independent ‘who did what’ statements from each member of a group, however, both group members are responsible for the entire submission and both group members must be able to answer questions about any part of the code during the demos.
How much may work be shared among individuals or groups that should be working independently? A rule of thumb is that students are in university to learn: learning from fellow students and teaching fellow students are equally encouraged. What is handed in, however, must be the student’s own work, and must reflect what the student can do and has done. Therefore, do not copy code from/to other students! The code you submit should be code you wrote.
For the project, it may make sense for you to use code written by someone else to assist you in your work. Further, you may wish to reuse code you wrote in previous terms. In both cases, you should check with the instructor before handing in the assignment, and credit the code (even if it was code you wrote in previous terms) in your documentation. However, you do not need to credit the code that we provide for you, which is not much.