os

CSCI 2310
Operating Systems

Bowdoin College
Fall 2014
Instructor: Sean Barker

Autograder Overview

CSCI 2310 uses a system for automatically grading your projects. This isn't because I'm lazy; the autograder is designed to help you do the projects correctly, and provide feedback in a timely fashion.

Many parts of the autograder were developed at the University of Michigan by Pete Chen, Brian Noble, Atul Prakash and others. Many thanks to Jeannie Albrecht for providing documentation on setting up the autograder!

To help you validate your programs, your submissions will be graded automatically, and the result will be mailed back to you. You may then continue to work on the project and re-submit. Be warned that the results from the auto-grader will not be very illuminating; they won't tell you where your problem is or give you the test programs. The main purpose of the auto-grader is to help you know to keep working on your project (rather than thinking it's perfect and ending up with a 0). The best way to debug your program is to generate your own test cases, figure out the correct answers, and compare your program's output to the correct answers. Designing test cases will also give you a better understanding of the concepts covered by the project.

You may submit your program as many times as you like. However, only the first submission of each day will be graded and mailed back to you. Later submissions on that day will be graded and cataloged, but the results will not be mailed back to you.

In addition to this one-per-day policy, you will be given 3 bonus submissions per project that also provide feedback. These will be used automatically--any submission you make after the first one of the day will use one of your bonus submissions. After your 3 bonus submissions are used up, the system will continue to provide feedback once per day.

In addition to the auto-grader's evaluation of your programs' correctness, I will evaluate your programs on issues such as the clarity and completeness of your documentation, coding style, efficiency, and understandability of your code, etc. Your final score will be a combination of the hand-graded score and the auto-grader score.

Accessing the CSCI 2310 Server

The autograder is installed on the off-campus CSCI 2310 server. You have been provided an account on this server that will allow you to log in and submit your projects using the autograder. You are also encouraged (though not required) to develop your programs on the server.

Access to the server requires the use of a keypair, which you should have received from the instructor. Your keypair consists of a private key file (named something like username-keypair) and a corresponding public key file (named something like username-keypair.pub). Keep your keypair safe, as it provides exclusive access to your server account.

The IP address of the CSCI 2310 server is 139.140.254.103 if you are connected to the BOWDOIN network, or 54.164.230.132 if you are off-campus or connected to the BOWDOIN-GUEST network. To login to the server using your private key (assuming userid is your username), you can issue a command like so:

ssh -i userid-keypair userid@139.140.254.103

Or off-campus, you would use:

ssh -i userid-keypair userid@54.164.230.132

On Windows, you can similarly login using an application like PuTTY. You can only login to the server using your private key file; password-based logins are disallowed.

The server provides a full-fledged Linux environment with all the standard development tools (editors, compilers, version control, etc) preinstalled. If there is any software that you would like to use that is not already installed on the server, please email the instructor.

Using the Autograder

Once logged into the server, you can submit projects to the autograder using the submit2310 command, like so:

submit2310 <projectnum> <file1> <file2> ...

Note that all C++ source files should end in ".cc". For example, for Project 1 (the inverter), you should execute the command:

submit2310 1 inverter.cc

The system will package up your project and send it to the autograder. Within an hour or two (and likely within a few minutes, depending on the server's load) you should receive an email telling you how you did. Be sure that emails from the autograder are not trapped in your spam filter. If you do not receive a response within 4 hours of submission, please mail the instructor. The official time of submission for your project will be the time the project is received at the grader. If you send in anything after the due date, your project will be considered late (and will use up your late days or will receive a zero).

Remember that the autograder is not a debugger; while it will tell you how your program did, it will not tell you what you did wrong. Also remember that the earlier you start on the projects, the more autograder submissions you will have.