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!


Functional Programming



DateLecture TopicReadingsExtra ExercisesDueNotes
1/9Introduction to Scheme HTDP Chapter 2
HTDP Chapter 3
HTDP Section 2.2 Exercises
HTDP Section 2.3 Exercises
HTDP Section 3.3 Exercises
   
1/10Symbols 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
 
1/13Structures 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/14Nested 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
1/16Lists 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/17Lists of structures and sorting HTDP Chapter 10.2
HTDP Section 10.2 Exercises
  insertion sort
1/20Intro to higher-order functions and filter HTDP Chapter 20
HTDP Chapter 22
    Notes on loops [ppt]
Notes on loops [pdf]
1/21Filter and Map HTDP Chapter 19.1
HTDP Chapter 21.1
HTDP Chapter 21.2
HTDP Section 21.2.2-3 Exercises
[NEW] Notes and Exercises
  Notes on lambdas as args
Advanced Loops (OPTIONAL) [ppt]
Advanced Loops (OPTIONAL) [pdf]
1/23Functions as Values        
1/24Trees HTDP Chapter 14
HTDP Section 14.2 Exercises
Homework 2
Notes on trees [ppt]
Notes on trees [pdf]
1/27Mutual Recursion (more trees) HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
   

Designing and Implementing Languages : SlideShows



DateLecture TopicReadingsExtra ExercisesDueNotes
1/28Introduction to Languages Notes
     
1/30A First Powerpoint Interpreter Notes
    ppt-stage1.scm
Summary of Scheme constructs
1/31Adding Time Conditionals and Dynamic Content Notes
  Homework 3
ppt-stage2.scm (time)
ppt-stage3.scm (dynamic)
2/3Midterm Exam -- In class (CLOSED BOOK) Midterm Prep Guide
A01 midterm exam
C02 midterm exam
A02 midterm exam
   
2/4Introduction to Macros Macro notes
    ppt-macros.scm
2/6More Macros Same as last lecture
  Homework 4
 
2/7Recursive Macros Notes
     

The State Machine Simulator Language



DateLecture TopicReadingsExtra ExercisesDueNotes
2/10Languages for Finite State Machines Notes
    notes on set!
2/11Macros for Finite State Machines Notes
     
2/13Academic Advising Day (no class)     Homework 5
 
2/14Introduction to Streams letrec notes
streams notes
     
2/17Snow Day        
2/18Using Streams notes
    code for notes

Web Programming



DateLecture TopicReadingsExtra ExercisesDueNotes
2/20The Problem of Web Programming Slides
  Homework 6
 
2/21Converting to Script Position Script Position slides
Text version
     
2/24More Script Position and Web Programming Script Position examples
     

Odds and Ends



DateLecture TopicReadingsExtra ExercisesDueNotes
2/25What's with those &$*#^$ parentheses? (also Course Evals) Notes
  Homework 7
 
2/27Final Exam -- In class (OPEN BOOK) Prep Guide and Sample Exams
     


A MzScheme script generated this page on Thu Feb 27 15:12:24 EST 2003.