1. Program Correctness (60%): The programs do everything that the lab requires. If you have a question about how a program handles a certain input, check the executables that have been provided.

    1. Part 1 -- Stack Library (30 points)
      • uses void *'s to store values in the stack (5 points)
      • implements information hiding appropriately (5 points)
      • has separate and well-organized structs for the stack object and the stack nodes (5 points)
      • works correctly (15 points)
    2. Part 2 -- call_stack (30 points): deduct 5 points for not using the stack library from part 1
      • works correctly (25 points)
      • error checking (5 points)

  2. Design Document (20%)
  3. Commenting (10%): See the commenting information on the course's lab web page for advice on how to comment your programs,

  4. Program Style (10%): Are the programs well-organized and do they solve the problem in the most straightforward, efficient way possible?