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 14, in class
Final Exam: Thursday, Oct 11, 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/17 | Introduction to Languages - 14 | Notes |
Powerpoint Sample Slideshow without a language (needs advanced language level) Data definitions and first talk |
||
Tue 9/18 | A First Slideshow Interpreter - 15 | Notes |
ppt-base.ss (starter file for lecture) ppt-stage1.ss (final code) Summary of Racket constructs |
||
Thu 9/20 | 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/21 | Supporting Variables - 17 | ppt-stage3-nolambda.ss (dynamic via vars) |
Macros |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
Mon 9/24 | Introduction to Macros - 18 | Macro notes |
Project Design |
Check-Expect in Pretty Big |
|
Tue 9/25 | Design Review and More Macros - 19 | More macro notes |
ppt-with-macros.ss |
||
Thu 9/27 | Languages and Macros for Finite State Machines - 20 | Automata Notes |
Homework 5 |
Code for language approach Code for functions approach |
|
Fri 9/28 | More Languages and Macros for Finite State Machines - 21 | Automata Macro Notes |
|||
Mon 10/1 | 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/2 | Introduction to a Web Server - 23 | Simple http server Web page for hello example Using HTML in Racket |
|||
Thu 10/4 | The Problem with Web Programming - 24 | Web Programming Notes |
Homework 6 |
||
Fri 10/5 | Continuation-Passing Style (CPS) - 25 | CPS Conversion |
Starter file for class Solutions to problems from class |
||
Sun 10/7 |   | Project Final |
|||
Mon 10/8 | More CPS Conversion - 26 | CPS in conditionals |
Coda |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
Tue 10/9 | Fun with Racket; Course Evals - 27 | Racket Syntax |
Homework 7 |
||
Thu 10/11 | Final Exam -- In class (OPEN BOOK) - 28 | Prep Guide |
Sample final exam 1 Sample final exam 2 |
A Racket script generated this page on Wed Sep 26 21:25:40 EDT 2012. |