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!

Exam Dates

Midterm Exam: Monday, Sept 22, in class
Final Exam: Thursday, Oct 16, in class


Functional Programming



DateLecture TopicReadingsExtra ExercisesDueNotes
8/28Introduction to Scheme HTDP Chapter 2
HTDP Chapter 3
HTDP Section 2.2 Exercises
HTDP Section 2.3 Exercises
HTDP Section 3.3 Exercises
   
8/29Symbols 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
 
9/1Labor Day -- no class        
9/2Structures 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
9/4Nested Structures, Intro to Lists HTDP Section 9.1
HTDP Section 9.2
HTDP Section 9.1 Exercises
HTDP Section 9.2 Exercises
Homework 1
Programming Inside Out
9/5Lists and The Design Recipe HTDP Chapter 9
HTDP Chapter 10
HTDP Section 9.5 Exercises
HTDP Section 10.1 Exercises
  Notes on design process [ppt]
Notes on design process [pdf]
Design Recipe Worksheet [pdf]
9/8Lists of structures and sorting HTDP Section 10.2
HTDP Section 10.2 Exercises
  Using Templates Effectively
Writing smaller functions
Large-circles code
9/9Intro to higher-order functions and filter HTDP Chapter 20
HTDP Chapter 22
    The extract-boas code
Notes on loops [ppt]
Notes on loops [pdf]
9/11Filter and Map HTDP Section 19.1
HTDP Section 21.1
HTDP Section 21.2
HTDP Section 21.2 Exercises
Notes and Exercises
Homework 2
Notes and Exercises
Notes on lambdas as args
Advanced Loops (OPTIONAL) [ppt]
Advanced Loops (OPTIONAL) [pdf]
9/12Functions as Values HTDP Section 22.3
    Using functions to customize interfaces
9/15Trees HTDP Chapter 14
HTDP Section 14.2 Exercises
  Notes on trees [ppt]
Notes on trees [pdf]
9/16Mutual Recursion (more trees) HTDP Chapter 15
HTDP Section 15.1 Exercises
HTDP Section 15.3 Exercises
  Code from class

Designing and Implementing Languages : SlideShows



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

Macros



DateLecture TopicReadingsExtra ExercisesDueNotes
9/25Introduction to Macros Macro notes
    ppt-macros.scm
9/26More Macros Same as last lecture
  Homework 4
 

The State Machine Simulator Language



DateLecture TopicReadingsExtra ExercisesDueNotes
9/29Languages for Finite State Machines Notes
     
9/30Macros for Finite State Machines Notes
     
10/2Introduction to Streams streams notes
     
10/3Using Streams notes
    code for notes

Web Programming



DateLecture TopicReadingsExtra ExercisesDueNotes
10/6The Problem of Web Programming Slides
Notes
    Code from lecture
10/7Converting to Script Position Script Position slides
PDF version
     
10/9More Script Position and Web Programming Script Position examples
  Homework 6
 

Odds and Ends



DateLecture TopicReadingsExtra ExercisesDueNotes
10/10Macros and Recursion Notes
     
10/13The Scheme Web Server (also Course Evals)        
10/14What's with those &$*#^$ parentheses? Notes
  Homework 7
 
10/16Final Exam -- In class (OPEN BOOK) Prep Guide and Sample Exams
     


A MzScheme script generated this page on Wed Oct 15 07:17:57 EDT 2003.