Syllabus
W
Topics
Dates
Readings
1
The Basics
09/09
2
Data Types
09/14, 09/16
3
Enumerations, Unions, and Structures
09/21, 09/23
4
Designing Programs
09/28, 09/30
5
Lists
10/05, 10/07
6
Program Design with Lists
10/12, 10/14
7
Program Design & Abstraction
10/19, 10/21
8
Lambda & Scope
10/26, 10/28
9
Trees & Forests
11/2, 11/4
10
Generative Recursion & Graphs
11/9, 11/11
11
Accumulators & BSL Interpreter
11/16, 11/18
12
Broad topic title
11/23, 11/25
13
Broad topic title
11/30, 12/2
14
Broad topic title
12/7, 12/9
The above table is your guide to the entire semester. It lists topics and reading assignments on a week-by-week basis. In the third column you find the primary lecture dates (Profs. Lerner, Razzaq, Shivers).
The readings column is linked to the relevant book’s web site. You can find the required readings there.
You are primarily responsible for the readings not the content of the lectures though the latter will help you understand the former. The weekly problem sets, the quizzes, and the exams will cover the reading material.
Detailed Syllabus
WEEK 1 | |
09/09 | why cs; administrivia; arithmetic of numbers, strings, booleans and images |
Hw. Set 1 | Playing with BSL |
| |
WEEK 2 | |
09/14 | functions; intervals; simple big-bang |
Lab 1 | BSL in Dr. Racket |
09/16 | conditionals in functions |
Hw. Set 2 | Conditional Functions |
| |
WEEK 3 | |
09/21 | enumerations; structures; functions on structures |
Lab 2 | Structures |
09/23 | unions of strings, numbers, structures; functions on unions |
Hw. Set 3 | Design Recipe |
| |
WEEK 4 | |
09/28 | designing programs: 6 steps; tests; the universe of data |
Lab 3 | The World |
09/30 | self-referential unions; russian dolls and functions on russian dolls |
Hw. Set 4 | Making Design Choices |
| |
WEEK 5 | |
10/05 | lists and functions on lists, non-empty lists and functions, structures in lists |
Lab 4 | Unknown |
10/07 | lists in structures |
Hw. Set 5 | Unknown |
10/07 | EXAM: Location: 108 Snell Engineering |
10/08 | EXAM: MAKE-UP Location: 003 Snell Library |
| |
WEEK 6 | |
10/12 | Columbus Day. No classes. |
NO LAB NO LAB NO LAB NO LAB NO LAB | |
10/14 | design of a list-based world program (Part 1) |
Hw. Set 6 | Unknown |
| |
WEEK 7 | |
10/19 | design of a list-based world program (Part 2) |
Lab 5 | Unknown |
10/21 | design of a list-based world program (Part 3), abstraction over similar functions (Part 1) |
Hw. Set 7 | Unknown |
| |
WEEK 8 | |
10/26 | local definitions & O() asymptotic complexity, using loop functions; lambda & scope |
Lab 6 | Unknown |
10/28 | lambda, using loop functions, sets |
Hw. Set 8 | Unknown |
| |
WEEK 9 | |
11/2 | Computing computation: deriv, infinite sets; trees and forests |
Lab 7 | Unknown |
11/4 | trees and forests: functions, design; S-expressions, functions over S-expr |
Hw. Set 9 | Unknown |
| |
WEEK 10 | |
11/9 | leafy-trees; generative recursion: quick sort vs. insert sort, x^n, root finding & the big idea |
Lab 8 | Unknown |
11/11 | Veterans Day. No classes. |
Hw. Set 10 | Unknown |
| |
WEEK 11 | |
11/16 | graphs – big idea, uses, data defs, graph search & accumulators & foldl (reverse, rel->abs) |
Lab 9 | Unknown |
11/18 | accumulators & fold, BSL interpreter |
Hw. Set 11 | Unknown |
11/19 | EXAM: Location: 200 Richards |
| |
WEEK 12 | |
11/23 | topics |
Lab 10 | Unknown |
11/25 | Thanksgiving Recess. No classes. |
Hw. Set 12 | Unknown |
| |
WEEK 13 | |
11/30 | topics |
NO LAB NO LAB NO LAB NO LAB NO LAB | |
12/2 | topics |
Hw. Set 13 | Unknown |
| |
WEEK 14 | |
12/7 | topics |
Lab 11 | Unknown |
12/9 | topics |
Hw. Set 14 | Unknown |
A semester can unfold in unpredictable ways. Therefore the detailed syllabus is subject to changes.