Course Title
CS 3 - Introduction to Symbolic Programming
Abbreviated Course Title
INTRO SYMBOLIC PROG
Instructors in Charge
Mike Clancy Senior Lecturer
Brian Harvey, Lecturer.
Catalog Data
4 units; 2 hrs lecture, 1 hr discussion section, average of 6 hrs.
self-scheduled programming laboratory. Offered fall, spring, and
summer terms.
This course is a "Computer Science Service Course"; credit restrictions
appear at the beginning of the EECS section of the Berkeley General
Catalog.
Prerequisites
High School algebra.
Catalog Description
Introduction to computer programming, emphasizing symbolic computation
and functional programming style. Students will write a project of at
least 200 lines of code, in a dialect of the LISP programming
language.
Expanded Description
Topics covered are the following:
- Exploration: introduction to the course and to programming.
- Procedures and functions: evaluation, words and lists, functional
programming.
- Variables: data types, inputs to procedures and functions, scope
of variables, assignment.
- Predicates: conditional evaluation.
- Recursion (several models): linear- and tree-recursive operations.
- Planning and debugging.
- Functional operators.
- Other control structures, e.g. iteration, non-local exit.
- Other data structures, e.g. trees, hash tables, property lists,
files.
- Programs as data.
Textbooks
One of the following:
Simply Scheme: Introducing Computer Science,
second edition, Brian Harvey and Matt Wright, MIT Press, 1999.
Exploring Computer Science with Scheme,
Oliver Grillmeyer, Springer-Verlag, 1998.
September 1999
clancy@cs.berkeley.edu