|
CS 3723
Programming Languages Spring 2013 |
Submission of
Recitations |
Paperless Course:
I am using a system of electronic submission of recitations,
to make do with less paper in this course.
All work for recitations will be submitted electronically,
graded, and returned by email.
You must have an account
on the CS network.
Teams of Two:
Teams of two (but never more than two) are allowed in this
course provided that on the week of a particular recitation,
the two team members both work together during one of the regular
recitation time slots. There are no other
circumstances under which two students can submit a joint
recitation. One of the students will submit the recitation
from his or her CS account, but both names must appear at the
head of the submission. Both students must have signed up as
a pair on the regular sign-in sheet.
In spite of the above restrictions, I expect that pairs will
be the norm in this course.
Submission method:
- I will not be using
Blackboard in this course.
- Instead each recitation must be submitted using a program of mine on the
CS network. Specifically, log into one of the
Linux
machines,using your own account,
or else ssh to one of the
elk machines (see item 2 below).
Create your recitation materials as a text file, named say
rec1.txt, although
you can choose any file name in any directory that you wish.
Open a terminal window, and execute the following
from the directory containing this file:
% ~wagner/bin/cs3723r1 < rec1.txt
|
where % is the Unix prompt.
The above is for Recitation 1, and similarly, use
cs3723r2 for Recitation 2,
cs3723r3 for Recitation 3,
etc.
Recitation 0 (called 0. Practice
on the calendar) is a trial run of the
submission process for no credit. Create a file
rec0.txt
and use the submissions command
~wagner/bin/cs3723r0 < rec0.txt
. This will let you see how the system works. This is not
for credit, but the initial deadline is 13 Jan 2013, already in
the past, so full-credit submission is not possible. The part-credit
deadline is 18 Jan 2013, so you could meet this. Of course these
deadlines don't matter.
Below is an interactive session illustrating the correct
submission of Recitation 0. Here a (non-existent) student
named "Ned Wagner" is submitting a file "rec0.txt" from
the student account "nwagner".
The purple text is
what Ned Wagner types in. This assumes he has already prepared
a file "rec0.txt" for submission, and that he is in
the directory where this file resides.
The orange text are comments,
not typed in, and not appearing at all in the session.
% cat rec0.txt # showing the file rec0.txt
Wagner, Ned, CS 3723, Recitation 0.
What you have made me see is as plain as the sky, but I never saw it before.
Yet it has happened every day. One goes into the forest to pick food and
already the thought of one fruit rather than another has grown up in one's
mind. Then, it may be, one finds a different fruit and not the fruit one
thought of. One joy was expected and another is given. But this I had never
noticed before -- that the very moment of the finding there is in the mind a
kind of thrusting back, or setting aside. The picture of the fruit you have
_not_ found is still, for a moment, before you. And if you wished -- if it
were possible to wish -- you could keep it there. You could send your soul
after the good you had expected, instead of turning it to the good you had got.
You could refuse the real good; you could make the real fruit taste insipid
by thinking of the other.
-- C.S. Lewis, Perelandra, 1944
% whoami # showing your account name
nwagner
% ~wagner/bin/cs3723r0 < rec0.txt # submitting recitation
# this is the reply from my program
CS 3723, Programming Languages, Spring 2013
Processing Recitation Number 0
Submission Date/Time: Fri Jan 11 21:09:25 2013
Full Credit Date/Time: Sun Jan 13 23:59:59 2013
Part Credit Date/Time: Fri Jan 18 23:59:59 2013
Received and archived for FULL CREDIT
475 bytes and 9 lines received.
The received file has been emailed to you for confirmation.
% mailx # read mail (old-fashioned mail utility)
"/var/mail//nrwagner": 1 message 1 new
>N 1 Ned Wagner St Tue Jan 3 21:09 34/1319
? 1 # message number 1, the email my program sent you
Message 1:
From nwagner@cs.utsa.edu Tue Jan 3 21:09:26 2012
Return-Path: <nwagner@cs.utsa.edu>
X-Original-To: nwagner@cs.utsa.edu
Delivered-To: nwagner@cs.utsa.edu
From: "Ned Wagner Student Account" <nwagner@cs.utsa.edu>
Date: Tue, 03 Jan 2012 21:09:25 -0600
To: nwagner@cs.utsa.edu
User-Agent: Heirloom mailx 12.4pre 6/29/08
Content-Type: text/plain; charset=us-ascii
Status: R
Submitted by: nwagner@cs.utsa.edu
Course: CS 3723, Spring 2013, Recitation 0
Time Received: Tue Jan 3 21:09:25 2012
Credit: FULL
Wagner, Ned, CS 3723, Recitation 0.
What you have made me see is as plain as the sky, but I never saw it before.
. . . (same as above) . . .
-- C.S. Lewis, Perelandra, 1944
? d # delete mail message
? q # quit mailx
%
|
Two other logs of test runs from the CS3343 course, showing submissions for:
PART (75%) CREDIT, or for:
NO CREDIT.
- If you are running on one of the
Windows machines,
you may need to transfer to a machine that can access the
CS system. Open a terminal window and
connect to the regular Linux network using
the Secure Shell (ssh) with the command:
% ssh username@elk04.cs.utsa.edu
where % is the Unix prompt,
username
is your CS account name,
and elk04 can
to be replaced by one of the other CS client machines, such as
elk01
to elk06.
I have prepared a page illustrating the use of ssh
from a remote Linux or Mac machine:
remote access using ssh.
At this point you can submit as in item 1 above, but you may
still need to go through a step to get the file you want to
access into the CS network. The same page above,
remote transfers using sftp,
also shows how to use sftp, the secure file transfer
program, to transfer files to (and from) UTSA.
There is yet another way to get a file rec0.txt,
currrently in the Windows environment at UTSA,
into the Linux environment at UTSA.
Just save rec0.txt somewhere on the "Z" drive
of the Windows machine. (This only for Windows
at UTSA)
- Each submission must be a
single text file
(.txt ).
Absolutely no WORD, HTML, PostScript,
Zip, or PDF files
(no .doc, no .html, no
.ps, no .zip, no
.pdf files), or any other
formatted or binary file.
(It is just too confusing to try to cope with all the different forms
that documents can take.)
- If you would normally want to submit several files, just
concatenate them into one file. On Unix systems, you can use
something like:
% cat rec1_part1.txt rec1.java rec1.output rec1_part2.txt > rec1.txt
Normally, however, you would want to do the concatenation inside
an editor, identifying each separate file and providing some kind
of line of characters separating different parts.
I recognize that it will sometimes be annoying to write
answers to recitation requirements as a text file, particularly
for mathematical formula. You should not worry about making
these answers particularly neat.
- Each recitation has a
full credit due date and time
(usually Monday at midnight during the week after the recitation).
After that there is a
75% credit due date and time
(usually Friday at midnight during the week after the recitation).
Following the second deadline, the recitation is not good for any credit.
I intend to be strict about these deadlines. If some special
problem comes up, that is what the 75% fallback credit is
for, and if a special problem keeps you from meeting the
second deadline, you just shouldn't have cut it that close,
and it is only one out of 14 recitations. In the end,
you should send something to meet the deadlines even if it
is not complete.
- Unless explicitly stated otherwise,
programs must always
be followed by the results of a run.
- Grading comments will be inserted using
ALL CAPS,
so you should not use these in your submission.
- Submissions for a recitation should not contain extraneous
or excessive material, but should be limited to the recitation
requirements.
- It is permissible to submit the recitation in time for the first
deadline, and then to submit a better version in time for the second
deadline. Your grade in this case will be the better of
the two grades for the two submissions. In case of multiple
submissions for the same deadline, only the latest will be graded,
although all will be archived.
- In an emergency, for example
if you can connect to the Internet but cannot manage to do an ssh
to one of the CS machines (which may very well happen sometimes),
you may email your recitation directly to me at:
neal.wagner@gmail.com
Please try to do this as seldom as possible. The same deadlines will apply,
based on the timestamp on the email.
If there is some long delay between sending an email and
its receipt, I'll deal with that in a fair way.
Please do not send any attachments at all, particularly not
WORD attachments. (Just paste your rec?.txt file in along with your
message.)
- Fallback plans: If this whole submissions process
fails for some technical reason (for example, if there are problems
with the CS facilities or with my software), I will fall back to email
submissions, or even (shudder!) to submissions on sheets of actual physical
paper. (Submission through Blackboard is not an option.)
Security of the submission process:
I wanted a system for submitting and retaining recitations that would be
simple, secure, under my own complete control, and not requiring root
access on any machine. The method I ended up with relies for its security
on the secrecy of the file names. These files reside in directories that
are not world readable, but the file can be read
by anyone who knows its name.
Thus security depends on the secrecy of (long, random) file names.
Dr. Maynard said that this method stinks, because information like the
names of files often leaks out from an OS. He's right.
Especially because this system is not unbreakable, you will be in big
trouble if you crack it and use the cracking to cheat. However, if you
want to study the security of the system (or try to break it),
the C source code for this system is
here.
Revision date: 2012-12-31.
(Please use ISO
8601, the International Standard.)
|