1. Program Correctness (75%): 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. Subtract 30 points from the rptoparen program if the program does not use a binary tree to represent the expressions and subtract all 25 points from the bc_scoreproc program if the program does not use a binary tree to store the people's names.
    1. rptoparen (40 points)
      1. The program successfully prints an expression with a single literal (3 points)
      2. The program successfully prints an expression with a single variable (3 points)
      3. The program correctly parenthesizes and prints an expression with a single operator (10 points)
      4. The program correctly parenthesizes and prints a complex expression with multiple operators (15 points)
      5. The program correctly handles more than one expression on a line (5 points)
      6. Error detection--invalid expressions are correctly identified (4 points)
    2. bc_scoreproc (35 points)
      1. The program correctly indicates whether or not a person is in the score files (10 points)
      2. The program correctly prints the information associated with a particular person (8 points)
      3. The program correctly finds the minimum and maximum average scores (5 points)
      4. The program prints the people associated with the minimum and maximum average scores in alphabetical order (8 points)
      5. The program correctly calculates the unique number of names in the score files (4 points)
      6. Error checking--don't worry about it--you should have done it in lab 8 so you won't have points deducted a second time if you didn't do it.

  2. Commenting (15%): See the commenting information on the course's web page for advice on how to comment your programs,

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