15-122 Principles of Imperative Computation, Summer 1 2015


The code handout and the writeup for each programming assignment is available through Autolab.

You can also download the code handout from here without logging in to Autolab. Please don't download anything in this directory that hasn't been released on Autolab, or you may get an invalid version of the assignment.

Deadlines and Late Days

All written homeworks are due at 3:00pm, the beginning of recitation. There are no late days and no late work will be accepted without advance permission of the instructor.

All quizzes will open at 11:00pm on the day before they are announced and will close 48 hours later. The Wednesday quiz is open 11pm Tuesday to 11pm Thursday, and the Friday quiz is open 11pm Thursday to 11pm Saturday.

All programming assignments are due at 11:00pm on the due date. You get two free late days, which means that for exactly two programming deadlines you can turn in your assignment within 24 hours after the deadline. Aside from this, late work will not be accepted without advance permission from the instructor. This does not apply to the final C0VM deadline, which cannot be handed in after 11:00pm on Thursday, June 25.

Collaboration and Academic Integrity

The form we ask all students to sign is here.

Please read the University Policy on Academic Integrity carefully to understand the penalties associated with academic dishonesty at Carnegie Mellon. In this class, cheating/copying/plagiarism means copying all or part of a program or homework solution from another student or unauthorized source such as the Internet, knowingly giving such information to another student, or giving or receiving unauthorized information during an examination. In general, each solution you submit (quiz, written assignment, programming assignment, or exam) must be your own work. In the event that you use information written by another person in your solution, you must cite the source of this information (and receive prior permission if unsure whether this is permitted). It is considered cheating to compare complete or partial answers, discuss details of solutions, read other students’ code or show your code to other students, or sit near another person who is taking the same course and try to complete the assignment together. It is a violation of this policy to hand in work for other students.

Your course instructor reserves the right to determine an appropriate penalty based on the violation of academic dishonesty that occurs. Violations of the university policy are likely to result in severe penalties including failing this course and possible expulsion from Carnegie Mellon University. If you have any questions about this policy and any work you are doing in the course, please feel free to contact your instructor for help.

We will be using the Moss system to detect software plagiarism.

It is not considered cheating to clarify vague points in the assignments, lectures, lecture notes, or to give help or receive help in using the computer systems, compilers, debuggers, profilers, or other facilities, but you must refrain from looking at other students’ code while you are getting or receiving help for these tools. It is not cheating to review graded assignments or exams with students in the same class as you, but it is considered unauthorized assistance to share these materials between different iterations of the course. Do not post code from this course publicly (e.g. to Bitbucket or GitHub).

Valid CSS! Valid XHTML 1.0 Strict