COMP 2012H Honors Object-Oriented Programming and Data Structures

Assignment 1 Grade Appeal

Introduction

Check the Assignment 1 grade on the ZINC Online Submission System. There are 20 test cases in total, each worth 5%. For example. a score of 20/20 on ZINC means full marks for Assignment 1. Your submission record will state all test case failures (if any).

While there are multiple grading records on ZINC, only the latest one will count as the score for your submission; you can ignore other previous records.

For grade appeals, please follow the listed procedure below. Appeals with incomplete information and/or not following the listed procedure will not be processed:

  1. Read the list of common errors and appeal cases, and follow their sub-instructions (if applicable).
  2. No partial credit within a test-case. Each test-case is only a binary 0% for failed or 5% for passed.
  3. Send an email to the TA in-charge with the subject header "COMP2012H PA1 Grade Appeal".
  4. State which test-case(s) you wish to appeal (refer to the list in the section below). Clearly state your reasoning for why your code should have passed those test-case(s).
  5. You may propose changes to your source code. Attach your code snippet with the proposed changes in your email. However, such changes are subject to a grade deduction at the discretion of the TA in-charge, proportional to the magnitude of change, with a 5% deduction being the minimum.
  6. DO NOT attach any .exe/executable file(s) in your email.
  7. Appeal deadline is 14 October 2021 Thursday 23:59 HKT. No late appeals will be processed.
  8. Finalized scores will be uploaded to Canvas after all appeals are processed.

Below is a list of common errors and situations for COMP2012H assignments in general:

  • Uninitialized variables will have garbage (random) values in C++. Sometimes it will be 0, sometimes it will not. In that case, your program may generate different results on different machines or different runs if your logic depend on an uninitialized value. If you have assumed them to be 0 or something specific (e.g. a very large value), your code is faulty and will get random results.
  • Retrieving values from deleted/unallocated dynamic memory, or index out-of-bounds, may not always crash your program but may give random values.
  • Compilation errors will result in 0 marks for this assignment. This should not occur as revealed test cases were already provided to test your code on ZINC. Exceptions will only be given for compilation errors that are the fault of the TA's testing code.
  • Runtime errors and crashes due to incorrect memory access, memory allocation, memory deallocation, missing variable initialization, missing return values, out-of-bound array access, etc. may not occur all the time on all machines. However, even though you may not encounter the error/crash when you test your program, if your program crashes during any of the test cases on ZINC, the corresponding test cases will be considered as incorrect and will receive 0 marks.
  • Runtime crashes due to the reasons above or due to timeouts (infinite loop / infinite recursion / runtime taking too long) will only be regraded if you can debug, fix, and report it in your email appeal with attached code snippet. The corresponding test-case(s) where the runtime crash occurred will still be considered as incorrect and will receive 0 marks, but you can recover your marks for the rest of the test-cases.

Solution & Test Cases

Below are the solution code and test cases used for grading. Each test case checks the correctness of one of the five functions that you have implemented in the assignment. When testing with these cases, you will need to edit your existing code to pass in the input parameters and run the target function alone.

Page maintained by
Homepage