Computer Science 251
Theory of Programming Languages
Spring 2011


Welcome to CS251
In this course you will learn the dimensions of modern programming language such as synatx, naming, state, data control, concurrency, nondeterminism, and types. These dimensions are explored via mini langauges interpreters written in OCaml, Scheme, and Haskell that students experiment with and extend. We will cover major programming paradigms including function-oriented, imperative, object-oriented, and logic programming.
Prerequisite: CS235
Distribution: Mathematical modeling
Semester: Fall, Unit: 1.00

Textbook
There is one textbook in this course: Introduction to the Objective Caml Programming Language by Jason Hickey. We will use parts of this bookto learn the OCaml programming language, which will be our main implementation langauge in the course. This book will soon be published by Cambridge University Press; we will be using an on-line draft copy.

Course Conference
The course conference will contain announcements and changes to the schedule. Please check this conference before each class and especially before an assign is due. In addition, the conference will contain a section for CS251 students ask and answer questions among themselves concerning course material and assignments. You may discuss the homework in general terms, suggest where to go in the text or lecture notes to help someone get started, or you may help clarify an ambiguous question. However, please do not post your solutions either complete or partial. I will check the conference regularly to help with any unanswered questions.

Course Materials
CS251 course materials for each class will be handed out at the beginning of each lecture. Copies are available in .pdf format using the links on this page and require the Adobe Acrobat Reader program for on-screen viewing and printing. This program is installed on most public computers at Wellesley College. If your computer does not have a working copy of Acrobat Reader, it is available for free from Adobe on all major computer platforms. Click on the button to the left to download Acrobat Reader. Note that there are plug-ins that allow you to read .pdf files directly from your browser; again, these are installed on most public computers and are freely available from Adobe. The course resource page contains all manner of documentation for the languages and programs used in this course.

Randy Shull (rshull@wellesley.edu)
Based on JavaScript calendar program by Mark A. Sheldon (msheldon@wellesley.edu)
Computer Science 251, Spring 2011
Last Modified: April 21, 2011
Page Expires: May 31, 2011