Course Description (from General Catalog):
Introduction to programming and computer science. This course exposes students to techniques of abstraction at several levels: (a) within a programming language, using higher-order functions, manifest types, data-directed programming, and message-passing; (b) between programming languages, using functional and rule-based languages as examples. It also relates these techniques to the practical problems of implementation of languages and algorithms on a von Neumann machine. There are several significant programming projects, programmed in a dialect of the LISP language.
Topic Based Outline
CS3
(16 hours)

Welcome to CS3
(38.7 minutes)

Functions
(45 minutes)

Expressions and Procedures
(48.7 minutes)

Words and Sentences
(30.7 minutes)

Booleans: True and False
(44.8 minutes)

Variables
(9.9 minutes)

Recursion
(3.7 hours)

We Take An Exam Together
(37 minutes)

Higher Order Functions
(1.2 hours)

Lambda
(1.7 hours)

Input/Output
(45.7 minutes)

Lists
(55.2 minutes)

Trees
(44.6 minutes)

Fractals
(1.4 hours)

Box and Pointer Diagrams
(50.8 minutes)

Course Summary
(32.6 minutes)
CS3
(16 hours)

Welcome to CS3
(38.7 minutes)

Functions
(45 minutes)

Expressions and Procedures
(48.7 minutes)

Words and Sentences
(30.7 minutes)

Booleans: True and False
(44.8 minutes)

Variables
(9.9 minutes)

Recursion
(3.7 hours)

We Take An Exam Together
(37 minutes)

Higher Order Functions
(1.2 hours)

Lambda
(1.7 hours)

Input/Output
(45.7 minutes)

Lists
(55.2 minutes)

Trees
(44.6 minutes)

Fractals
(1.4 hours)

Box and Pointer Diagrams
(50.8 minutes)

Course Summary
(32.6 minutes)

