Principles of Programming Languages - F15

CSE 340

Course Info

Course Number: CSE 340 (82243)
Instructor: Prof. Adam Doupé
Email: [email protected]
Office: BYENG 472
Office Hours: Monday 3pm–4pm (except 11/9: 5pm–6pm), Wednesday 12pm–1pm, Friday 10am–11am (no office hours 9/25, 10/14, 10/16, or 11/13), and by appointment
Meeting Times: Monday and Wednesday, 1:30pm–2:45pm (PSF 166)
Course Mailing List: [email protected]

Course Lead TA: Mohsen Zohrevandi
Email: [email protected]
Office: BYENG 435 AA
Office Hours: Tuesday 3pm–5p, Thursday 11am–1pm (except Thursday 9/24 will be 3–5pm), and by appointment

Course TA: Sai Chandramouli
Email: [email protected]
Office: BYENG 423
Office Hours: Monday 12pm–1pm, Wednesday 3pm–4pm, Friday 2pm–3pm, and by appointment

Important Links

Important Dates

  • Homework 5 (homework submission is on Blackboard under the “Content” tab) due 12/5/15
  • Midterm 2 11/18/15
  • Project 5 due 12/2/15
  • Homework 4 (homework submission is on Blackboard under the “Content” tab) due 11/16/15
  • Homework 3 (homework submission is on Blackboard under the “Content” tab) due 10/21/15
  • Project 4 due 10/30/15
  • Midterm 1 9/30/15
  • Project 3 due 10/7/15
  • Homework 2 (homework submission is on Blackboard under the “Content” tab) due 9/23/15
  • Homework 1 (homework submission is on Blackboard under the “Content” tab) due 9/9/15
  • Project 2 due 9/9/15
  • Project 1 due 8/31/15

Lecture Slides

Recorded Lectures

Recorded Office Hours

Relevant Book Sections

  • Introduction (covers material from 8/24/15) (3rd and 2nd editions: Sections 1.1, 1.2, 1.4, and 1.5).
  • Lexical Analysis (covers material from 8/26/15 and 8/31/15) (3rd edition: 6.1, 2nd edition: Section 4.1)
  • Syntax Analaysis (covers material from 9/2/15, 9/9/15, 9/14/15, and 9/16/15) (3rd edition: 6.2, 6.3, and 6.4, 2nd edition: Sections 4.2, 4.3, and 4.4)
  • Semantics (covers material from 9/16/15, 9/21/15, 9/23/15) (3rd edition: Sections 7.1, 7.2, 7.3, and 7.4, 2nd edition: Sections 5.1, 5.2, 5.3, and 5.4)
  • Type Systems (covers material from 10/5/15 and 10/7/15) (3rd edition: Sections 8.1, 8.2, 8.3, 8.5, and 8.6, 2nd edition: Sections 6.1, 6.2, 6.3, 6.5, and 6.6)
  • Hindley-Milner Type Inference (covers material from 10/14/15) (3rd edition: Sections 8.9 and 8.9, 2nd edition: Sections 6.8 and 6.9)
  • The Runtime Environment (covers material from 10/19/15, 10/21/15, 10/26/15, 10/28/15, 11/2/15, and 11/4/15) (3rd edition: Sections 10.1, 10.2, 10.2, 10.4, and 10.5, 2nd edition: Sections 8.1, 8.2, 8.3, 8.4, and 8.5)
  • Lambda Calculus (covers material from 11/23/15, 11/25/15, 11/30/15, and 12/2/15) (3rd edition: Section 3.6, 2nd edition: Section 11.8)