CS1102 (A11) 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 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

DateLecture TopicReadingsExtra ExercisesDueNotes
Thu 8/25Introduction 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/26Images, 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
Survey/Partners
 
Mon 8/29Structures - 3 HTDP Chapter 6
HTDP Section 6.3 Exercises
HTDP Section 6.4 Exercises
HTDP Section 6.7 Exercises
   
Tue 8/30Mixed 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 9/1Lists 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 9/2Lists of structures - 6 HTDP Section 10.2
HTDP Section 10.2 Exercises
  Code from class
Mon 9/5Labor Day -- no class        
Tue 9/6Sorting - 7       Using Templates Effectively
insertion sort code
Thu 9/8Trees - 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/9Mutual Recursion (more trees) - 9 HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
   
Mon 9/12Intro 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/13Filter and Map - 11 HTDP Section 19.1
HTDP Section 21.1
HTDP Section 21.2
HTDP Section 21.2 Exercises
  Notes and Exercises
Notes on lambdas as args
Advanced Loops (OPTIONAL) [ppt]
Advanced Loops (OPTIONAL) [pdf]
Thu 9/15Functions as Values - 12 HTDP Section 22.3
  Homework 3
The GUI teachpack
The room draw solution
Fri 9/16Midterm 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/19Introduction to Languages - 14 Notes
    Powerpoint Sample
Slideshow without a language (needs advanced language level)
Data definitions and first talk
Tue 9/20A First Slideshow Interpreter - 15 Notes
    ppt-base.ss (starter file for lecture)
ppt-stage1.ss (final code)
Summary of Racket constructs
Thu 9/22Adding 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/23Supporting Variables - 17       ppt-stage3-nolambda.ss (dynamic via vars)

Macros

DateLecture TopicReadingsExtra ExercisesDueNotes
Mon 9/26Introduction to Macros - 18 Macro notes
  Project Design
Check-Expect in Pretty Big
Tue 9/27Design Review and More Macros - 19 More macro notes
    ppt-with-macros.ss
Thu 9/29Languages and Macros for Finite State Machines - 20 Automata Notes
  Homework 5
 
Fri 9/30More Languages and Macros for Finite State Machines - 21 Automata Macro Notes
     
Mon 10/3Error Checking in Macros and Recursive Macros - 22 Error Checking in Macros
Recursive Macros
    Starter file for class

Web Programming

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

Coda

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