CSEP 590 Spring 2017 - Programming Systems (PMP)


  • Welcome to Spring Quarter!

Course Description

This course will conver a selection of topics related to the implementation of programming systems (compilers, interpreters, and runtime systems) for modern languages and architectures. We will start with a quick overview of compilers and programming systems, since I expect students will have a wide variety of backgrounds. I expect this to take roughly the first two lectures. After that, we will switch to more of a seminar format. There will be a weekly topic with assigned readings that we will discuss in class. For the first few weeks, I will prepare some material on the weekly topic to open the class and get the discussion started. In later classes, students will present material and help facilitate discussions. Topics to be covered will be driven by student and instructor interest, but may include: automatic vectorization and parallelization, code generation, optimization passes, interpreted languages, garbage collection, and just-in-time compilation.

Course Information

Lectures: Tuesdays 6:30-9:20 pm, Johnson 111
Instructor: Michael ("Mike") Ringenburg, miker[at]cs, office hours by arrangement
Class discussion board: click here
Class email list: csep590b_sp17[at]uw...
Email list archives: click here


Dropbox: Click here
Gradebook: View your scores here
  • Homework #1: Homework 1. Due: Tuesday, April 4 at 6:30pm. Submit via the dropbox link above.
  • Homework #2: Homework 2. Due: Tuesday, April 11 at 6:30pm. Submit via the dropbox link above.
  • Homework #3: Homework 3. Due: Tuesday, April 18 at 6:30pm. Submit via the dropbox link above.
  • Homework #4: Homework 4. Due: Tuesday, April 25 at 6:30pm. Submit via the dropbox link above.
  • Week 5: No homework - work on your presentation research!
  • Homework #5: Homework 5. Due: Friday, June 2 at 11:59pm (last day of quarter). Submit via the dropbox link above.

Student Presentations

Every student will give a presentation about a programming systems related topic during class this quarter. We will allocate the last 3 class sessions to this. Presentations can be about a programming-systems related project you've done at work (or for fun!), or you may choose to research and present on a topic of interest. We will allocate 25 minutes for each presentation. Plan on 15-20 minutes for presenting, and 5-10 minutes for questions and discussion.

If you would be willing to present a week earlier, please let me know (it will make scheduling much easier if we can get one or two early presentations).

A list of possible topic ideas can be found here. Feel free to suggest your own ideas.

Presentation schedule, and links to presentations that were shared:

Lecture Schedule

This tentative schedule will be updated as the quarter progresses. Slides will be posted as they become available. Readings should be done before the associated discussion (in most cases, short reviews of these papers will be due the day before class as part of your homework).