How to submit assignments electronically


This tutorial assumes you have a PennKey and a SEAS Account. If you have a PennKey and don't have a SEAS account, get one.

We also assume that you know how to copy your assignments to your SEAS network home directory and use ssh to login to eniac.

If you don't know how to use SSH

If you use Windows, you need to install an SSH client, for example as described here:


Then you can connect to eniac.seas.upenn.edu using your SEAS account. Once you're connected, you can open an SFTP session (if you're using "Secure Shell") that will allow you to transfer files between your computer and your SEAS home directory. (In "Secure Shell", it's by clicking on a little folder icon at the top of the screen.) Then, once you have your file on your SEAS account, you can use turnin on the command line following the rest of the tutorial.

Here's http://www.rain.org/~mkummel/unix.html a quick summary of UNIX command line interface and many guides and tutorials online.

Here's another quick synopsis of using scp and ssh:

You first need to get your homework files onto eniac. One way to do this is with the scp command. On a command line, if your code is in a directory called "hw1" then you can copy it to eniac doing something like:

scp -r hw1 <pennkey>@eniac.seas.upenn.edu:.

and then when you log into eniac using

ssh <pennkey>@eniac.seas.upenn.edu

you should see the "hw1" folder there.

Using turnin

Let's assume that you are now logged into the eniac cluster. You have your files organized into a folder called my_code. Here is what you do:

dwe@minus:~> cd my_code/

Now let's see what assignments (projects) you can currently submit to. Everything related to homework submission is done through the turnin command.

dwe@minus:~/my_code> turnin -c cis520 -l
Current projects for cis520:
homework2        on (current)

Ahah! It looks like there is a project called homework2, and submission is currently enabled. We want to submit everything in my_code to this directory. This is easy:

dwe@minus:~/my_code> turnin -c cis520 -p homework2 -v *
-rw-rw---- dwe/dwe           0 2011-09-21 19:28 my_file_1.m
-rw-rw---- dwe/dwe           0 2011-09-21 19:28 my_file_2.m
-rw-rw---- dwe/dwe           0 2011-09-21 19:28 my_file_3.m
Your files have been submitted to cis520, homework2 for grading.

We see that we have submitted 3 files for grading.

Getting automatic test results

Once you've submitted your assignment, your submission should be picked up by our automatic grading script within a few minutes or so. You should get email notification of any automatic test results once your assignment is run.

Group work

Please edit the Group.txt and put your member pennkeys and names in that file. One line for each person. The Group.txt should look like:

pennkey1 Sheldon Cooper
pennkey2 Leonard Hofstadter
pennkey3 Raj Koothrappali
pennkey4 Howard Wolowitz

NOTE: We assume that your email is username@seas.upenn.edu. If this is wrong, put an email.txt (raw text file) file in your submission folder with your correct email inside. On eniac, you can create such a file by entering echo "email@address.com" > email.txt.

If you find that it's taking a long time to evaluate your assignment, you can check that status of the automatic grader at: http://www.seas.upenn.edu/~cis520/monitor/

Note that not all assignments will provide detailed feedback, and that feedback may not be ready right when an assignment is first released.