Programming Assignments


Programs will be graded on a 10-point scale according to these criteria:

Documentation: Your program must include comments that clearly explain what is being done. There should be a comment at the top of each file describing what the program does. There should be a comment at the top of each class saying what the class does. There should be a comment at the top of each method saying what the method does. And there should be a comment at the top of each block of code (10 lines or less) saying what that block of code does. If you have more lines of comments than you have code, then you are doing well.

Correctness: Your program should do what it is supposed to do, as defined in the assignment.

Elegance, Efficiency, Quality: Your program should be elegant, readable, exhibit good programming style, be efficient, and generally represent the best solution achievable.


The grading will follow this guideline

I. Formatting (1 point possible):

  1. Poor spacing and indenting that obscures the meaning of the program: 0 points
  2. Adequate spacing and indenting that enhances the reader's understanding of the program: 1 point

II. Identifiers (1 point possible):

  1. Identifiers (variable and method names) that mean nothing, or actively obscure the meaning: 0 points
  2. Adequate identifiers that enhance the clarity of the program: 1 point

III. Comments (3 points possible) :

  1. No comments: 0 points
  2. Some comments, but fairly poor: 1 point
  3. Ok comments that explain much but not all of what the program does: 2 points
  4. Complete comments that do a good job of explaining everything: 3 points

IV. Correctness (5 points possible):

  1. No code: 0 points
  2. Code exists: 1 point
  3. Code does something: 2 points
  4. Code does almost everything: 3 points
  5. Code does everything: 4 points
  6. Code does everything well: 5 points

V. Extra Credit: Elegance, Efficiency, Quality (1 point possible):

  1. Great code that does everything in what you would consider just the right way: 1 point
  2. Everything else, plus goes a step further, solving a more difficult problem or providing really outstanding output, etc.: 1 point
  3. Wow: 1 point

Note: The dates below are tentative. They will be finalized as each assignment is ready.

Programming Assignments

  • Ungraded Assignment 0: Hello, World!

    All other assignments are graded. They will be posted on eCommons before the lab in which you will discuss them.


    Telephone: (831) 459-5042 / FAX: (831) 459-4829 / sbrandt@cs.ucsc.edu