CS1102 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 Scheme by the third week of the course!

Exam Dates

Midterm Exam: Monday, Sept 19, in class
Final Exam: Thursday, Oct 13, in class

Functional Programming

DateLecture TopicReadingsExtra ExercisesDueNotes
8/25Introduction to Scheme HTDP Chapter 2
HTDP Chapter 3
HTDP Section 2.2 Exercises
HTDP Section 2.3 Exercises
HTDP Section 3.3 Exercises
8/26Images, Symbols and Conditionals HTDP Chapter 4
HTDP Chapter 5
HTDP Section 4.3 Exercises
HTDP Section 4.4 Exercises
HTDP Section 5.1 Exercises
Homework 0
Using Images
8/29Structures HTDP Chapter 6
HTDP Section 6.3 Exercises
HTDP Section 6.4 Exercises
HTDP Section 6.7 Exercises
8/30Mixed Data and Nested Structures HTDP Chapter 7
HTDP Section 7.2 Exercises
  Symbols and Strings
9/1Lists and The Design Recipe 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
9/2Lists of structures HTDP Section 10.2
HTDP Section 10.2 Exercises
9/5Labor Day -- no class        
9/6Sorting       insertion sort
9/8Trees HTDP Chapter 14
HTDP Section 14.2 Exercises
Homework 2
Using Templates Effectively
Summary of Template Forms
Notes on trees [ppt]
Notes on trees [pdf]
9/9Mutual Recursion (more trees) HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
  Code from class
9/12Intro to higher-order functions and filter HTDP Chapter 20
HTDP Chapter 22
    Notes on loops [ppt]
Notes on loops [pdf]
9/13Filter and Map 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]
9/15Functions as Values HTDP Section 22.3
  Homework 3
The GUI teachpack
The room draw solution

Designing and Implementing Languages : SlideShows

DateLecture TopicReadingsExtra ExercisesDueNotes
9/16Introduction to Languages Notes
    Powerpoint Sample
Code so far (use advanced lang level)
9/19Midterm Exam -- In class Midterm Prep Guide
C03 midterm exam
A03 midterm exam
C04 midterm exam
A04 midterm exam
9/20A First Slideshow Interpreter Notes
    ppt-stage1.scm (code from class)
Summary of Scheme constructs
9/22Adding Time Conditionals and Dynamic Content Notes
initial handout
  Homework 4
ppt-stage2.scm (time)
ppt-stage3.scm (dynamic)
set! and when to use it
9/23Supporting Variables Class code


DateLecture TopicReadingsExtra ExercisesDueNotes
9/26Introduction to Macros Macro notes
9/27Design Review and More Macros Same Notes
9/29Languages and Macros for Finite State Machines Automata Notes
Macro Notes
9/30More Languages and Macros for Finite State Machines Same Notes
Error Checking Macros
  Homework 5

Web Programming

DateLecture TopicReadingsExtra ExercisesDueNotes
10/3The Problem of Web Programming Web Notes
    Code from lecture
10/4Converting to Script Position Script Pos Notes
    Problems from class
10/6Practice with Script Position Same Notes
  Homework 6
Class code

Odds and Ends

DateLecture TopicReadingsExtra ExercisesDueNotes
10/7Recursive Macros and Error Checking in Macros Recursive Macros
Error Checking Macros
    Leaky Abstractions
10/10Programs to Generate Web Scripts and Pages        
10/11What's with those *@#*&$!*# Parentheses?; Course Evals     Homework 7
10/13Final Exam -- In class (OPEN BOOK) Prep Guide and Sample Exams
Some extra macros and languages problems

A MzScheme script generated this page on Thu Oct 6 18:35:52 EDT 2005.