CS 3S -- Self-Paced Introduction to Symbolic Programming 1-4 units (the first two units of CS 3S must be taken together). Self-paced. Offered fall, spring, and summer terms. Restrictions on enrollment: CS 3S is a "Computer Science Service Course" with restrictions on credit toward graduation as specified in the rules for such courses. ABBREVIATED COURSE TITLE INTRO SYMBOLIC PROG INSTRUCTOR IN CHARGE M. Clancy, Senior Lecturer. CATALOG DESCRIPTION The same material as CS 3 but in a self-paced format: introduction to computer programming, emphasizing symbolic computation and functional programming style, using the Scheme programming language. Units assigned depend on amount of work completed. The first two units must be taken together; the course may be repeated for credit up to a total of four units. PREREQUISITES High school algebra. EXPANDED DESCRIPTION This is a self-paced course in which the unit credit depends on the number of topics a student masters, and the grade depends upon the level of mastery demonstrated by the student. Course activities include quizzes that test language details and programming assignments that provide practice with the language and associated programming techniques. There are no formal required lectures; the student meets with tutors for consultation on and evaluation of all programming assignments and quizzes. Topics for the first unit of credit include the following. The Scheme evaluator: atoms and use of built-in Scheme functions. Definition of functions, scope of variables. Predicates and conditional evaluation. Lists. Topics for the second unit of credit include the following. Linear recursion. Planning and debugging. The first two units must be taken in the same semester. Topics for the third unit of credit include the following. Tree recursion. Advanced data structures. Functional operators. The fourth unit consists of a large (200 lines or more) programming project. TEXTBOOKS *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.