Note: The "Extra Exercises" column provides additional practice exercises that you can try. These will not be graded, and are separate from the homework assignments. You are always welcome to bring questions on these practice problems to office hours. We strongly recommend that you try some of these exercises as you will need to be comfortable programming in Racket by the third week of the course!
Midterm Exam: Friday, Sept 16, in class
Final Exam: Thursday, Oct 13, in class
Schedule (other than exam dates) subject to change without notice!
Some material will not be posted until after class date.
Functional Programming |
Designing and Implementing Languages : SlideShow |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
Mon 9/19 | Introduction to Languages - 14 | Notes |
Powerpoint Sample Slideshow without a language (needs advanced language level) Data definitions and first talk |
||
Tue 9/20 | A First Slideshow Interpreter - 15 | Notes |
ppt-base.ss (starter file for lecture) ppt-stage1.ss (final code) Summary of Racket constructs |
||
Thu 9/22 | Adding Time Conditionals and Dynamic Content - 16 | Notes |
Homework 4 |
ppt-stage2.ss (time) ppt-stage3.ss (dynamic via lambda) set! and when to use it |
|
Fri 9/23 | Supporting Variables - 17 | ppt-stage3-nolambda.ss (dynamic via vars) |
Macros |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
Mon 9/26 | Introduction to Macros - 18 | Macro notes |
Project Design |
Check-Expect in Pretty Big |
|
Tue 9/27 | Design Review and More Macros - 19 | More macro notes |
ppt-with-macros.ss |
||
Thu 9/29 | Languages and Macros for Finite State Machines - 20 | Automata Notes |
Homework 5 |
||
Fri 9/30 | More Languages and Macros for Finite State Machines - 21 | Automata Macro Notes |
|||
Mon 10/3 | Error Checking in Macros and Recursive Macros - 22 | Error Checking in Macros Recursive Macros |
Starter file for class |
Web Programming |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
Tue 10/4 | Introduction to a Web Server - 23 | Simple http server Web page for hello example Using HTML in Racket |
|||
Thu 10/6 | The Problem with Web Programming - 24 | Web Programming Notes |
Homework 6 |
||
Fri 10/7 | Continuation-Passing Style (CPS) - 25 | CPS Conversion |
Starter file for class Solutions to problems from class |
||
Sun 10/9 |   | Project Final |
|||
Mon 10/10 | More CPS Conversion - 26 | CPS in conditionals |
Coda |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
Tue 10/11 | Fun with Racket; Course Evals - 27 | Racket Syntax |
Homework 7 |
||
Thu 10/13 | Final Exam -- In class (OPEN BOOK) - 28 | Prep Guide |
Sample final exam 1 Sample final exam 2 |
A Racket script generated this page on Mon Oct 10 15:10:53 EDT 2011. |