CS 360
Winter 2015
Programming Language Concepts
Tuesdays, Thursdays 14:00-15:20
University Crossings 151

Instructor:
Geoffrey Mainland
mainland+cs360@cs.drexel.edu
University Crossings 106
Teaching Assistant:
Brian Lee
bl389@drexel.edu
Warning! This material is for an old version of the course.

This schedule is tentative and may be modified at the instructor’s discretion.

Please come to lecture having read the indicated chapters. Readings are from

See the homework section of the site for a list of all assigned homework and associated due dates.

Lecture Date Material Covered Reading Resources
Week 1 1/6 Introduction and course overview PLPP 1, 3.6 pdf
1/8 Functional programming in Scheme PLPP 3.1, 3.2 pdf code
Week 2 1/13 Tail calls; CPS; programming with state SICP 1.1.5, 3.1, 3.2 pdf code
1/15 Environment model of evaluation; streams; intro to metacircular interpreter SICP 3.5.1, 4.1 pdf code
Week 3 1/20 Metacircular interpreter SICP 4.1, 4.2 pdf
metacircular evaluator
analyzing evaluator
1/22 Lazy evaluation SICP 2.2.3, 3.5.3, 4.2 pdf code
lazy evaluator
amb evaluator
Week 4 1/27 Review; programming search problems SICP 2.2.3, 3.5.3, 4.3 pdf code
amb evaluator
1/29 Logic programming in Prolog PLPP 4.1–4.5 pdf
ancestor.pl
append.pl
gcd.pl
lookup.pl
mated.pl
member.pl
reverse.pl
sort.pl
Week 5 2/3 Implementing Logic Programming SICP 4.3 pdf
2/5 Haskell PLPP 3.5; LYAH 1–8 pdf
Week 6 2/10 Midterm midterm study guide
2/12 More Haskell LYAH 1–8 pdf code
Week 7 2/17 Regular expressions and finite automata pdf code
2/19
Week 8 2/24 Abstracting computation LYAH 8–11 pdf code
2/26 Introduction to semantics SWA 1 pdf code
Week 9 3/3 Operational and axiomatic semantics SWA 2, 9 pdf
3/5 Class danceled due to weather
Week 10 3/10 Grammars and parsing PLPP Chapter 6 pdf code
3/12 Parser combinators; course wrap-up pdf
Week 11 3/18 Final Exam
8:00–10:00, MACALS 4014
final exam study guide