CS 550
Spring 2015
Programming Languages
Thursdays 18:30-21:20
Korman Center 104C

Instructor:
Geoffrey Mainland
mainland+cs550@cs.drexel.edu
University Crossings 106
Teaching Assistant:
Mark Boady
mwb33@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.

All lectures will be recorded. They may be viewed in real time or after the fact at this link. If you have trouble accessing the lectures, please email Drexel support.

Please come to lecture having read the indicated chapters unless the readings are from TAPL; in that case, you do not have to read the text before lecture.

Lecture Date Material Covered Reading Resources
Week 1 4/2 Course overview; lambda calculus; Scheme SICP 1, 3.1–3.3, 3.5 (not required before classs) pdf code video
Week 2 4/9 The metacircular evaluator SICP 4.1–4.3 pdf code video
SICP interpreters
Week 3 4/16 Lazy Evaluation, Continuations, and a Nondeterministic Language SICP 4.2–4.3 pdf video
count-to.rkt
fact.rkt
fib.rkt
Week 4 4/23 Introduction to Haskell LYAH 1–11 pdf video
week4-haskell.hs
week4-haskell.rkt
Set.hs
Week 5 4/30 Introduction to semantics SWA 2, 5, 9 pdf video
week5-warmup.hs
week5-semantics.hs
Week 6 5/7 Abstracting computation; monads; more semantics; type systems
Midterm due during this week.
TAPL 3,8 pdf video
week6-computation.hs
Week 7 5/14 More types; simply typed lambda calculus TAPL 3,8,9 pdf video
Compiler.hs
Week 8 5/21 Recursion; polymorphism; unit testing TAPL 11.11, 23 pdf video
alternate video link
lookup.hs
insert.hs
Week 9 5/28 A different look at evaluation; property-based testing pdf code video
Week 10 6/4 Type Inference; course conclusion pdf code video
Week 11 6/11 Final exam due during this week