BU CAS CS 520
Principles of Programming Languages
Semester: Fall 2011

Course Information

  • Instructor: Hongwei Xi (email: hwxi AT cs DOT bu DOT edu)
  • Instructor's Office: MCS 287
  • Instructor's Office Hours: TR: 12:30-1:30; W: 2:00-3:00; or by appointment
  • Grader: Zhiqiang Ren (email: aren AT cs DOT bu DOT edu)
  • Syllabus: (pdf) (ps)
  • A week-by-week schedule
  • Lecture Times: Tueday & Thursday 11:00-12:30
  • Classroom: STH 440 @ 745 Commonwealth Ave.
  • Midterm: Take-home
  • Final Project: Presentation

Overview

Principles of Programming Languages is a course that introduces students to some fundamental principles and techniques in modern programming language design and implementation. The course mainly covers type theories in programming and emphasizes the need for mathematical formalism in both describing and analyzing programming languages and programs.

Prerequisites

  • Familiarity with programming in general.
  • CS320 (Concepts of Programming Languages) or equivalents.

Reference Books

Programming Languages

  • ATS (this mode may be helpful if you use emacs to edit ATS source code)

Notes

  • Inductive Reasoning (pdf) (ps)
  • Untyped Lambda-Calculus (pdf)(ps)
  • Simple Types (pdf) (ps)

Class Calendar

  • Tuesday, 6 Sep, 2011: Class begins.
  • Thursday, 24 Nov, 2011: Holiday recess.
  • Thursday, 8 Dec, 2011: Last day for the class

Assignments

Midterm

Final Project

Solutions

This page is maintained by Hongwei Xi (email: hwxi AT cs DOT bu DOT edu).