CS 653: Topics in Programming Language Implementation -- Programming Models
(Spring 2008)


Syllabus for CS 653 (http://www.cs.colostate.edu/~cs653)

(Detailed class schedule at http://www.cs.colostate.edu/~cs653/schedule.html)

Course Description

In this course, we will read and review papers about various programming models in terms of their ability to effectively express applications in important application domains, and their impact on program analysis, performance, and safety and debugging. Another major component of the course will be a related research project of the student's choosing that must involve a prototype implementation of some kind. This course does not involve a textbook or any exams.

Prerequisites for this course include CS553 or instructor approval.

Date and Time

Monday and Wednesday 12:00-1:15, Room 310B USC


Dr. Michelle Strout (mstrout@cs.colostate.edu), OH: 2:30-3:30pm Tuesday or by appointment, 227 USC


Grades will be posted on RamCT.

Weekly critical reviews of papers: 30%
Project: 30%
Mini Research Exam: 20%
Presenting and leading a discussion on a paper: 10%
Class participation: 10%

Class Communication

We will be using a google group as the class mailing list. You are responsible for the content of any emails I send to this list.
Email: cs653-spring-2008@googlegroups.com
URL: http://groups.google.com/group/cs653-spring-2008

Honesty Policy

The Computer Science Department Student Information Sheet. You must write your own reviews without borrowing text from the paper you are reviewing, the internet, or your friends. Any text from other sources must be properly quoted and cited.

Paper Reviews

Each student will be responsible for writing one critical review of one of the papers covered each week. You need to turn in 8 reviews througout the semester. Keep in mind that 3 weeks of the semester you will not be able to submit a review due to other activities we are doing in class. The reviews should be one to two pages and cover the following questions about the paper:
  • How does the paper address the questions we are asking about programming models this semester?
  • What problem did the paper address?
  • Is it important/interesting? What was the context for the paper? Why should we care?
  • What is the approach used to solve the problem?
  • How does the paper support or otherwise justify the conclusions it reaches?
  • What problems are explicitly or implicitly left as future research questions?

An example review can be found at http://www.cs.colostate.edu/~cs653/example-review.html. You are expected to follow the guidelines put forth in this example.

Paper Presentations and the Mini Research Exam

Each student will be presenting and leading the discussion for one paper and presenting a mini research exam for a set of three papers. The presenter must schedule practice presentations with Dr. Strout at least two days before any in-class presentation. Detailed guidelines for the paper presentation are posted at http://www.cs.colostate.edu/~cs653/presentation.html. Detailed guidelines for the mini-research exam are posted at http://www.cs.colostate.edu/~cs653/mini-research-exam.html.


Each student will do a semester-long project either individually or with a group. The project will consist of the following deliverables:
  • Proposed tool example with preliminary project proposal
  • Proposal and Tool example
  • Verbal status report (15 minutes)
  • Intermediate report
  • Final report and elevator speech
The list of possible projects is available to those in the colostate.edu domain.

Class Participation

Everyone must read each paper. While you are reading each paper, you should develop at least one question or point relevant for discussion of the paper in class. At the beginning of the course, everyone must also indicate some paper preferences.

Michelle Strout
Last modified: March 1, 2008