CS1102(A07): Accelerated Introduction to Program Design

Lectures

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 17, in class
Final Exam: Thursday, Oct 11, in class

Functional Programming
DateLecture TopicReadingsExtra ExercisesDueNotes
8/23Introduction to Scheme HTDP Chapter 2
HTDP Chapter 3
HTDP Section 2.2 Exercises
HTDP Section 2.3 Exercises
HTDP Section 3.3 Exercises
   
8/24Images, 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/27Structures HTDP Chapter 6
HTDP Section 6.3 Exercises
HTDP Section 6.4 Exercises
HTDP Section 6.7 Exercises
   
8/28Mixed Data and Nested Structures HTDP Chapter 7
HTDP Section 7.2 Exercises
  Symbols and Strings
8/30Lists 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
 
8/31Lists of structures, sorting I HTDP Section 10.2
HTDP Section 10.2 Exercises
  insertion sort
using templates
9/3Labor Day--no class        
9/4Intro to higher-order functions and filter HTDP Chapter 20
HTDP Chapter 22
    quicksort.scm
Notes on loops [ppt]
Notes on loops [pdf]
9/6Filter and Map HTDP Section 19.1
HTDP Section 21.1
HTDP Section 21.2
HTDP Section 21.2 Exercises
Map/filter notes and exercises
Homework 2
Map/filter notes and exercises
Notes on lambdas as args
Advanced Loops (OPTIONAL) [ppt]
Advanced Loops (OPTIONAL) [pdf]
9/7Functions as Values HTDP Section 22.3
    The GUI teachpack
The room draw solution
9/10Trees HTDP Chapter 14
HTDP Section 14.2 Exercises
  Using Templates Effectively
Summary of Template Forms
Notes on trees [ppt]
Notes on trees [pdf]
9/11Mutual Recursion and Graphs HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
  starter defs for class
Designing and Implementing Languages : SlideShows
DateLecture TopicReadingsExtra ExercisesDueNotes
9/14Introduction to Languages Notes
  Homework 3 Powerpoint Sample
9/15A First Slideshow Interpreter Notes
    ppt-stage1.scm (code from class)
Summary of Scheme constructs
9/17Midterm Exam: In class Midterm Prep Guide
A04 midterm exam
A05 midterm exam
   
9/18Adding Time Conditionals and Dynamic Content Notes     ppt-stage2.scm (time)
ppt-stage3.scm (dynamic)
set! and when to use it
9/20Supporting Variables     Homework 4 Class code
Macros
DateLecture TopicReadingsExtra ExercisesDueNotes
9/21Introduction to Macros Macro notes
     
9/24Macros for Slideshows Slideshow macro notes
    ppt-with-macros.scm
9/25Design Review; Representing Finite-State Machines Automata Notes      
9/27Languages and Macros for Finite State Machines Macro Notes
  Homework 5
 
10/7Recursive Macros and Error Checking in Macros and Recursive Macros Recursive Macros
Error Checking Macros
    Leaky Abstractions
Web Programming
DateLecture TopicReadingsExtra ExercisesDueNotes
10/1The Problem of Web Programming Web Notes
    Code from lecture
10/2Converting to Script Position Script Pos Notes
    Starter file for class
Class file with solutions
10/4State and Web Programming       Solutions to lab exercises
let/cc adder code
10/5Functional Reactive Programming       The flapjax web page
FrTime info in DrS Helpdesk
Odds and Ends
DateLecture TopicReadingsExtra ExercisesDueNotes
10/8What's with those *@#*&$!*# Parentheses?        
10/9Wrap Up and Course Evals     Homework 7
Starter file for class
Full file from class
On Lisp (Graham's book where example is from)
10/11Final Exam: In class (OPEN BOOK) Prep Guide A04 final exam
A05 final exam
Some extra macros and languages problems