15-150: Functional Programming, Fall 2015

Academic Integrity

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

In addition you must read, be familiar with, and comply with the following 15-150 policy rules. You are required to complete and hand in a document confirming that you have read these documents and that you promise to behave in an appropriately honest and ethical manner.

Any work submitted as a homework assignment or an exam must be entirely your own, developed this semester, and must not be derived in part or whole from work of others. You may not consult another student, except for a current teaching assistant for this course or a tutor provided by Academic Development, and even in these cases you should not ask for detailed help in writing homework solutions. You must not search the internet for homework solutions, and you may not use solutions developed in prior semesters of this course or in related courses. Even if you took this course in a prior semester you are not allowed to re-use solutions from before; if you have any question about what is appropriate, please ask the course staff. You must not copy, use as a guide, or cut-and-paste, any work of another student. You must not look at or alter any part of anyone else's homework solution or exam paper.

You should take appropriate care to prevent other students from cheating, by safeguarding your own work with proper protection to ensure privacy, and by not allowing other students to have access to your files or computer.

To facilitate cooperative learning, it is permissible to discuss lecture notes and conceptual topics, but not homework solutions, and not strategies for writing code or proofs in an assignment.

We may run automatic code comparison software (such as MOSS) on homework submissions to compare solutions from this semester and solutions from earlier semesters. This software is very good at detecting similarities that suggest collaboration or other cheating during code design, even after an attempt to obfuscate. The signal-to-noise ratio in MOSS reports is usually very distinctive, so we can tell if any part of a student's handed in work is derived from some other source.

Violations of this policy will be investigated thoroughly, and may result in zero scores on any assignments brought under suspicion and a report to the university authorities. This may also lead to a disciplinary hearing followed by suspension or expulsion from the university. In short: don't cheat! It isn't worth the risk.

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 midterm and final to pass the class. Failure to take either 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 12:09, 01 Sep 2015
Valid CSS! Valid XHTML 1.0 Strict