Syllabus
W
Topics
Dates
Readings
1
The Basics, Atomic Data, Intervals
05/09, 05/10, 05/11, 05/12
2
Structures, Itemizations (Unions)
05/16, 05/17, 05/18, 05/19
3
Large Data
05/23, 05/24, 05/25, 05/26
4
Program Design & Abstraction
____, 05/31, 06/02
5
Abstraction, Intertwined Data
06/06, 06/07, 06/08, 06/09
6
Trees, Generative Recursion
06/13, 06/14, 06/15, 06/16
7
Accumulators, BSL interpreter
06/20, 06/21, 06/22
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