Princeton University
Computer Science Dept.

Computer Science 441
Programming Languages

Andrew W. Appel

Fall 1999


Directory
General Information | Schedule and Readings | Assignments | Announcements

Theory and design of modern programming languages. How languages support abstraction, modularity, concurrency through functional programming, object-oriented programming, and other mechanisms. Operational semantics of programming languages; type systems, polymorphism, and subtyping.
Prerequisites: 217 and 226

General Information

Lectures: Tues, Thurs at 9:00 - 10:20 in room 105 CS Building
Professor: Andrew W. Appel, appel@cs

Teaching Assistant: Eun-Young Lee, elee@cs
  • Office: 414 CS Building
  • Office hours: Monday 3:00 - 4:30, Thursday 1:00 - 2:30.

Current Announcements click here

Problem sets and programming assignments

There will be weekly problem sets. Each problem set will have some pencil-and-paper exercises and some small programming assignments. Programs will be written in ML and Java, and occasionally C.

Software

Both ML and Java are available on the CS department's Unix machines (ux01, ux02, ..., ux05) and on Microsoft Windows. In general, you may do the programming assignments on either Unix or Windows. If you do not have an account on the CS Unix machines, you may obtain one from Jim Roberts, room 208 CS Bldg. Announcements