Assignment Turn-In

Operating Systems, Spring 2015


Table of Contents

Introduction

This page describes the turn-in software you will use to turn-in your CS 438 & 505 assignments.

It is important to understand that everything involved with turning in your assignment is handled by software, including determining when an assignment is turned in late. It’s important that you follow the directions given below to make sure your assignment is not rejected or delayed. If, after reading and understanding this page, you have any questions about turning in your assignment, be sure to send your questions to me or bring them up in class.

You can turn-in your assignment in two ways: submit it or test it. If you submit your assignment, the code you submit will be the basis for your grade on the assignment. If you test your assignment, the code you test will be deleted after the test is completed. Testing your code is not submitting your code; you must explicitly submit your code at least once per assignment.

You may turn-in (submit or test) your assignment as many times as you want, up until the deadline for that assignment. After the deadline has passed, any further attempts to submit your assignment are rejected without penalty and your most recent assignment submitted is retained. If you have not submitted your assignment by the deadline, you may make a single submission with penalty after the deadline; any further attempts to submit after the deadline are rejected. You may test your assignment as many times as you want, whenever you want.

Your assignment must be turned-in from your Monmouth University account. The mailbox software uses various utilities to verify your identity (to the extent that your identity can be reliably verified with e-mail), and those utilities are usually inaccessible when e-mail is sent from outside the Monmouth domain. The mailbox software rejects any e-mail sent from an account it doesn’t recognize as belonging to a class member.

Assignment Turn-In

Turn-in your assignments using send-files:
/export/home/class/mucsos/bin/send-files ano t|s [files]
where ano is the number of the assignment you're turning in (1 ≤ ano ≤ 6). You can find the assignment number at the top of every assignment page, as well as in the schedule link from which you found the assignment page.

Give the t command-line argument to indicate you’re testing your assignment; otherwise, give the s command-line argument to indicate you’re submitting your assignment. You must give one of t or s, but not both (the bar character ‘|’ indicates one or the other, but not both).

files is an optional list of files. If a list of files is given on the command line, send-files will send all and only those files given. If no list of files is given on the command line, send-files will send all the Java files it finds in the directory in which it was called. send-files assumes any file ending in the extension .java is a Java file.

When you list files on the command line, you should list only those file found in the current directory; you should not list files found in subdirectories or the parent directory of the current directory.

If you list no files on the command line, send-files sends only the files it finds in the current directory, it will not look in other directories for files. Also, send-files will send all files it finds, so make sure the current directory contains only the files you want to send.

The five-minute response time only applies to your Monmouth University mailbox. If you forward your mail somewhere outside Monmouth, no response-time guarantees can be made, and it can take arbitrarily long to get your reply.

A Turn-In Shortcut

You can reduce the amount of typing you have to do when turning in an assignment by defining an alias to the send-files. If you’re running ksh or bash as your shell, add the following line to your $HOME/.profile file:

alias send-files=/export/home/class/mucsos/bin/send-files

Typing alias send-files will tell you if send-files is defined as an alias and, if it is, to what it is defined:

$ alias send-file
send-file: alias not found

$ alias send-files
send-files=/export/home/class/mucsos/bin/send-files

$ 

Once you’ve defined the send-files alias, you can type it instead of the full path name:

$ send-files 1 s
Files sent:
ProcessDescriptor.java
ProcessQueue.java
StorageBlocks.java
group
os.java

$ 

If you’ve defined an alias, there’s no need to use ./ as a prefix to execute it; in fact, if you use ./ ksh or bash won’t recognize the alias:

$ ./send-files 1 s
/bin/ksh: ./send-files:  not found

$ 

If you want more information on aliases, or if you’re not running ksh or bash as your shell, see the alias section of the man page for your shell.

Group Projects

If you wish, you may do your projects as part of a group of two.

You indicate your group by including a file named group in your assignment turn-in. Note the file name is group with no extension or other adornments.

The group file contains the Monmouth student ids of the members of your group; one of the ids will be yours, the other will be that of your partner. For example, if your account id is s000000 and your partner’s is s999999, then the group file will contain

s000000 s999999

Student ids may appear in any order; white space in excess of that needed to separate the ids is ignored.

Every assignment turn-in must include a group file; assignment turn-ins without a group file are rejected. If you don’t want to join a group, the group file you include with your assignment turn-in contains only your student id.

Once you turn-in a group file, you must continue turning-in the same group file. If you want to change your group — either by dropping a person, adding a person, or switching a person — you have to let me know so I can reset the group-tracking files.

Any group member may submit an assignment; if several group members submit the assignment, the most recently received assignment is taken as the group submission. The reply to a turn-in is sent only to the person turning-in the assignment.

Testing doesn’t need a group file, so you may test your code without forming a group. However, once you want to turn-in an assignment, you need to decide on your group.

Turn-In Results

If you’re turning-in an assignment, it is unpacked and compiled, and the results are sent back to you as a response. If you’re testing an assignment, it is unpacked and compiled, the results are sent back to you as a response, and then your assignment is deleted.

You should receive a response within five minutes after sending your e-mail. If everything goes well, your response should look something like this:

From: rclayton@rockhopper.monmouth.edu
Date: Wed, 22 Feb 2015 05:51:26 -0500
To: s0------@monmouth.edu
Subject: Operating systems assignment 1 submit results.
Content-Transfer-Encoding: 7bit

$ date
Wed Feb 22 05:51:03 EST 2015

$ ls
DiskInterruptHandler.java
ProcessDescriptor.java
ProcessQueue.java
StorageBlocks.java
group
os.java

$ javac -Xlint -classpath \
    /export/home/class/mucsos/pa1/pa1-120218.jar:. -implicit:none \
    DiskInterruptHandler.java

$ javac -Xlint -classpath \
    /export/home/class/mucsos/pa1/pa1-120218.jar:. -implicit:none \
    ProcessDescriptor.java

$ javac -Xlint -classpath \
    /export/home/class/mucsos/pa1/pa1-120218.jar:. -implicit:none \
    ProcessQueue.java

$ javac -Xlint -classpath \
    /export/home/class/mucsos/pa1/pa1-120218.jar:. -implicit:none \
    StorageBlocks.java

$ javac -Xlint -classpath \
    /export/home/class/mucsos/pa1/pa1-120218.jar:. -implicit:none os.java

$ /usr/local/findbugs/bin/findbugs -textui \
    -auxclasspath /export/home/class/mucsos/pa1/pa1-120218.jar *.class

$ java -ea -cp /export/home/class/mucsos/pa1/pa1-120218.jar:. main os \
    /export/home/class/mucsos/pa1/pa1-empty.dsk

The system is halted.
Total execution time:  10 ticks, idle time: 9 ticks (90%).

$

--

Your turn-in and this reply have been dealt with entirely by software
without human intervention.  You should not assume any person other
than yourself is aware of your turn-in or this reply; in particular,
the person who appears to have sent you this reply is completely unaware
both your e-mail and this reply.

Points to Remember

Q & A


This page last modified on 2015 February 7.