Skip to main content

more options

Grades and exams

This is an S/U course.


There will be two exams. The exams require mastery of the material: you will be expected to get 85% on each exam. If you get lower than 85% on an exam, you may take a version of it again another day. You may continue to take versions of the exam in this fashion until you pass it.

The exams will not be overly difficult.

YOU MUST SIGN UP ON THE COURSE CMS (click on link in column on left) for an exam that you want to take. This is most important for the second exam, which is in a lab and thus has restricted space. If you are unable to attend a session because of prior commitment, email Maria Witlox,, suggesting times for another session.

The first exam, a closed-book, pencil-and-paper exam, is given weekly beginning the second or third week of the course, It is 1 hour long. It is given twice a week, but more times can be added if they are necessary. If you have difficulty attending these, email the course staff.

Tuesdays, 5:30PM, Upson 207.
Fridays, 2:30PM, Upson 109.

The second exam, on a computer in the ACCEL lab, is given weekly beginning the third or fourth week of the semester, depending on need. It is two hours long.

Programming assignments

There will be two assignments. Assignment 1 must be completed before you take the first exam, and assignment 2 must be completed before you take the second exam.

Submit assignment on the course CMS (click a link in the left column). You will receive feedback on the CMS. Check on the CMS a day after the submission.

If your assignment is not properly annotated with comments-specifications, you will be asked to fix them.

If we can determine that you have not created the javadoc specifications and looked at them carefully, you will be asked to do so and verify that you did this.

If your assignment does not have appropriate test cases, you will be asked to add them.

If our testing of your assignment uncovers an error, you will be asked to fix it.

For each assignment, we provide several alternatives for you to choose from. Hopefully, you can choose one that excites your interest —because it is close to your area of interest or, for some other reason, it seems interesting.

We ask you to complete the assignments in a certain way. In each assignment, there should be a cycle of writing one or more methods, providing appropriate test cases for them, testing, and fixing errors; only when those methods are correct, as shown by executing the test cases, should you move on to the next set of methods.

If we find that you have not proceeded in this fashion, we may ask you to stop working on that particular assignment and choose another one of the alternatives. One goal of this course is to introduce you to effective and efficient programming practices.