On this page:
Detailed Syllabus
DrRacket

Syllabus

syllabus

W

   

Topics

   

Dates

   

Readings

1

   

The Basics, Atomic Data, Intervals

   

05/09, 05/10, 05/11, 05/12

   

2e: Prologue, I:1-5.1

2

   

Structures, Itemizations (Unions)

   

05/16, 05/17, 05/18, 05/19

   

2e: I:5.2-7, int.: BSL

3

   

Large Data

   

05/23, 05/24, 05/25, 05/26

   

2e: II:9-14, int.: quote

4

   

Program Design & Abstraction

   

____, 05/31, 06/02

   

2e: III:16-18

5

   

Abstraction, Intertwined Data

   

06/06, 06/07, 06/08, 06/09

   

2e: int.: quote, III:18-20, IV:22-25

6

   

Trees, Generative Recursion

   

06/13, 06/14, 06/15, 06/16

   

2e: IV:25-27, V:29-32

7

   

Accumulators, BSL interpreter

   

06/20, 06/21, 06/22

   

1e: 30-32

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.

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

05/09

why cs; arithmetic of numbers, strings; administrivia

05/10

arithmetic of images, functions, simple animations

05/11

arithmetic of booleans, conditionals in functions

Hw. Set 1

functions, simple data -- due tbd by 7pm

05/12

intervals, enumerations and conditionals

Lab 1

05/10: drracket, define, interactions, errors, conditional functions, stepper

Lab 2

05/12: Posn, functions on Posn, practice structure type definitions

 

WEEK 2

05/16

Posn, distance0 for Posn, structure type definitions, 6 steps of designing programs

05/17

structures, functions on structures

05/18

itemizations of strings, numbers, structures; functions on unions

Hw. Set 2

due tbd by 7pm

05/19

self-referential unions, russian dolls, functions on russian dolls

Lab 3

05/17: The World

Lab 4

05/19: Lists

 

WEEK 3

05/23

self-referential unions, lists

05/24

lists and functions on lists

Hw. Set 3

due tbd by 7pm

05/25

design of a list-based world program, 1

05/26

design of a list-based world program, 2

Lab 5

05/24: Quoted Lists, Worlds

Lab 6

05/26

 

WEEK 4

____

Memorial Day

05/31

abstraction over similar functions

06/01

EXAM: Location: in class

06/02

abstraction

Lab 7

05/31: Exam Review

Lab 8

06/02: Abstraction

Hw. Set 4

due tbd by 7pm

 

WEEK 5

06/06

similarities in DD, abstracting over DDs, signatures existing abstractions and using them

06/07

more on using loops; lambda and scope

Lab 9

06/07: Fun with Higher-Order Functions

06/08

Sets, Mutual recursion, S-expressions

Hw. Set 5

due tbd by 7pm

06/09

processing 2 complex arguments;

Lab 10

06/09: Files and Directories

 

WEEK 6

06/13

trees and forests: functions, design

06/14

generative recursion

Lab 11

06/14: Debugging

06/15

generative recursion

Hw. Set 6

due tbd by 7pm

06/16

merge sort; graphs

Lab 12

06/16: Malicious Chat Client

 

WEEK 7

06/20

speed from accumulators

06/21

BSL interpreter

Lab 13

06/21: Generative Recursion: Drawing Cool Stuff

06/22

Review; Wrap-up

Hw. Set 7

due tbd by 7pm

06/23

EXAM: Location: in class

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