CS 360
Winter 2017
Programming Language Concepts
CS 360-001 Tuesday/Thursday 15:30-16:50 (Rush 9)
CS 360-002 Tuesday/Thursday 14:00-15:20 (Rush 9)
CS 360-003 Tuesday 18:30-21:20 (Science Center 326, 3401 Market)

Instructor:
Geoffrey Mainland
mainland+cs360@drexel.edu
Office: University Crossings 106
Office hours: Mondays 4pm–7pm; Thursdays 5pm–6pm.
Teaching Assistant:
Xiao Han
CLC office hours: Monday 2pm–4pm; Friday 3pm–5pm
Warning! This material is for an old version of the course.

This schedule is tentative and may be modified at the instructor’s discretion. CS 360-003 will cover the entire week’s material on Tuesday; if you are in that section, please come to class having read all readings for the week.

Please come to lecture having read the listed chapters. If readings are marked “for reference,” then you do not need to read them before class, but they will help you understand the material in that lecture. Readings are from the following sources:

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

Video recordings of all three sections are available on Blackboard under “Class Capture”link or via this link.

The examples from lecture are available on GitHub in the DrexelCS360/lectures repository.

Lecture Date Material Covered Reading Lecture Material
Week 1 1/10 Introduction to Programming Languages pdf
1/12 Functional Programming in Scheme pdf
Week 2 1/17 Programming with State SICP 1.1, 3.1 pdf
1/19 Evironment Model of Evaluation; Streams SICP 3.2, 3.5.1, 3.5.2 pdf
Week 3 1/24 The Metacircular Evaluator SICP 4.1 pdf
1/26 A More Efficient Interpreter SICP 4.1 pdf
Week 4 1/31 A Lazy Interpreter SICP 4.2 pdf
2/2 Tail Recursion; CPS; Search SICP 2.2.3, 3.5.3, 4.3 pdf
Week 5 2/7 A Language for Search SICP 4.3 pdf
2/9 Logic Programming with Prolog pdf
Week 6 2/14 Midterm (given at the beginning of class for CS 360-003) Midterm exam study guide
2/16 Haskell LYAH 2–3 (flip through chapters 4–8 so you know what they contain) pdf
Week 7 2/21 More Haskell LYAH 1–8 (for reference) pdf
2/23 Abstracting computation LYAH 8–13 (for reference) pdf
Week 8 2/28 Introduction to semantics SWA 1 pdf
3/2 Operational and axiomatic semantics SWA 2, 9 pdf
Week 9 3/7 Regular expressions and finite automata FOCC 10, MCD 2 (for reference) pdf
3/9
Week 10 3/14 Grammars and parsing FOCC 11, MCD 3 (for reference) pdf video
3/16 Parser combinators; continuation passing style; course wrap-up pdf
Week 11 3/21 Final Exam for CS 360-003
18:30–20:30 (SC 326)
Final exam study guide
3/22 Final Exam for CS 360-001 and CS 360-002
15:30–17:30 (RANDEL 121)