CSE 341 -- Homework Submission Guidelines

Please read all of this information very carefully. If you have any questions, the earlier you ask, the better. These policies apply to all work submitted in this course unless otherwise noted on a specific assignment. The point of these policies is to ensure you get the credit you deserve for your work, getting it to the grader and back to you in a timely fashion, so please double-check them before you submit anything.

Work is due at the beginning of class on the posted due date. You are required to submit two identical copies your work: one copy via computer using the turnin program (notes below) and another as paper printouts in class.

Please make sure your full name, your CSE login, your section, and the assignment number appears at the top of each file you submit to ensure your printouts do not get lost. (See example below.) For code files, include this information in a comment header for each file.

Grace Hopper <graceh@cs.washington.edu>
Section AB
Assignment 1:  Miranda Warmup

Output showing code testing should show both how code is invoked and the resulting output in a plain text file. (See tips below.) Unless otherwise instructed, please put all output in one file with clear headings for separate functions or parts of the output.

For written work, try to use the most platform-independent, lightweight format possible. Plain text should be just fine for most of the written work in this course. (Emacs users, Meta-Q is your friend.)

See the man page for turnin for instructions on how to submit files via computer. (On an instructional host, run man turnin or read it on the web.)

To ensure readability, make sure to print both code and output using a fixed space font like Courier, rather than Times or Arial, where some characters (e.g., 'i') occupy less width than others (e.g., 'M'). You can do this by printing plain text files from UNIX using lpr or enscript, as described below or from Windows using Notepad.

Grading Criteria

Grading of code will primarily be based on these main criteria:

If your code satisfies all of the above requirements, you can expect to get a very good grade.

Tips

Capturing Output

You can copy and paste out of terminal windows after running your code. Unless you have multiple screens worth of output, this is the recommended and probably easiest method. If you use emacs, you can run your code from a shell started inside emacs (Meta-X shell), facilitating copying and pasting. Regardless of your choice of editor, you can also run a special shell whose trancript is saved in a file using the useful script program (see man page). With interpreted languages like Miranda, consider defining test functions and data so you don't have to type much to generate output. Finally, many interpreted languages support redirection of output or writing a session transcript to a file, so check your documentation.

Saving Paper

When printing from UNIX with lpr, cut paper use by as much as 50% by using the -Zduplex flag to print two-sided. Save another page by using -h flag to skip the header page and grab your printout right away. (...and even if you don't, it'll have your name, section, and assignment number at the top anyway, right?) See the man pages for lpr, enscript, and psnup for more information.

Printing in the Labs

This is probably covered in an ACM tutorial, but if you're in Sieg 329 or another CSE lab, you can print to the printer in the room by adding something like -Pps329 to your lpr command.

Keeping Pages Together

Two words: Please staple.