Principles of Programming Languages - F16

CSE 340

Course Info


Course Number: CSE 340 (16266)
Instructor: Prof. Adam Doupé
Email: [email protected]
Office: BYENG 472
Office Hours: Wednesday 4:00pm–4:45pm, Thursday 3:00pm–4:00pm, and by appointment
Meeting Times: Monday, Wednesday, and Friday, 2:00PM–2:50PM (NEEB 105)
Course Mailing List: [email protected]

Course TA: Erik Trickel
Email: [email protected]
Office: BYENG 460 AB
Office Hours: 3:15pm–4:15pm Monday, 12:00pm–1:00pm Friday, and by appointment

Course TA: Mohsen Zohrevandi
Email: [email protected]
Office: BYENG 435 AA
Office Hours: 11:00am–12:00pm Tuesday, 11:00am–12:00pm Thursday, and by appointment

Professor/TA Communication: [email protected]

Recitation Sections:

  • Monday 10:45am–11:35am, BYAC 260 led by Mohsen
  • Monday 4:35pm–5:25pm, BYAC 260 led by Erik
  • Tuesday 9:00am–9:50am, BYAC 260 led by Erik
  • Wednesday 8:35am–9:25am, BYAC 260 led by Erik
  • Wednesday 10:45am–11:35am, BYAC 260 led by Mohsen
  • Thursday 9:00am–9:50am, BYAC 260 led by Erik
  • Friday 10:45am–11:35am, BYAC 260 led by Mohsen

UGTAs

Andrew Dudley
[email protected]
Ben Clayton
[email protected]
Isaac Lopez
[email protected]
Ryan Zerbe
[email protected]
Sarah Bartholomew
[email protected]
Steven King
[email protected]

Class Schedule:

Important Links

Important Dates

Lecture Slides

Recorded Lectures

Recorded Office Hours

UGTA Recorded Content

Recitation Slides

Recorded Recitation Sections

Relevant Book Sections

  • Introduction (3rd and 2nd editions: Sections 1.1, 1.2, 1.4, and 1.5).
  • Lexical Analysis (3rd edition: 6.1, 2nd edition: Section 4.1)
  • Syntax Analaysis (3rd edition: 6.2, 6.3, and 6.4, 2nd edition: Sections 4.2, 4.3, and 4.4)
  • Semantics (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 (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 (3rd edition: Sections 8.9 and 8.9, 2nd edition: Sections 6.8 and 6.9)
  • The Runtime Environment (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 (3rd edition: Section 3.6, 2nd edition: Section 11.8)