Collaboration on homework is encouraged. You are also free to consult any outside sources such as tutorials, books, or wikis, and to seek help from sources such as the #haskell IRC channel on freenode or StackOverflow (though your first stop for questions should be piazza).

However, the following restrictions apply:

• Homework solutions must be written individually. Copying of any portions of code is strictly forbidden.

• You must cite any people or resources you consulted in completing an assignment. For example, at the top of an assignment you might write something like

I collaborated with Grace Hopper and Moses Schönfinkel on
this assignment, received help from edwardk in #haskell, and
http://stackoverflow.com/questions/14585220.

Academic dishonesty of any form will not be tolerated, and will typically result in a score of zero on the assignments in question, at the very least. The Pen Code of Academic Integrity applies.

Homework grades: Each homework assignment is graded on the following scale:

• a maximum of 12 points for correctness
• a maximum of 8 points for coding style. Coding style includes:
• code structure, with the right amount of abstraction,
• robust code, with “tight” types where possible, and error handling otherwise,
• idiomatic function and variable names,
• helpful, concise comments where function names and types alone do not suffice.

Regrading: The TA will usually grade your submissions within one week, and give you feedback on your work. If you for some reason believe that the grades assigned to you are not correct, raise this issue with the TA within one week of receiving the grades.

Lateness: There is no policy for late submission, meaning that you just do not submit late. If that is a problem, talk to Joachim, as soon as you know of the problem.

Final grades will computed as a weighted average:

• 60% homework
• 30% final project
• 10% participation, including both in-class and online, as well as homework solutions that are prettier than necessary.