Page Numbers: Yes X: 306 Y: 1.0" First Page: 1
Margins: Top: 1.0" Bottom: 1.3"
Heading:
SYLLABUS LISP: LANGUAGE AND LITERATURE April 5, 1984
————————————————————————————————————————————
CSLI Seminar on Computer Languages, Spring Quarter 1984
LISP: Language and Literature
Syllabus
Filed as:[phylum]<3-lisp>course>notes>Syllabus.bravo
User.cm:
[phylum]<BrianSmith>system>user.classic
Last edited:
April 5, 1984 11:25 AM
————————————————————————————————————————————
A systematic introduction to the concepts and practices of programming, based on a simple reconstructed dialect of LISP. The aim is both to convey and to make explicit the programming knowledge that is typically acquired through apprenticeship and practice. The material will be presented under a linguistic reconstruction, using vocabulary that should be of use in studying any linguistic system. Considerable hands-on programming experience will be provided.
Although intended primarily for linguists, philosophers, and mathematicians, anyone interested in computation is welcome. In particular, no previous exposure to computation will be assumed. However, since we will aim for rigorous analyses, some prior familiarity formal systems is essential. Also, the course will be more like a course in literature and creative writing, than like a course in, say, French as a second language. The use of LISP, in other words, will be primarily as a vehicle for larger issues, not so much an object of study in and of itself. Since LISP (unlike French) is really very simple, we will be able to teach it in class and lab sessions. Tutorial instruction and some individual programming assistance will be provided.
Topics to be covered:
1.Introduction
2.Abstraction and Modularity I
a.Procedural abstraction
b.Simple data representation
c.Models of processing
3.Abstraction and Modularity II
a.Objects, modularity, state, and encapsulation
b.Input/output, notation, and communication protocols
c.Meta-linguistic abstraction, and problems of intensional grain
4.Explicit theory
a.Notation, structure, and semantics
b.Specification, verification, and correctness
5.Architecture and implementation
a.Abstract machines: implementation and realisation
b.Declarative formalisms: sentences, claims, and constraints
6.Introspection, self-reference, meta-circular processors, and reflection
Throughout, we will pay particular attention to the following themes:
Procedural and declarative notions of semantics
Interpretation, compilation, and other models of processing
Implicit vs. explicit representation of information
Contextual relativity, scoping mechanisms, and locality
Varieties of language: internal, external, theoretic
Programs vs. processes: "description of" vs. "communication with"
Syntax and abstract structure: functionalism and representationalism
Use/mention confusions!
Organizational Details:
Instructor:Brian C. Smith
Xerox: Palo Alto Research Center, 3333 Coyote Hill Road Palo Alto CA 94304.
Stanford: CSLI, Ventura Hall, Stanford University, Stanford, CA 94305
Phone: (415) 494-4336 (Xerox); (415) 497-1710 (Stanford)
Electronic mail: "BrianSmith@PARC"
Office hours: 3:30
6:00 Tuesdays, room 27, Ventura Hall.
T.A.’s:Jim des Rivìeres, John Lamping
Assistants:David Wallace, David Christman
Classes:Tuesday and Thursday 2:003:30 p.m., Room G19, Redwood Hall, Jordan Quad.
Sections:Times to be arranged.
Lab sessions:Times to be arranged.
Requirement:Problem sets will be handed out from time to time, to be worked in 3-LISP on the Dandelion computers at CSLI. Those wishing to take the course for credit will be graded on the basis of answers to problem sets.
Text:Structure and Interpretation of Computer Programs, by Abelson & Sussman (copies will be provided in class).