Homework Guidelines


Homework File Header

Homework in CS 330 is submitted online. In order to submit HW, you must be logged into the CS 330 website, which means you need to create an account. (If you encounter an error submitting the homework, please make sure your login session has not expired--try logging out and back in, then submitting the homework again.)

In order for your HW to be accepted, the header of your homework file MUST conform to the follow specification: The header of your homework file must follow ONE of the following TWO specifications:

#| [name] HW-[number] [email address]

OR

#|
[Name]
homework=[number]
email=[email address]
where the things enclosed in brackets are replaced with the correct information. So, if my name is Billy Bob and the I'm submitting homework 9 and my email address is billy@bob.com, my header would be:
#|
Billy Bob
HW-9
billy@bob.com
or the other format is
#|
Billy Bob
homework=9
email=billy@bob.com
Either one works, but make sure it follows that format exactly. The first line is a multiline comment delimiter, the second line is your name, the third line is the homework number, and the fourth line is the email address. Any blank lines, or other deviation from the specified format will result in an error. Fix it, and try again.

The last thing your header must contain is a statement of original work.

NOTE: The statement of original work is your affirmation that the file you are submitting is your own, original composition.  It should be something to the effect of 'this homework is my own composition'.  If you fail to include this statement in the header at the top of your homework, you will receive zero credit.

Please see the collaboration policy for more details.


Test Cases

For every homework assignment for which you write code, you should include both test cases and the results of their evaluation with your homework submissions.  Simply include the test cases following the function definitions, for example:

;exercise 1.2.3

;--- FUNCTION DEFINITIONS ---

(define add2
(lambda (x)
	(+ x 2)))

;---      TEST CASES      ---

(add2 2)
;---Value: 4
(add2 (+ 3 5))
;---Value: 10

You are more likely to get partial credit back on homework that shows you at least tried to run it on a couple of different test cases.


Commenting Your Homework File

Everything that the scheme interpreter is not supposed to evaluate, like the header, separator lines, comments, test cases, etc. should be commented out.  This is done by using a semicolon ";" preceding the line which is to be commented (as shown above) or by using the "#|" and "|#" symbols to comment out a multi-line section, for example:

#|
Joe Scheme
HW-5
scheme@cs.byu.edu
"rather than being a lazy, cheating weasel and copying
someone else's homework, this is my own composition"
|#

Submitting Homework Online

Turning in homework is very simple. Just follow these steps:

  1. Verify you have saved ALL changes to your work.  Failing to do this may lead to submitting the wrong version of your work.
  2. Log in to the CS 330 Webpage.
  3. Go to the Homework page, and there should be button called "Choose File". Click on it, and it will bring up a file browser.
  4. Once you have selected your file, click the "Submit Homework" button
  5. Your autgrade transcript will be displayed. It will also be emailed to the address you specified in your header.
  6. If there is a problem with the web-based submission, then you probably can't email anything either. In this case, let the TA's and your professor know as soon as possible, and they will try to work things out with you.

That's all there is to it.  Easy or what?

ALSO: If the web page times out and does not return results, it is most likely that your code has fallen into an infinite loop.  Check your code again and try some other test cases before trying to re-submit.  It is extremely rare for the autograder script to fail.


Confirmation Email

As stated above, a confirmation email with your autograded score will be sent to the email address you specified in your homework file header. This will allow you to review the different sections and the points you missed (if any). If you are not satisfied with your grade, you may fix your code and re-submit the corrections until the homework deadline has passed.
However, the autograder is not there to run testcases for you. You are limited to five submissions. Any additional submissions will not be considered. So, please, write your own test cases!

NOTE: Just because the email says you got a certain score does not mean that you will be awarded that score for the assignment.  The TA's look at every student's submissions and determine if the autograder's score is accurate or not.  The TAs reserve the right to add or subtract points based on the content of the assignment.

If you do not receive either a score or some other grading message, then there is something wrong with your submission.  Most likely, it is a missing or incorrect closing comment delimiter.  You could also have mismatched parentheses or functions that fail to terminate their recursion.  Whatever the problem, you should correct it and re-submit your assignment.

You may also want to review the homework policies.


If there are problems with this page, please send mail to <cs330ta@cs.byu.edu>
If you have a comment about the class, please send mail to <seamons@cs.byu.edu>


© 1994-2009, Phillip J. Windley and Bryan S. Morse.  All rights reserved.
Reproduction of all or part of this work is permitted for educational or research use provided that this copyright notice is included in any copy.


Last updated at 5:06 pm on Tuesday, November 23, 2004.