BU CAS CS 320
Concepts of Programming Languages
Semester: Spring 2002
Concepts of Programming Languages is a course that introduces
students to some fundamental concepts in programming language design and
implementation. The primary goal is to allow students who complete this
subject to have a good feel for the elements of style and aesthetics
of programming and a good command of the major techniques for controlling
complexity in a large system.
The programming language Scheme, a dialect of Lisp that we use in this
course, is an attempt to bring together the power and elegance of List
and Algol. From Lisp we take the metalinguistic power that derives
from the simple syntax, the uniform representation of programs as data
objects, and the systematic management of heap-allocated data. From
Algol we take lexical scoping and block structure.
Ultimately, we would like to make a convincing argument that programming
can be a great of deal fun.