CS1102 (A12) Accelerated Intro to Program Design
Lecture and Reading Schedule

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!

Exam Dates

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

DateLecture TopicReadingsExtra ExercisesDueNotes
Thu 8/23Introduction to Racket - 1 HTDP Chapter 2
HTDP Chapter 3
HTDP Section 2.2 Exercises
HTDP Section 2.3 Exercises
HTDP Section 3.3 Exercises
Fri 8/24Images, Symbols and Conditionals - 2 HTDP Chapter 4
HTDP Chapter 5
HTDP Section 4.3 Exercises
HTDP Section 4.4 Exercises
HTDP Section 5.1 Exercises
Mon 8/27Structures - 3 HTDP Chapter 6
HTDP Section 6.3 Exercises
HTDP Section 6.4 Exercises
HTDP Section 6.7 Exercises
Tue 8/28Mixed Data, Nested Structures, Intro to Lists - 4 HTDP Chapter 7
HTDP Section 9.1
HTDP Section 9.2
HTDP Section 7.2 Exercises
HTDP Section 9.1 Exercises
HTDP Section 9.2 Exercises
Thu 8/30Lists and The Design Recipe - 5 HTDP Chapter 9
HTDP Chapter 10
HTDP Section 9.1 Exercises
HTDP Section 9.2 Exercises
HTDP Section 9.5 Exercises
HTDP Section 10.1 Exercises
Homework 1
Code from class
Fri 8/31Lists of structures - 6 HTDP Section 10.2
HTDP Section 10.2 Exercises
  Code from class
Mon 9/3Labor Day -- no class        
Tue 9/4Sorting - 7       Using Templates Effectively
insertion sort code
Thu 9/6Trees - 8 HTDP Chapter 14
HTDP Section 14.2 Exercises
Homework 2
Summary of Template Forms
Notes on trees [ppt]
Notes on trees [pdf]
Fri 9/7Mutual Recursion (more trees) - 9 HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
Mon 9/10Intro to Higher-Order Functions and Filter - 10 HTDP Chapter 20
HTDP Chapter 22
    quicksort code
Notes on loops [ppt]
Notes on loops [pdf]
Tue 9/11Filter and Map - 11 HTDP Section 19.1
HTDP Section 21.1
HTDP Section 21.2
HTDP Section 21.2 Exercises
  Notes and Exercises
filter-ftree code
Notes on lambdas as args
Advanced Loops (OPTIONAL) [ppt]
Advanced Loops (OPTIONAL) [pdf]
Thu 9/13Functions as Values - 12 HTDP Section 22.3
  Homework 3
The GUI teachpack
The room draw solution
Fri 9/14Midterm Exam -- In class (CLOSED BOOK) - 13 Midterm Prep Guide
A07 midterm exam
A05 midterm exam

Designing and Implementing Languages : SlideShow

DateLecture TopicReadingsExtra ExercisesDueNotes
Mon 9/17Introduction to Languages - 14 Notes
    Powerpoint Sample
Slideshow without a language (needs advanced language level)
Data definitions and first talk
Tue 9/18A First Slideshow Interpreter - 15 Notes
    ppt-base.ss (starter file for lecture)
ppt-stage1.ss (final code)
Summary of Racket constructs
Thu 9/20Adding 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/21Supporting Variables - 17       ppt-stage3-nolambda.ss (dynamic via vars)


DateLecture TopicReadingsExtra ExercisesDueNotes
Mon 9/24Introduction to Macros - 18 Macro notes
  Project Design
Check-Expect in Pretty Big
Tue 9/25Design Review and More Macros - 19 More macro notes
Thu 9/27Languages and Macros for Finite State Machines - 20 Automata Notes
  Homework 5
Code for language approach
Code for functions approach
Fri 9/28More Languages and Macros for Finite State Machines - 21 Automata Macro Notes
Mon 10/1Error Checking in Macros and Recursive Macros - 22 Error Checking in Macros
Recursive Macros
    Starter file for class

Web Programming

DateLecture TopicReadingsExtra ExercisesDueNotes
Tue 10/2Introduction to a Web Server - 23       Simple http server
Web page for hello example
Using HTML in Racket
Thu 10/4The Problem with Web Programming - 24 Web Programming Notes
  Homework 6
Fri 10/5Continuation-Passing Style (CPS) - 25 CPS Conversion
    Starter file for class
Solutions to problems from class
Sun 10/7      Project Final
Mon 10/8More CPS Conversion - 26       CPS in conditionals


DateLecture TopicReadingsExtra ExercisesDueNotes
Tue 10/9Fun with Racket; Course Evals - 27 Racket Syntax
  Homework 7
Thu 10/11Final 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.