COMP 2012H Honors Object-Oriented Programming and Data Structures

Assignment 4 Grade checking and appeal

Introduction

  1. Check the assignment 4 grade and remarks HERE.
  2. If you want to appeal your grade, you MUST first read everything on this page, follow all the procedures, and try the test cases yourself. Your appeal will not be processed if you don't follow this rule.
  3. 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 assumed them to be 0 or something specific (e.g. a very large value), your code is faulty and will get random results.
  4. If your function doesn't have a return statement for some cases, the returned value is undefined / can be random for those cases.
  5. Retrieving values from deleted/unallocated dynamic memory block may not always crash your program but may give random values.
  6. 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 you may not encounter the error/crash when you test your program, if your program crashes during any of our testing on some machine, the corresponding test cases will be considered as failed and will receive 0 marks as your code is indeed faulty.
  7. If there are minor compilation errors, TA will fix your program and do the grading with some marks deducted.
  8. If you are certain that there is a grading mistake after reading this whole page and checking with the test cases, email us with the following information. Appeals with incomplete information will not be processed.
  9. Do not attach any .exe/executable file in the email. The code snippet and results snapshot are fine.
  10. Appeal deadline is December 30, 23:59. No late appeals will be processed.
  11. Finalized scores will be uploaded to canvas after all appeals are processed.

Marking scheme


For every submission, we randomly generate a new graph of 10 vertices and 0.5 edge density with the demo, and use that as the test case. We also read the source code, especially for hash table and AVL tree implementation, as well as the items for the bonus parts.

Item Scores
Click to Add Vertex 10
Click to Add Edge 10
Click to Remove Vertex 10
Click to Remove Edge 10
Click to Drag and Move Vertex (with connected Edges) 10
Dijkstra Unvisited Vertices Set implemented with Hash Table 10
Dijkstra Priority Queue implemented with AVL Tree 10
Display Dijkstra Shortest Distances for each Vertex from selected Source Vertex 10
Click any Vertex to select as Destination Vertex to display Dijkstra Shortest Path from Source Vertex 10
Clear the Dijkstra results, and can choose another Source Vertex to recalculate Dijkstra 10
Bonus: Dijkstra Priority Queue implemneted with Red-Black Tree 5
Bonus: Random Generation of Vertices and Edges 5
Bonus: Step-by-step visualization of Dijkstra's Shortest Path Algorithm 5

Stats (for submitted works only)

Total = 100.00; Mean = 75.54; SD = 30.08

Page maintained by
Homepage