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 26Here's the official home page for this semester (not necessarily mine).
www.cs.berkeley.edu/~bh