All programming assignments for this class will be submitted electronically from turing/hopper using the e-mail system indirectly.
The most important point to be made here is DO NOT SEND YOUR PROGRAMS DIRECTLY WITH E-MAIL. With as many students as there are in the class, direct e-mail submission leads to chaos. There are too many options. "Should all files be placed in one e-mail or in separate e-mails? Should they go as attachments or in the body of the e-mail? Can I use the e-mail program with my browser at home? Which address do I send my programs to and what do I do if I forget it?"
You get the picture. There are too many ways that things can go wrong.
To make this process easier on you and on the TA, custom programs have been created specifically for submitting course assignments. This page details how to set up your account on turing/hopper in order to use the submission programs.
This is something that you should have already done, either in a previous semester or as part of Assignment 0. If you have never looked at Assignment 0, you will need to do so before you can submit your assignment for grading.
As part of Assignment 0, the configure
script created a directory for your 241 assignments named csci241
. It also changed the permissions on this directory so that you are the only one that can access it. Yes, only you, not the TA or even your instructor will be able to access this directory. This prevents a lot of security headaches.
When you run the setup
command for each 241 programming assignment, a subdirectory will be created in your csci241
directory to hold the files for that assignment. Any new files that you create (or upload) for the assignment should also be placed in that directory.
Prior to submitting an assignment, you will need to remove any executable or object code files in your assignment directory using the rm
command. Binary files can cause problems with the submission script, so it will refuse to submit your assignment until all of the binary files in your assignment directory have been removed.
If you have a makefile provided by the setup
command, running "make clean" will usually be sufficient to remove anything that should not be submitted.
Otherwise, acceptable files include source code (.cpp
) files, header (.h
) files, makefiles (typically named makefile
) and links to input data files (created using the ln
command as part of setup for the assignment). Anything else will usually need to be removed.
Be very careful using the rm
command. If you accidentally remove the wrong file and you don't have a backup of it stored somewhere else, you may end up having to recreate it. There is no "undelete" command in Unix.
In order to submit an assignment, you should be in your csci241
course directory, but not in the directory of the assignment itself. To submit the assignment, type mailprog.241
followed by the name of the directory containing the assignment files. For example:
mailprog.241 Assign1
The mailprog.241 program will examine your assignment directory and ask you to remove executable and object files if any exist. It will also ask you to remove any data files and core files (often created when a program crashes and useful for serious debugging). If there are no prohibited files, it will ask you for the program number. This is just the assignment number (1, 2, 3, etc.). For example, if you're submitting your files for Assignment 1, you should type 1
. It doesn't matter whether this is your first attempt to submit the files or your fifth attempt; you still need to type 1
.
It will then wrap up all the files in your assignment directory, compress them, and e-mail them to your TA and your instructor in a consistent format. An additional copy of the e-mail will be sent to your mail account on turing/hopper as a verification.
The following is a sample session assuming a directory named Assign1. The user in this example is an imaginary student with z-ID z1234567 enrolled in Section 1. Text typed by the user is shown in blue.
z1234567@turing:~$ cd csci241 z1234567@turing:~/csci241$ ls Assign1 z1234567@turing:~/csci241$ mailprog.241 Assign1 ********************************************************************** * WARNING : Do NOT use this program to mail notes to your Instructor * * Doing so may result in the loss of your program !! * ********************************************************************** Enter program number for your assignment: 1 *********************************************************** * Section 1: McMahon / Azad, Al Azher TTh 9:30 a.m. * * Section 2: Byrnes / Tupalle MW 3:30 p.m. * *********************************************************** Enter your section number: 1 shar: Saving /tmp/mailprog.26572 (text) z1234567@turing:~/csci241$
The mailprog.241 program does not destroy or alter any files in your assignment directory. But it does send you a copy of what it sends to the TA and instructor. This copy is sent to you Unix mailbox. If you do not receive the copy, chances are good that your assignment didn't make it to the TA or instructor either.
You can check your Unix mailbox for a successful submission using the command mail
. This command can be run from any directory. To exit out of the mail
program, type q
(for "quit").
Here's another sample session for our imaginary student with z-ID z1234567 enrolled in Section 1 showing the results of a successful submission. Once again, text typed by the user is shown in blue.
z1234567@turing:~/csci241$ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/z1234567": 1 message 1 new >N 1 z1234567@turing.cs Thu Sep 7 14:17 168/5478 HW: CSCI 241 : Program 1 Section 1 & q z1234567@turing:~/csci241$
As you can see from the text above, there is a new message (message #1) indicating that Program 1 was submitted by z1234567 to the Section 1 TAs and instructor on Thursday, September 7th at 2:17 pm.
Submission messages like this will remain in your Unix mailbox until you delete them. However, it's best to just leave them there until the assignment is graded, since they serve as a record of your submission attempts. If something unusual happens and the TA or instructor doesn't receive your submission, you will have evidence of a good faith effort to submit the program, which will allow you to avoid any late penalty.
Once your assignment has been graded to your satisfaction, you can delete any submission messages associated with it from your Unix mailbox to free up disk space. To delete a message in the mail
program, type d
followed immediately by the message number (for example, d1
, d2
, etc.)
There's generally no reason for a student to bother looking at the actual body of a submission message - it's an unreadable block of text encoded with the Uuencode algorithm wrapped in a self-extracting shell archive. Unless you're a Unix guru, it's not going to make much sense.
You can submit an assignment as many times as you wish. The electronic submission system will only keep your last three submissions. The last one is what the TA will grade unless you specifically contact your instructor and ask them to do otherwise.