Skip to main content

more options

Grades, tests, and assignments

This is an S/U course.

For information about the quizzes, see the course instructions page


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

The tests will not be overly difficult.

You may not take a test for a module until you have completed the assignment for that module. If you sign up and you have not completed the assignment, the course staff will remove you from the list of signed-up students on the morning of the exam.

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

The first test , 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.

The second test , 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.
Assignment 2 must be completed before you take the second exam.

Submit assignments 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.