Lab Exam Procedures and Grading

We give five exams where you write a portion of a Java program; all exams are given in the Help Center. We will provide you with one or more program files that have parts of the program you are to complete. You copy the project containing the programfrom our server, provide the missing program parts, and turn in the completed program project to your assigned drop box on the server; Taking Lab Exams provides details about these steps.

When evaluating the quality of your lab exam, we use three general criteria:

1. It must run, complete normally (e.g., not hang, error abort, or otherwise exhibit aberrant behavior) and produce correct and correctly formatted output when given any legal input. It is not sufficient that the program runs for some set of legal input, but not for another.

2. The code you write must meet all of the requirements stated in the lab exam and its corresponding assignment. (If there is a difference, the requirements in the exam take precedence.)

3. The code you write must conform to the class’ style standards. It must not be unnecessarily complex. It must not use any banned-from-this-course statements, constructs or approaches; in particular it may not

You may use non-banned statements more advanced than we’ve covered (to that point of the course), but it is up to you to use them correctly and reasonably. You can also add private fields, constants and methods to those provided to you as part of the exam, within the constraints described in Taking Lab Exams, but you do so at your own risk. You can add additional comments to explain your work. You may not otherwise modify the exam's classes; in particular, you cannot add code to, or change code in, methods other than those the exams says you are to complete. All methods you are to complete have the phrase *** REPLACE THIS COMMENT WITH YOUR CODE ***.

Your exam will be scored as follows:

-- (not taken) — the test was not turned in, the test folder was empty, or no work towards completing the exam was done (see below for details)

NP (not passed) — the program does not run, or
it does run, but produces incorrect output for legal input, or
it violates one or more of the restrictions stated above or
its style violates course standards to the point that it interferes with a trained reader’s ability to follow the code

P (passed) — the program meets the three criteria above, or
it meets the criteria except that the program exhibits only some minor style problems

You must get a score of “P” on all the lab exams to get a course grade of C or higher; see the Course Reference for details. If you think your exam was graded incorrectly, take the matter up with course staff member who graded your work. (Which staff member grades your work is given in the Important Information section of the Course Reference.) If that does not resolve the issue, see the instructor.


Lab exams are mastery exams

The point of lab exams is to insure you know the basics of program design and Java coding. You can retake an exam you failed—and take it again—as much as your time and our resources allow, up through the last offered retake time.

View retakes as last resorts! There is plenty to do in this course without the added burden of retaking lab exams. You could easily spend so much time on retakes that you are unprepared for subsequent lab exams, thus putting you further and further behind in the course.

We will not offer exams early; course resources and security issues will just not allow for it.


Missed lab exams

You are eligible to retake a lab exam only 1) if you took the test on the day when it was first offered (this prevents unprepared students from having an advantage over students who were ready for the test) or 2) you missed the test because of circumstances beyond your control, as discussed below.

If you miss, or know you are going to miss, a lab exam, email the instructor within three days of the exam, explaining what circumstances truly beyond your control occurred. The instructor will respond within a day or two, with an email either giving you permission to make up the exam or an explanation why you will not be allowed to do so (the latter only occurring if the reason you missed the test was not beyond your control). Once you receive permission, take the exam acording to the instructions given in the email. In particular, being sick is considered a circumstance beyond your control.

If you do not write the instructor within three days of the exam, you may not be allowed to make up the test, and will receive a score of “--” (not taken) for it.


The “--” notation

Because of past attempts by students to “game the system,” you will not be credited with having taken a lab exam unless you made a legitimate attempt to complete the exam’s missing sections correctly. In particular, if you were at the exam but did not turn in an exam folder, turned in one that is blank, or turned in one that has no code of your own, we will treat it as if you had not taken the test. (If an exam contains code you did not (help) write, and you did not have our explicit permission to use it, that is academic dishonesty.)

When computing your total grade, exams scores as “--” will be treated as a test not passed.


Retake exams

You may retake a lab exam (subject to the above policies) during the scheduled retake times. Retake offerings will begin after the first lab exam and continue into Finals Week. The scheduled times prior to Finals Week are posted on the ICS 21 Course Web page, and, for retake times during Finals Week, on the Announcements page.



Prepared by Norman Jacobson and Julian Feldman, with assistance from others, Fall 1986.
Revised by David G. Kay and Norman Jacobson, Winter 1991.
Minor revisions by Norman Jacobson, Fall 1991.
Revised by David G. Kay, Winter 1992.
Minor revisions by Norman Jacobson, Fall 1992, Fall 1993, Winter 1994, Fall 1994.
Revised to reflect new lab location & equipment by Norman Jacobson, Fall 1994.
Minor revisions by Norman Jacobson, Sept. 1995, December 1995,
  December 1996, September 1997, December 1997,
  April 1998, September 1998, August 1999.
Revised by Norman Jacobson to reflect lab exams and new lab assignment rules, Sept. 1999.
Revised by Norman Jacobson for ICS21, Nov. 1999 and March 2000.
Minor revisions by Norman Jacobson, June 2000 and September 2000.
Revised to reflect new scoring scheme, by Norman Jacobson, March 2001.
Revised to reflect Java usage, by Norman Jacobson, September 2001.
Minor revisions by Norman Jacobson, December 2001.
Minor revisions by Norman Jacobson, August 2002.
Minor revisions by Norman Jacobson, December 2002.
Minor revisions to spell out some banned statements by Norman Jacobson, December 2004.
Minor format revisions by Norman Jacobson, September 2006.
Revised to remove "+" grades and make other, minor, edits, by Norman Jacobson, September 2006.
Revised to more fully explain policy regarding missed lab exams, by Norman Jacobson, February 2007.
Revised to explain eee Gradebook encodings of exam scores, by Norman Jacobson, September 2007.
Revised to simply score exams the way eee allows them to be reported, to make it explicit
  that code in alreasdy-written methods cannot be changed and that violation of restrictions
  results in an NP, by Norman Jacobson, December 2007.
Minor edits by Norman Jacobson, September 2008.
Revised to reflect modified procedure for dealing with missed lab exams,
  and to include some minor edits, by Norman Jacobson, December 2008.
Minor revisions to make explicit that illness is a circumstance beyond one's control and to reflect use of the Help Center, by Norman Jacobson, September 2009.
Minor revisions for clarity, by Norman Jacobson, December 2009, August 2010, September 2011 and January 2012.