|
Lectures: |
||||||
|---|---|---|---|---|---|---|
| MWF | 1:00PM | - | 1:50PM | Cudahy 137 | ||
|
Office Hours: |
||||||
| Course instructor |
  Prof. Dennis Brylow   | Mon | 3:00PM | - | 4:00PM | Cudahy 380 |
| Tue | 4:00PM | - | 5:00PM | Cudahy 380 | ||
| Wed | 2:00PM | - | 3:00PM | Cudahy 380 | ||
| | ||||||
|
Textbooks: |
||||||
|
Essentials of Programming Languages.
Second Edition.
Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes.
MIT Press. |
||||||
|
The Little Schemer.
Fourth Edition.
Daniel P. Friedman and Matthias Felleisen.
MIT Press. |
||||||
|
We will make our way quickly through all of
The Little Schemer
during the first few weeks. It is a quick read, and an excellent
introduction to both functional programming style and the Scheme dialect
for beginners. Essentials of Programming Languages is, at best, a terse book. I have chosen it because the interpreter project at the core of this book is first class (no pun intended,) and I know that together we can make our way through the dense verbiage contained therein. I will assign many of the problems contained in EOPL, and others may make excellent exam questions. |
||||||
| | ||||||
|
Course Outcomes: |
||||||
|
Upon completing this course, students will be able to: |
||||||
| | ||||||
|
Grading Policy: |
||||||
| Homework | 60% | |||||
| Exam #1 | 10% | |||||
| Exam #2 | 10% | |||||
| Exam #3 | 20% | |||||
|
|
||||||
|
Schedule: |
||||||
|---|---|---|---|---|---|---|
| Week | Topics | Readings | Demos | Assignments | ||
| 01 | Introduction, Scheme | TLS Ch 1,2 | ||||
| 02 | Scheme | TLS Ch 3 | Lec4.scm Lec5.scm | HW #1 - Scheme | ||
| 03 | More Scheme | TLS Ch 4,5 | Lec5.java Lec7.scm | HW #2 - Scheme | ||
| 04 | Even More Scheme | TLS Ch 6,7 | Lec8.scm | HW #3 - Yeah, More Scheme | ||
| 05 | Data Abstraction, Induction | EOPL Ch 1, 2 | Lec12.scm | HW #4 - Environments | ||
| 06 | Interpreters | EOPL 3.1 | Exam #1 | |||
| 07 | Front End | EOPL 3.2 | Lec17.scm Lec20.scm | |||
| 08 | Conditionals Midterm Break |
EOPL 3.3 | HW #5 - Simple Interpreter | |||
| 09 | Local Binding Midterm Grades |
EOPL 3.4 | HW #6 - Conditionals | |||
| 10 | Procedures, Recursion | EOPL 3.5, 3.6 | Lec25.scm | HW #7 - Binding and Closures | ||
| 11 | Variable Assignment | EOPL 3.7 | HW #8 - Recursion Exam #2 |
|||
| 12 | Types, Type Checking Drop Day |
EOPL 4.1, 4.2 | ||||
| 13 | Abstraction Boundaries Thanksgiving Break |
EOPL 4.3 | ||||
| 14 | Type Inference | EOPL 4.4 | HW #9 - Statements and Assignment | |||
| 15 | Continuation Passing Style | EOPL Ch 7,8 | HW #10 - Type Checker | |||