Princeton University
Computer Science Dept.

Computer Science 510
Programming Languages

Andrew W. Appel

Fall 2000

General Information | Schedule and Readings | Assignments | Announcements

Theory and design of 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.

General Information

Lectures: Mon, Weds, Fri 11:00 - 11:50 in room 103 CS Building
Professor: Andrew W. Appel, appel@cs
Office Hours: 409 Computer Science Building, Monday & Wednesday 1:30 - 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.


Both ML and Java are available on the CS department's Unix machines (ux01, ux02, ..., ux05, gentoo, chinstrap) 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