On this page:
Detailed Lecture Schedule
DrRacket
8.1

Syllabus

Week

   

Topic

   

Readings

1

   

Class Motivation; Basic Programming

   

Prologue, Chapter 1.1 to 1.4, Chapter 2

2

   

More Basic Programming; Introduction to Design

   

Chapter 1.5 to 1.7, Chapter 3, Chapter 4.1-4.4

3

   

Design with Fixed-Size Data

   

Chapter 5

4

   

From Fixed Size to Arbitrary Size

   

Chapter 4.5-4.7, Chapter 6, Chapter 9.3-9.4

5

   

Design with Arbitrary-Size Data

   

Chapter 8, Chapter 9, Chapter 10, Chapter 11

6

   

Function Abstractions

   

Chapter 12, Chapter 14, Chapter 15

7

   

Practice: Function Abstractions

   

Chapter 16.1

8

   

Scope; Design Recipe for Abstractions

   

Chapter 16.2-16.7, Intermezzo: Scope

9

   

Lambda; Multiple Complex Inputs

   

Chapter 17, Chapter 23

10

   

Trees and Mutually Recursive Data

   

Chapter 19

11

   

Graphs

   

Chapter 29.1

12

   

Accumulators

   

Chapter 31, Chapter 32, Chapter 33

13

   

Generative Recursion

   

Chapter 25, Chapter 26, Chapter 28, Chapter 29

14

   

Wrapping Things Up

   

The topics are linked to the detailed weekly lecture schedule listed below. The readings are linked to the on-line version of the textbook.

You are responsible for the readings. The lectures will help you understand the readings and may add pragmatic tips. But both the weekly homeworks and the exams will cover the assigned reading.

As the semester may unfold in unpredictable ways, the syllabus is subject to change.

Detailed Lecture Schedule

Homeworks are due at 9:00pm on the day they are listed in the schedule.

Week 1

 

Class Motivation; Basic Programming

01/06

 

1. Why CS; Basic arithmetic; Course administrivia

 

01/08

 

2. Defining constants and functions; Simple animations

 

01/09

 

3. Booleans, conditionals, tests

 

01/10

 

Lab 1

 

    

Week 2

 

More Basic Programming; Introduction to Design

01/13

 

4. The Design Recipe

 

01/15

 

5. World Programs

 

HW 01

01/16

 

6. Structure type definitions

 

01/17

 

Lab 2