Principles of Computer Science
Assignments/Grading Policies, Fall 2000
What, Friday?!
Acknowledging the demands of other classes, CS60 has an automatic two-day extension available on each assignment. Assignments submitted within the two-day extension (by Sun. midnight) will be graded for full credit; those submitted between midnight and 2:00 pm on the Monday after will lose half credit; later assignments will not receive credit. (We start posting solutions.) That's not to say they're not worth doing, of course!
Room 102 Beckman is where the X terminals connected to our server turing are. If you don't wish to use an X terminal, you may use a secure protocol (e.g., ssh, SecureCRT, FSecure) to get to turing.cs.hmc.edu. You may check out a CD from the Computer Science office (Olin 1240, 1-5pm) to copy FSecure onto your computer (both Windows and Mac versions are on the CD; if you run linux, you already have ssh). Getting acquainted with turing is a good idea, since some software we use will not be available on other machines. Because FSecure will be in demand, you can download and use (for free) a trial version of SecureCRT for about a month. It's available from www.vandyke.com/products/securecrt/ .
dodds@cs.hmc.edu). You're
also welcome to stop by my office any time (Olin 1245).
You will get an account on turing. In your home
directory you should have a directory named cs60,
whose group owner is cs60. If
not, the system administrator will create one for you. Access to this
directory will thus be by you, the instructor, and the tutors, but
preferably no one else. When properly setup, the directory listing is
obtained by ls -l and should look like this:
drwxrwx--- 2 yourid cs60 512 Sep 8 20:32 cs60/
If the
permissions differ (the letters and dashes on the left), you should
execute the following command from your home directory:
% chmod 770 cs60
Your cs60 directory lets us help you on problems with code without your having to mail the code. You will need to change the permissions of the file you'd like the instructor or tutor to read. To do this, type
% chmod 644 <filename>in the directory containing your file filename. Then email the instructor or tutor and ask them to take a look. She or he can move to your directory and read and write things there. It is a good idea to write all of your code in that directory or one of its subdirectories (a1 or a01 to a15).
To submit an assignment, run the following on
turing from the directory that contains your
assignment files.
|
where <assignment #> is the number of the assignment
being submitted. The file should be an text
file, that is, it should be source code. It's
important that the file be named as specified in the
assignment, e.g., hw1.rex.
When you use cs60submit, your submission is partially graded
on the spot and will return a score of how you did. This feature is
intended to make it easy to catch problems like typos that cause your
submission to fail completely. In addition, you know for sure that you
will receive those points on the assignment. Keep in mind that there
are other tests -- and style guideines -- that your code will be run against.
It is a good idea to keep your files to widths of less than 80 characters (it makes them easier to read and grade). All submissions are kept for archival purposes, but only the latest submission before the time deadline will be graded.
To you have your mail on turing forwarded to another machine, create a file named .forward in your top-level directory. (Yes, there's a dot in front of the file name. To see such files, type ls -a.)
In your .forward file, put the address to which you'd like the mail to be forwarded on the first line. If you want it forwarded and also wish to retain a copy on turing, include immediately after that address and on the same line:
,\yourUsername
where yourUsername is replaced by (what else?) your
turing username.
Note that there is a comma
there, and a backward slash; a forward slash
will not work. Do not create mail-loops by having another machine
forward to turing when turing is forwarding to that machine. This
eats up system resources and may cause the loss of your account.
The assignments will stress programming, though there may also be some paper-and-pencil exercises. Programming assignments help drive home key working concepts and principles. Assignments vary in difficulty and may not be equally weighted. Sufficient information about the programming languages you will be using will be provided in class with some reinforcement in the assignment descirptions themselves. There are considerable online resources for those languages, too, on the references page. You do not have to know these languages when you enter the class. You should, however, have some background in an imperative language such as Java, C++, or Pascal.
Each assignment will be worth 50 points. Partial credit will be given and extra credit (usually 20%) is available. 10 points of each assignment depends on the legibility and commenting of your code --- basically for "good coding style." The following list describes what we expect in terms of coding style. These are worth 2 points each.
Programs which do not compile and run will not receive any points (not even style points!) You will see this when you submit, but keep it in mind. A good idea (in any computer endeavor) is to keep the best working copy of code somewhere safe and alter a different version as you improve things. The best strategy is to progress from a partial, but working, solution toward a final, complete solution by gradually adding features.
Remember, you can always ask about things before you submit your actual product. There is no reason to lose points on most of the above. You also lose no points or esteem for asking.
|
Here is how the points are approximately divided:
|
The two exams are closed-book except that you are allowed one sheet of paper (double sided) containing your own notes. The exam emphasizes conceptual understanding, rather than memorization of fine details. Old exams and additional information is available on the exam page.