CS2135 Programming Language Concepts
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!

The midterm will be on Monday, February 9th.

The final will be on Thursday, March 4th.


Functional Programming



DateLecture TopicReadingsExtra ExercisesDueNotes
1/15Introduction to Scheme HTDP Chapter 2
HTDP Chapter 3
HTDP Section 2.2 Exercises
HTDP Section 2.3 Exercises
HTDP Section 3.3 Exercises
   
1/16Symbols and Conditionals HTDP Chapter 4
HTDP Chapter 5
HTDP Section 4.3 Exercises
HTDP Section 4.4 Exercises
HTDP Section 5.1 Exercises
   
1/19Structures HTDP Chapter 6
HTDP Chapter 7
HTDP Section 6.3 Exercises
HTDP Section 6.4 Exercises
HTDP Section 6.7 Exercises
HTDP Section 7.2 Exercises
  Notes on structs
1/20Nested Structures, Intro to Lists HTDP Chapter 9.1
HTDP Chapter 9.2
HTDP Section 9.1 Exercises
HTDP Section 9.2 Exercises
  Programming Inside Out
Working with Images
1/22Lists and The Design Recipe HTDP Chapter 9
HTDP Chapter 10
HTDP Section 9.5 Exercises
HTDP Section 10.1 Exercises
Homework 1
Notes on design process [ppt]
Notes on design process [pdf]
Design Recipe Worksheet [pdf]
1/23Lists of structures and sorting HTDP Chapter 10.2
HTDP Section 10.2 Exercises
  insertion sort
Large-circles code
1/26Intro to higher-order functions and filter HTDP Chapter 20
HTDP Chapter 22
    Notes on loops [ppt]
Notes on loops [pdf]
1/27Filter and Map HTDP Chapter 19.1
HTDP Chapter 21.1
HTDP Chapter 21.2
HTDP Section 21.2.2-3 Exercises
Notes and Exercises
  Notes on functions as args
Advanced Loops (OPTIONAL) [ppt]
Advanced Loops (OPTIONAL) [pdf]
1/29Functions as Values       The room draw exercise
room draw solution
1/30Trees HTDP Chapter 14
HTDP Section 14.2 Exercises
Homework 2
class problems with solutions
Notes on trees [ppt]
Notes on trees [pdf]
2/2Mutual Recursion (more trees) HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
   

Designing and Implementing Languages : SlideShows



DateLecture TopicReadingsExtra ExercisesDueNotes
2/3Introduction to Languages Notes
     
2/5A First Powerpoint Interpreter Notes
  Homework 3
ppt-stage1.scm
Summary of Scheme constructs
2/6Adding Time Conditionals and Dynamic Content Notes
    ppt-stage2.scm (time)
ppt-stage3.scm (dynamic)
2/9Midterm Exam -- In class (CLOSED BOOK) Midterm Prep Guide
A01 midterm exam
C02 midterm exam
A02 midterm exam
C03 midterm exam
A03 midterm exam
   

Macros



DateLecture TopicReadingsExtra ExercisesDueNotes
2/10Introduction to Macros Macro notes
    ppt-macros.scm
2/12More Macros Same as last lecture
Recursive macros
  Homework 4
 

The State Machine Simulator Language



DateLecture TopicReadingsExtra ExercisesDueNotes
2/13Languages for Finite State Machines Notes
    Deriving languages from code
Another state machine example
2/16Macros for State Machines Notes
  Project Design
 
2/17Error checking in State Machines; Languages Recap Error checking macros
Languages recap
    Leaky Abstractions
2/19Academic Advising Day (no class)     Homework 5
 

Web Programming



DateLecture TopicReadingsExtra ExercisesDueNotes
2/20The Problem of Web Programming Slides
Notes
review session exercises
   
2/23Converting to Script Position Notes
review session exercises (2 days)
   
2/24Practice with Script Position Script Position examples
     
2/26Languages for Web Programming   review session exercises (2 days)
Homework 6
 

Odds and Ends



DateLecture TopicReadingsExtra ExercisesDueNotes
2/27One more language design problem handout
     
3/1What's with those *#$!@%@! parentheses?        
3/2More on those parentheses? (also Course Evals)        
3/4Final Exam -- In class (OPEN BOOK) Prep Guide and Sample Exams
     


A MzScheme script generated this page on Sat Feb 28 16:42:05 EST 2004.