Room 102 Beckman is where the X terminals connected to our machine turing are. If you don't wish to use an X terminal, you may telnet to turing.cs.hmc.edu to use it. Getting acquainted with turing is a good idea, since some software we use will not be available on other machines.
You can e-mail questions at any time. The best method is to send your message to cs60help@cs.hmc.edu, which will forward your message to the entire course staff and hence is likely to yield the quickest response.
If you prefer more personal contact, the instructors and gradors/tutors also hold regular office hours. If none of those times works for you, e-mail your instructor to set up an alternative time to meet, or stop by the instructor's office.
To submit an assignment, runthe following on
turing.cs.hmc.edu (and not some other machine)cs60submit filename |
where filename is the file containing the assignment to be submitted. The file should be an non-encoded ascii file with at most 80 characters per line. The program will ask what assignment this is (a number), 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.
Your account may or may not already be forwarding mail sent to your turing account to another machine. You can tell by seing whether there is a file called
.forward
in your home directory (note that the ls command does not display
names beginning with a dot by default, so use ls -a to see
all files.) If it exists, your mail will be forwarded to the address given in
this file. If you want it forwarded and also wish to retain a copy on turing,
include immediately after that address and on the same line:
, \your-login-id-on-turing
where your-login-id-on-turing is to be replaced with your login. Note that there is a comma there, and a backward-slanting slash; a forward slanting 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 will not be equally weighted. The programming languages in which the assignments are to be written include Java, Rex, ISCAL (an assembly-type language), and prolog. Sufficient information about the languages will be provided to enable you to complete the assignments; 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.
Here is the nominal point breakdown we use on assignments. This may vary somewhat, depending on the emphasis of the assignment.
| The program should run according to specification. For example, if you are told to give a function a specific name, do so, as the testing program might not run otherwise. You will then lose points for not following the specification. |
| Comments should be included in the code to expose the method, any subtleties, etc. Your code should be readable without extraordinary effort. Use spacing, braces, etc. to improve readability. Layout characters are not at a premium, so use them liberally. |
| The program should not break in unusual ways for minor input aberrations, not contain constructions which are abnormally inefficient, etc. |
We're sorry, but 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. You are advised to work from a compiling solution toward a final 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 your overall grade is determined: The target isis a total of 1000 points, so each point is 0.1% of your grade. If it turns out that 1000 points are not available, each point is multiplied by the scale factor (1000/pts. available). This is for reference only. If you base your strategy on understanding rather than point acquisition, the points will follow.
|
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.
Past courses' exams are available for review here.
Last term's list of final exam topics is also available.