Principles of Computer Science
Assignments/Grading Policies, Spring 2000
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) to get to turing.cs.hmc.edu. Getting acquainted with turing is a good idea, since some software we use will not be available on other machines.
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. Simply indicate the file name to the instructor or tutor. She or he can connect to the 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 to a15).
To submit an assignment, run the following on
turing (and not some other machine)cs60submit filename |
where filename is the file containing the assignment to be submitted. The file should be an ascii file, that is, it should be source code. The submit system has had problems (though not consistently) with files with more than 80 characters per line. The submission program will ask what assignment this is -- a number [like 6] or a number and a letter [like 1j] -- and then submit the assignment properly. Shortly thereafter (usually a few seconds), you will receive on turing by e-mail an exact copy of what was submitted. You must either read mail on turing or have your mail forwarded in order to get this response. You will notice that some headers are attached, containing certain essential information. These headers are commented out so that compilation of the program is not affected. If what you receive is not acceptable (e.g. becomes MIME encoded because it is more than 80 columns or contains control characters), you are responsible for noticing this immediately, correcting the file, and re-submitting it. All submissions will be 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; some credit in each assignment (10-20%) will depend 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:
Programs which do not compile will not receive any points. Thus it is always better to submit a compilable partially-correct solution than an ostensibly fully-done solution which does not compile. 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.