Homework Assignments

We will use the CS submit system for homework turn-in. Please follow the directions on homework requirements and the procedures on how to submit your homework electronically.

General Requirements for Homework Assignments

We will have about 10 homework assignments. Most homework will consist of both written assignments and programming assignments (either writing small programs in specified languages or implementing part of a language interpreter). Your submission should have the following general format:

  1. You should provide a README text file to descrbie your submission files: your README should describe what problems you solve for the homework, what are the other files in your submission; how to run your programs, what are the command lines, what are the input, what output will be generated; list any of your testing input and input files, and the sample results; describe your testing procedures and results;
  2. In your README file, it should have a section called "Report" written in plain English prose style. In the Report section, you should describe briefly what you have done in your homework, descriptions of your algorithms, any design and implementation work, and a summary of what you have learned.
  3. You should have the following honor pledge section written at the beginning of your homework:
    ``On my honor, I abide by the University Honor Code and the submitted project is my own work.''
    Homework without the above honor pledge will not be graded.
  4. You should submit your README on your Wiki page. You may refer to the example README as template. Your README file will account for 10% of your grading.
  5. For written assignments (semantics proofs, type questions, etc), you should typeset your solution and submit as a word .doc file or PDF file.
  6. For programming assignments, you should submit your source code with proper comments. You should develop proper testing cases for your program to test your code. Submit any of your test code and running results. You can use "script " command on linux to capture interactive session running your code and submit the output script file as result (Run ``man script'' on mercury for information on its use). You should describe how to run your code and related files in your README.
  7. Finally, as each homework may involve multiple files, your should name your files with homework and problem number as prefix, for example, for Problem 1 in HW1, you should name your file hw1_prob1_factorial.scm, etc. For modification to given interpreter files, also use the prefix to any related files. Failing to identify your files clearly will result in deduction in your grading.

DIRECTIONS FOR ONLINE HOMEWORK SUBMISSION

To submit your homework, do the following step by step:

1. login to your account on mercury.cs.uml.edu and create a new directory, say "myhw1":
mkdir myhw1

2. upload all your homework files in to the directory you created in Step 1, say "myhw1"

3. change directory to the higher level directory above your directory, for example:
cd myhw1
cd ..

4. type "submit cs531 hw1 myhw1", here: cs531 is the course account, "hw1" is the submission code for hw#1, use "hw2" for hw#2, etc).

5. now, submit command should report success or failure

6. send email to cs531 to confirm you have submitted your homework

If you have problems with submit, please email cs531 for help *before* the due date.

Homework assignments will be posted on this page later...