Skip to main content

Code Collaboration

  • You are encouraged to help each other debug without viewing each other’s code or talking specifically about algorithms. Beyond that, we don’t want you sharing approaches, ideas, code or whiteboarding with other students.
  • YOU CANNOT SEE THE CODE OF ANOTHER STUDENT Students can discuss the assignments with other students, but the discussions should be purely for learning purposes only.
  • YOU SHOULD NOT RECORD ANY INFORMATION during those discussions in any form (e.g., writing, printing, audio/video/picture records, memorization, etc.).
  • ALL ASSIGNMENT CODE MUST BE YOUR OWN.
  • YOU MUST NOT SHARE solutions in any form (e.g., direct sharing with other students, hosting code in “publicly accessible” repositories, etc.).
  • YOU CANNOT LOOK AT ANY CODE ON GITHUB. We too can use Github, and also subtly tweak the projects to make cheating more detectable.
  • YOU CANNOT VIEW ANY CODE ONLINE (other than the web URLs provided on the course page).
  • TESTING TAKES TIME (especially around deadline day). Start early as course servers may become overloaded around the deadline.

Code Grading

  • NO CODE MODIFICATIONS AFTER DEADLINE
  • NO POINTS FOR NON-WORKING CODE. POINTS ONLY FOR REPORT. On each assignment page we include a number of questions to be answered. You have to answer those questions to obtain the corresponding points.
  • We will make every attempt to release grades for each homework within 2 weeks. However, this means that after we review the source code we might have to lower your official grade.
  • NO REGRADING FOR ASSIGNMENTS (unless there’s a bug in provided code). If you believe there is a bug in the provided code, please contact the instructor or the head TA.

Academic Dishonesty Policy

  • Rule 1 : DON’T CHEAT. We use MOSS. and another tools to detect. If you get caught cheating, it will make its way to the university grade sheet and could potentially affect your future career.
  • We take this seriously
  • It is NOT acceptable to copy solutions from other students.
  • It is NOT acceptable to copy (or start your) solutions from the Web.
  • It is NOT acceptable to leave your code anywhere where an unscrupulous student could find and steal it (e.g., public Github repositories, walking away while leaving yourself logged on, leaving printouts lying around, etc). We have tools and methods, developed over many years, for detecting this. You WILL be caught, and the penalties WILL be severe. This software can even detect attempts to purposefully obfuscate copying. If you have questions whether a behavior is crossing the line, ask!
  • At the minimum negative points will be given for the assignment (meaning you’re better off NOT submitting anything than cheating), and a letter in your record documenting the cheating. Both the giver and the receiver of code are equally culpable and suffer equal penalties.
  • If you cheated in some way, such as copying your submission or you have violated the ground rules for each homework, your grades will be decreased from the initial value perhaps even lowered to zero.

Obtaining help from TA/Instructor

  • Ask questions during TA Q/A
  • Post questions on piazza. Tag and ask specific questions on groups. In online-based delivery its very important that we know what exactly you are having trouble with.
  • Ask questions during synchronous lectures. We budget class sessions for interactions with instructor and covering part of the material. If you would like to see specific topics covered post on the groups what you want to see covered. We will listen.

By cloning the github repo you accept the following:

  • I have read, fully understand and will follow strictly course policies about academic integrity documented in course website and SFU website. In particular, I will not:
  • Share my work with others, both before and after finishing this course.
  • Post my work in public repositories, both before and after finishing this course.
  • Plagiarize under any circumstance.

Assignments

All assignment starter code will be distributed using github. You are expected to complete and push them back to github.

Typically you will have 10 days - two weeks to complete the assignment.

  • Assignment 1 link. Released date: Sep 9, 2024 Due on: Sep 27, 2024 Grade: 10% Head TA: Mahmoud

  • Assignment 2 link. Released date: Sep 23, 2024 Due on: Oct 14, 2024 Grade: 15% Head TA: Aditya

  • Assignment 3 link. Released date: Oct 14, 2024 Due on: Oct 28, 2024 Grade: 10% Head TA: Aditya

  • Assignment 4 link. Released date: Oct 28, 2024 Due on: Nov 13, 2024 Grade: 15% Head TA: Mahmoud

  • Assignment 5 link. Released date: Nov 13, 2024 Due on: Dec 4, 2024 Grade: 15% Head TA: Aditya

The head TA is expected to be the local expert on the assignment. While other TAs may help with programming Q/A that can help with the assignment, they may not be able to answer specific questions related to the assignment. During the Q/A sessions following a lab you can attend that Head TA’s Q/A sessions if you so choose.

Grading and Data policies

For a variety of reasons, including lack of storage space and safety:

  • All repos will be read-only following the deadline
  • To prevent theft for future courses, Assignment repos wil be destroyed by the end of the semester.
  • Grades will only be distributed through canvas. We have had phishing attempts in the past. TAs will never send you grades by email.
  • All participation-based quiz data will be saved and destroyed.