CS 3: Introduction to Symbolic Programming

CS 3 is a dual-purpose course; it's for people who are not intending to major in computer science but want an introduction to programming, and it's also for intended CS majors with no prior programming experience. We make no assumptions about your prior background. Beginners can take this course.

CS 3 is about programming computers. We will use Scheme, a programming language that allows you to express difficult ideas in a short and elegant way without worrying about some of the details that happen inside the computer. The word ``symbolic'' in the title of this course means that we will be dealing with symbols, mostly words and sentences, instead of the numbers that most introductory programming courses emphasize.

If what you want is a course on how to use computer software, such as word processors and spreadsheets, you should take IDS 110 (InterDisciplinary Studies) instead. On the other hand, if you already have programming experience that includes writing recursive procedures and want a more advanced programming course, consider CS 61A.

The textbook for this course is Simply Scheme: Introducing Computer Science by Harvey and Wright.

week  topic                                             reading

1     Functions                                         1,2
2     Expressions; Defining; Words; True and False      3-6
3     Higher Order Functions                            7
4     Lambda                                            8
5     Tic Tac Toe; Variables                            9, 10
      ---Midterm 1---
6     Recursion: combining method                       11
7     Recursion: leap of faith; Recursion: how it works 12, 13
8     Recursive Patterns; Advanced Recursion            14, 15
9     Pattern Matcher; Lists                            16, 17
10    Trees; Implementing Higher Order Functions        18, 19
      ---Midterm 2---
11    Input and Output                                  20
12    Implementing the Functions program; Files         21, 22
13    Vectors; Project                                  23
14    Spreadsheet                                       24, 25
15    What's Next?; Review                              26
Here's the official home page for this semester (not necessarily mine).

www.cs.berkeley.edu/~bh