CS 1063  Grading Key for Labs

General Guidelines


Details of Laboratories

In each laboratory, you are expected to pay attention to the details of the assignments.  These details are not provided in one easy-to-find list, but are are usually explicitly described throughout the assignment.  Sometimes, a detail is implicit; you don't find out that it needs to be done until you try to put your program together (or until your instructor grades it).  One reason we do it this way is so you start to think like a computer scientist, to convert problem descriptions in English to programs.  This thought process requires that you figure out what details are needed to make your program work.

However, to help you with the lab assignments, these are the general kinds of details that are common to all of the assignments.

The rest of this web page describes each of these in more detail.

Your Program Should Compile Without Any Errors

While your instructor will help you debug your compile errors before it is submitted, your instructor is not so interested in fixing your program after it is submitted just to get your program to run.  If your program is hard to grade, your score will suffer.  A program with many compile errors will likely get a zero for the whole assignment.

Your Program Should Behave As Described in the Assignment

Your program should print its results.  Each lab requires a text output file.  The text in this file should demonstrate that your program correctly runs.  The instructor should be able to read the text file and easily identify inputs from the user and results of your program.

For example, suppose this is the text output from Lab 2.

Lab 2 written by Alfred E. Neumann

Enter the number of quarters:  [DrJava Input Box]
Enter the number of dimes:  [DrJava Input Box]
Enter the number of nickels:  [DrJava Input Box]
Enter the number of pennies:  [DrJava Input Box]
10 0.6400000000000001
Enter the number of cents:  [DrJava Input Box]
2 1 0 4

The print statements producing this output do not show what the user entered and do not explain the numbers that were output.  Instead, your output should be more like the following.

Lab 2 written by Ricardo Romo

Enter the number of quarters:  [DrJava Input Box]
You entered 1 quarters
Enter the number of dimes:  [DrJava Input Box]
You entered 2 dimes
Enter the number of nickels:  [DrJava Input Box]
You entered 3 nickels
Enter the number of pennies:  [DrJava Input Box]
You entered 4 pennies
You have 10 coins
The total value is $0.6400000000000001
Enter the number of cents:  [DrJava Input Box]
You entered 64 cents
Your change is 2 quarters, 1 dimes, 0 nickels, 4 pennies

This prints out every value that the user entered and prints additional text that describes each value.

Your Program Should Include the Parts That Are Described in the Assignment

These parts come from the following list:

For many labs, you might be able to write a program with the same behavior without using the control structures and methods that are specified in the assignment.  However, your instructor wants to ensure that you learn how these parts work even though they might not be absolutely necessary for the assignment.

Properly Submit Your Program to Blackboard

Each lab should have its own folder.  This folder should contain the .java files and .txt files that are specified in the assignment.  You do not need to delete the files that are created by the Java compiler and by DrJava, such as .class files and .java~ files.

In DrJava, the .txt file can be easily created by right-clicking in the Interaction pane on the bottom of the DrJava window.  Select "Save Copy of Interactions" and save the file in the lab folder.

Zip up your entire lab folder for submission to Blackboard.  Right click on the lab folder and follow Send To > Compressed (zipped) Folder (or 7-Zip > Add to "folderName.zip") .  Submit the zip file to Blackboard.

Sometimes, your computer and/or Blackboard prevent submission of your lab at the deadline.  Unless it is a widespread issue caused by Blackboard, your instructor is not likely to be sympathetic.  Your instructor believes you had plenty of time before the deadline to work on your labs.  [Your instructor also has the same weird beliefs about Blackboard quizzes.]  If you try to finish and submit your labs just before the deadlines, you can expect to be unlucky sometimes.  Handling late labs is entirely up to the discretion of the instructor.

Points Allocated to Each Detail

The points allocated to each detail can differ by instructor and by lab.  However, in general, the 20 points for each lab can be roughly broken down in the following way.

These two items are interdependent.  For example, while reading your code, your instructor might identify inputs that make your program misbehave.

Finally, if you are unable to finish all the details, you should do the following.  You should make sure that your program compiles; comment out any code that has compile errors.  You should make sure that your program accomplishes some of the details.  You should write comments that describe what is missing from your assignment.