Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

   

Courses

CS 3S. Introduction to Symbolic Programming

Current Schedule (Spring 2008)

Description

Catalog Description: (1-4 units) The same material as CS3 but in a self-paced format: introduction to computer programming, emphasizing symbolic computation and functional programming style, using the Scheme programming language.

Prerequisites: High School Algebra

Course objectives: We intend in this course for students to learn to program in a dialect of the Lisp programming language-specifically, to become comfortable with recursion and applicative operators-and to gain in addition some appreciation of the algorithms underlying modern tools like databases, spreadsheets, and expert systems. As their final project requires a fair bit of software engineering, they will also be making design decisions (algorithm, data structure, time-vs-space, etc) and considering various implementation trade-offs.

Topics covered:

  • The Scheme evaluator: atoms and use of built-in Scheme functions
  • Definition of functions, scope of variables
  • Predicates and conditional evaluation
  • Lists
  • Linear recursion
  • Planning and debugging
  • Tree recursion
  • Advanced data structures
  • Functional operators