In this course, we will discuss hot topics in Programming Languages and Systems. You are expected to have read and reviewed your assigned paper before class and participate in in-class discussions.
Grades will be based on in-class participation, presentations, reviews, and projects (for those taking the course for 3 credits).
You must submit your reviews via the review submission site the night before each class, by 11:59 p.m. See these notes by John Ousterhout on writing reviews. Focus on the positive!
Your reviews must address the following points (in the review form):
- Detailed Review: (3-4 paragraphs) What is the problem that this work addressed? What are the big ideas / key insights / technical contributions?
- Discussion Points: Include at least two discussion points to bring up in class that are different from those contributed by others.
If you are presenting a paper, you are free to use talk slides from the authors (if available). If the paper has not yet appeared in print, you can choose to either make a PowerPoint / Keynote presentation yourself, or simply lead the discussion at the whiteboard. The presentation should be like a conference talk, ending with leading discussion points.
NOTE: The use of laptops and cell phones is not allowed in class.
All projects in this course are to be done by you / your group. Violation will result in a zero on the project in question and initiation of the formal procedures of the University. We use an automated program and manual checks to correlate projects with each other and with prior solutions. At the same time, we encourage students to help each other learn the course material. As in most courses, there is a boundary separating these two situations. You may give or receive help on any of the concepts covered in lecture or discussion and on the specifics of programming language syntax.
You are allowed to consult with other students in the current class to help you understand the project specification (i.e. the problem definition). However, you may not collaborate in any way when constructing your solution: the solution to the project must be generated by you or your group working alone. You are not allowed to work out the programming details of the problems with anyone or to collaborate to the extent that your programs are identifiably similar. You are not allowed to look at or in any way derive advantage from the existence of project specifications or solutions prepared elsewhere.
If you have any questions as to what constitutes unacceptable collaboration, please talk to the instructor right away. You are expected to exercise reasonable precautions in protecting your own work. Don’t let other students borrow your account or computer, don’t leave your program in a publicly accessible directory, and take care when discarding printouts.