On this page:
Detailed Syllabus
DrRacket

Syllabus

syllabus

W

   

Topics

   

Dates

   

Readings

1

   

The Basics

   

____, 09/03, 09/04

   

2e: Prologue

2

   

Atomic Data, Intervals

   

09/08, 09/10, 09/11

   

2e: I:1-3

3

   

Structures and Unions

   

09/15, 09/17, 09/18

   

2e: I:4-7

4

   

Large Data 1

   

09/22, 09/24, 09/25

   

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

5

   

Large Data 2

   

09/29, 10/01, 10/02

   

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

6

   

Program Design & Abstraction

   

10/06, 10/08, 10/09

   

2e: III:16-18

7

   

Using Abstractions

   

____, 10/15, 10/16

   

2e: III:19-20

8

   

Intertwined Data: S-expr

   

10/20, 10/22, 10/23

   

2e: IV:22-24

9

   

Intertwined Data: XML

   

10/27, 10/29, 10/30

   

2e: IV:25

10

   

Generative Recursion 1

   

11/03, 11/05, 11/06

   

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

11

   

Generative Recursion 2

   

11/09, 11/12, 11/13

   

2e: V:28, VI:30

12

   

Accumulators

   

11/17, 11/19, 11/20

   

2e: VI:31-33

13

   

Universe Programming 1

   

11/24, 11/26, ____

   

Realm: ch. 13 [optional]

14

   

Universe Programming 2

   

12/01, 12/03

   

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/03

why cs; arithmetic of numbers, strings; administrivia

09/04

arithmetic of images, functions, simple big-bang

 

WEEK 2

09/08

arithmetic of booleans, conditionals in functions

Lab 1

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

09/10

intervals and conditionals

09/11

enumerations and conditionals

Hw. Set 1

functions, simple data

 

WEEK 3

09/15

Posn, distance0 for Posn, structure type definitions

Lab 2

Posn, functions on Posn, practice structure type definitions

09/17

designing programs: six steps, tests

09/18

the Universe of Data, structures, functions on structures

Hw. Set 2

programs, structures, unions

 

WEEK 4

09/22

Itemisations/Unions

Lab 3

design, unions, structures

09/24

recursion: russian dolls and functions on russian dolls; design

09/25

lists and functions on lists

Hw. Set 3

world program on finite data, lists

 

WEEK 5

09/29

structures in lists

Lab 4

lists, lists

10/01

lists, lists

10/02

design of a list-based world program, 1

Hw. Set 4

lists, game version 1

 

WEEK 6

10/06

design of a list-based world program, 2

Lab 5

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

10/08

design of a list-based world program, 3

10/09

similarities in DDs, abstracting over DDs, signatures for functions

Hw. Set 5

abstraction

 

WEEK 7

____

columbus day

NO LAB NO LAB NO LAB NO LAB NO LAB

10/15

existing abstractions and using them

10/16

more on using loops

Hw. Set 6

game version 1/corrected, using loops

10/16

EXAM: Location: 10 BK, 200 RI and 108 SN

 

WEEK 8

10/20

lambda and scope

Lab 6

using local and loops,

10/22

S-expressions, functions over S-expressions

10/23

trees and forests: functions, design

Hw. Set 7

game version 2: abstraction, loops

 

WEEK 9

10/27

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

Lab 7

S-expressions, with loops

10/29

finish refinement; introduce X-expressions

10/30

refinement: on X-expression enumeration rendering

Hw. Set 8

simple intertwined data, game version 3: multi-player

 

WEEK 10

11/03

processing two complex arguments at once

Lab 8

X-expr, diving into X-expr -- DSLs

11/05

merge sort

11/06

graphs

Hw. Set 9

XML and X-expressions

 

WEEK 11

11/09

veteran’s day

NO LAB NO LAB NO LAB NO LAB NO LAB

11/12

adaptive integration

11/13

Gauss

Hw. Set 10

simple generative recursion

 

WEEK 12

11/17

graph traversals

11/17

EXAM: Location: see blog

Lab 9

generative recursion

11/19

speed from accumulators

11/20

accumulator in data structures: simple version of missionary and cannibals

Hw. Set 11

generative recursion, vectors

 

WEEK 13

11/24

distributed programming, problems

Lab 10

distributed universe programming: ping pong

11/26

thanksgiving recess

____

thanksgiving day

 

WEEK 14

12/01

design universe

NO LAB NO LAB NO LAB NO LAB NO LAB

12/03

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