COMP.3010 Organization of Programming Languages, Spring 2016
Prof. Fred Martin (201 section), firstname.lastname@example.org, Mon/Wed/Fri, 12p 1250p, Olsen 109
Prof. Mark Sherman (202 section), email@example.com, Thu/Thu 330p 445p, Olsen 402
TA: Yang Gao, firstname.lastname@example.org
Graders: Gerald Pipes (email@example.com), Matthew Wolf (firstname.lastname@example.org)
We will be using the following book:
Structure and Interpretation of Computer Programs (2nd edition, 1996, ISBN 0070004846)
Hal Abelson and Jerry Sussman
The Abelson/Sussman book is freely available at HTML pages at the publisher's site here. There is a complete PDF version on Github. If you like holding a book in your hands, used hard copies are available between $30 and $40. Make sure to get the 2nd edition, published in 1996. Here are links: bigwords, alibris, amazon, bookfinder
There are five categories of work that will be assessed:
- Programming assignments 20%. The assignments are the primary way for developing an understanding of course material.
- Two mid-semester exams 10% each x 2 = 20%.
- Final exam 30%.
- Term project 25%. A significant part of the class will be an independent implementation project, which you will specify and carry out, primarily over the last month of the semester. We'll start conceptual work on the project earlier than that. I will expect the project to represent a significant work effort.
- Classroom and discussion forum participation 5%.
The Bottlenose Autograder
Programming assignments will be submitted to Bottlenose, the department's autograding system (at https://grader.cs.uml.edu).
The autograder will assign a provisional score to your work, based on determining that your functions produce the proper outputs given particular test inputs. Then, your work will be reviewed by a TA, and the score will be adjusted up or down as appropriate.
#t(“true”) to indicate that you have included the explanation. The autograder only checks the flag and gives you credit. The TA then reviews your answer and decides if those points are warranted.
You can submit multiple times to the autograder without penalty.
Only the final submission will be reviewed by the TA.
Assignments are due at 11:59p on the day that is specified.
Assignments will lose 20% of their value per day that they are late. 12:01a on the following day counts as a whole day. After the fifth day, they will not receive any score. (You may still submit them to the autograder for feedback, but the grade will automatically be set to 0, and TAs will not review them.)
Collaboration and Academic Integrity Policy
You are welcomed and encouraged to discuss ideas in the class with your peers. However, pair programming or other side-by-side work that involves sharing of code is not allowed.
The instructors are fully aware that solutions to many of the homework problems are available on the internet.
In addition to manually inspecting your code, TAs will routinely submit code to the Stanford MOSS system (Measure of Software Similarity).
If your code appears to have been copied from online solutions (or another student's solutions), you will be called into office hours to defend your work in an oral examination.
In short: By turning in an assignment, you attest that you have written the new code that it includes.
No Posting of Solution Code Policy
You are not allowed to post solution code to problem sets assigned in this class in public places (e.g. Github). This includes your own solutions as well as solutions that may be provided by the instructors.
This policy is a courtesy to future students, who to the fullest extent possible should have the opportunity to struggle with the problems in the same way that you do.
Please note that this is typical policy at premier computer science departments. E.g.:
- Princeton COS 126. Your work must never be shown or communicated to anyone who is taking COS 126 now or who might take COS 126 in the future. ... You must never place your work in any public location (including websites, leaving printouts in a classroom, etc.). ... The rules ... continue to apply even after this semester is over.
- Harvard CS50. Not reasonable: Providing or making available solutions to problem sets to individuals who might take this course in the future.
- MIT 6.01. Students should never share their solutions (or staff solutions) with other students, including through public code repositories such as Github. (emphasis in the original)
Non-compliance will be pursued rigorously per UMass Lowell's academic integrity policy.
Students are responsible for all material covered in class, and are expected to attend all class meetings. Attendance will not be taken.
Exams will be announced at least one week before they are administered. In-person participation of final project presentations is required. Make-up opportunities will be made only in the case of emergencies, not scheduled conflicts (e.g., work).
In Martin's section, recordings of lecture content will be made available at http://echo360.uml.edu/martin201516/orgofprogramminglang.html.
Sherman't lecture capture recordings here: http://echo360.uml.edu/sherman2016/orgofproglang202.html
Discussion Group / E-Mail List
We will use Google Groups for class conversation and announcements. Please request to join the group at https://groups.google.com/forum/#!forum/uml-opl-spr16.