On this page:
Detailed Syllabus
DrRacket

Syllabus

syllabus

W

   

Topics

   

Dates

   

Readings

1

   

The Basics

   

____, 09/09, 09/10

   

2e: Prologue

2

   

Atomic Data, Intervals

   

09/14, 09/16, 09/17

   

2e: I:1-3

3

   

Structures and Unions

   

09/21, 09/23, 09/24

   

2e: I:4-7

4

   

Large Data 1

   

09/28, 09/30, 10/1

   

2e: int.: BSL, II:9-10

5

   

Large Data 2

   

10/05, 10/07, 10/08

   

2e: int.: quote, II:11-14, I:3.6

6

   

Program Design & Abstraction

   

10/12, 10/14, 10/15

   

2e: III:16-18

7

   

Using Abstractions

   

10/19, 10/21, 10/22

   

2e: III:19-20

8

   

Intertwined Data: S-expr

   

10/26, 10/28, 10/29

   

2e: IV:22-24

9

   

Intertwined Data: XML

   

11/2, 11/4, 11/5

   

2e: IV:25

10

   

Generative Recursion 1

   

11/9, 11/11, 11/12

   

2e: V:25-27, 2e: IV:26-27

11

   

Generative Recursion 2

   

11/16, 11/18, 11/19

   

2e: V:28, VI:30

12

   

Accumulators

   

11/23, 11/25, 11/26

   

2e: VI:31-33

13

   

Universe Programming 1

   

11/30, 12/2, 12/3

   

Realm: ch. 13 [optional]

14

   

Universe Programming 2

   

12/07, 12/09

   

Realm: ch. 14

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

____

labor day

09/09

why cs; arithmetic of numbers, strings; administrivia

09/10

arithmetic of images, functions, simple big-bang

 

WEEK 2

09/14

arithmetic of booleans, conditionals in functions

Lab 1

drracket, define, interactions, errors, conditional functions, stepper

09/16

intervals and conditionals

09/17

enumerations and conditionals

Hw. Set 1

functions, simple data

 

WEEK 3

09/21

Posn, distance0 for Posn, structure type definitions

Lab 2

Posn, functions on Posn, practice structure type definitions

09/23

designing programs: six steps, tests

09/24

the Universe of Data, structures, functions on structures

Hw. Set 2

programs, structures, unions

 

WEEK 4

09/28

Itemisations/Unions

Lab 3

design, unions, structures

09/30

recursion: russian dolls and functions on russian dolls; design

10/1

lists and functions on lists

Hw. Set 3

world program on finite data, lists

 

WEEK 5

10/05

structures in lists

Lab 4

lists, lists

10/07

lists, lists

10/08

design of a list-based world program, 1

Hw. Set 4

lists, game version 1

 

WEEK 6

10/12

columbus day

Lab 5

quote, quasiquote, comma | design of finite-state world program

10/14

design of a list-based world program, 2

10/15

design of a list-based world program, 3

Hw. Set 5

abstraction

 

WEEK 7

10/19

similarities in DDs, abstracting over DDs, signatures for functions

10/19

EXAM: Location: TBA (see blog)

NO LAB NO LAB NO LAB NO LAB NO LAB

10/21

existing abstractions and using them

10/22

more on using loops

Hw. Set 6

game version 1/corrected, using loops

 

WEEK 8

10/26

lambda and scope

Lab 6

using local and loops,

10/28

S-expressions, functions over S-expressions

10/29

trees and forests: functions, design

Hw. Set 7

game version 2: abstraction, loops

 

WEEK 9

11/2

refinememt: interpreter: cut BSL to nothing, add variables, add functions

Lab 7

S-expressions, with loops

11/4

finish refinement; introduce X-expressions

11/5

refinement: on X-expression enumeration rendering

Hw. Set 8

simple intertwined data, game version 3: multi-player

 

WEEK 10

11/9

processing two complex arguments at once

Lab 8

JSON

11/11

veteran’s day

11/12

sorting

Hw. Set 9

Trees

 

WEEK 11

11/16

adaptive integration

Lab 9

generative recursion

11/18

Gauss

11/19

graphs

Hw. Set 10

simple generative recursion

 

WEEK 12

11/23

graph traversals

11/23

EXAM: Location: TBA (see blog)

NO LAB NO LAB NO LAB NO LAB NO LAB

11/25

Thanksgiving recess

11/26

Thanksgiving day

Hw. Set 11

generative recursion, vectors

 

WEEK 13

11/30

speed from accumulators

Lab 10

distributed universe programming: ping pong

12/2

accumulator in data structures: simple version of missionary and cannibals

12/3

distributed programming, problems

 

WEEK 14

12/07

design universe

NO LAB NO LAB NO LAB NO LAB NO LAB

12/09

pre-design of hungry henry

Hw. Set 12

a flavor of Hungry Henry

A semester can unfold in unpredictable ways. Therefore the detailed syllabus is subject to changes