15-150: Functional Programming, Spring 2015

Academic Integrity

All students are expected to be familiar with, and to comply with, the Policy on Academic Integrity.

Any work submitted as a homework assignment or examination must be entirely your own and may not be derived from the work of others, whether a published or unpublished source, the worldwide web, another student, other textbooks, materials from another course (including prior semesters of this course), or any other person or program. You may not copy, examine, or alter anyone else's homework assignment or computer program, or use a computer program to transcribe or otherwise modify or copy anyone else's files.

You should also take care to safeguard your own work, so that no one else can copy it (for instance by seeing your work on a whiteboard or copying it from your laptop).

To facilitate cooperative learning, it is permissible to discuss a homework assignment with other students, provided that the following whiteboard policy is respected. A discussion may take place at the whiteboard (or using scrap paper, etc.), but no one is allowed to take notes or record the discussion or what is written on the board, and you must allow four hours to lapse after any discussion before working on the assignment. The fact that you can recreate the solution from memory is taken as proof that you actually understood it.

We may sometimes run automatic code comparison programs (such as MOSS). These programs are very good at detecting similarity between code, even code that has been purposefully obfuscated. Such programs can compare a submitted assignment against all other submitted assignments, against all known previous solutions of a problem, etc. The signal-to-noise ratio of such comparisons is usually very distinctive, making it very clear what code is a student's original creative work and what code is merely transcribed from some other source.

Homework Assignments


You are allowed up to 3 (three) late days, to be used on any homework assignment (unless the assignment disallows late days). You may only use 1 (one) late day per assignment. Assignments submitted beyond the alloted late days will receive 0 (zero) credit (100% penalty). Use late days wisely!

In general there will be no extensions on assignments. If you think you really really need an extension on a particular assignment (e.g., due to severe illness), contact the instructors as soon as possible before the deadline. Please be aware that extensions are entirely discretionary and may not be granted.


Any source code that you submit must compile cleanly against an unmodified version of the starter code for that assignment. If you submit source code that does not compile cleanly, you will lose a significant amount of credit for that assignment. In particular, the TAs will not grade any of your code.


Each homework assignment will come with a check script. We will not grade assignments that do not pass all of the checks. You should not consider your assignment submitted until you have run the check script and passed all the tests.

The script verifies some very basic properties about your submission: that none of the files have zero size; that all the files are named correctly; that your code compiles against clean copies of any starter code; that any PDFs seems to be valid; etc. In particular, it is not a grading script. Passing the check script means that your assignment will be graded; it does not mean anything about the score you will receive on it.

You should submit written answers as typeset PDFs. The PDFs that you submit containing your written answers must be valid and complete. Invalid PDFs will not be printed, and therefore you will not receive credit for anything that might have been in them.


There will be one midterm and one final examination in this course. The midterm will be given during a class period, the final as scheduled by the registrar.

You may bring one double-sided 8.5" x 11" page of notes to each examination. You may not refer to any other person or source, besides the course staff, during the examination.

Please bring a pen to each examination, as we will ask you to write your answers in blue or black ink.

Missed examinations count as zero credit. Except in the case of dire medical or family emergencies, no make-up examinations will be administered.

You must take the final to pass the class. Failure to take the final examination will result in a failing grade.

Taking Notes

Please take notes by writing or typing. Do not record or tape lectures electronically, whether by audio or video.

Specifically: No student may record or tape any classroom activity without the express written consent of the instructor. If a student believes that he/she is disabled and needs to record or tape classroom activities, he/she should contact the Office of Disability Resources to request an appropriate accommodation.

Grading Policy

last modified 15:15, 29 Jan 2015
Valid CSS! Valid XHTML 1.0 Strict