Course Info
Course Number: CSE 340 (82243)
Instructor: Prof. Adam Doupé
Email: doupe@asu.edu
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: cse340-f15@googlegroups.com
Course Lead TA: Mohsen Zohrevandi
Email: mohsen@asu.edu
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: schand31@asu.edu
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
- Programming Languages – 8/24/15
 - Lexical Analysis – 8/26/15 and 8/31/15
 - Syntax Analysis – 9/2/15, 9/9/15, 9/14/15, and 9/16/15
 - Semantics – 9/16/15, 9/21/15, 9/23/15, and 10/5/15
 - Type Systems – 10/5/15 and 10/7/15
 - Hindley-Milner Type Inference – 10/14/15
 - Mohsen slides on Hindley-Milner Type Inference (note that the notation for functions is different) – 10/14/15
 - The Runtime Environment – 10/19/15, 10/21/15, 10/26/15, 10/28/15, 11/2/15, 11/4/15, and 11/9/15
 - Lambda Calculus – 11/23/15, 11/25/15, 11/30/15, and 12/2/15
 
Recorded Lectures
- 8/24/15
 - 8/26/15
 - 8/31/15
 - 9/2/15
 - 9/9/15
 - 9/14/15
 - 9/16/15
 - 9/21/15
 - 9/23/15
 - 9/28/15
 - 10/5/15
 - 10/7/15
 - Recorded 10/13/15 Lecture on Hindley-Milner Type Inference, makeup for 10/14/15 lecture
 - 10/19/15
 - 10/21/15
 - 10/26/15
 - 10/28/15
 - 11/2/15
 - 11/4/15
 - 11/9/15
 - 11/16/15
 - 11/23/15
 - 11/25/15
 - 11/30/15
 - 12/2/15
 
Recorded Office Hours
- 9/28/15: Part 1, static vs. dynamic scoping and some box and circle diagrams, Part 2, writing a recursive descent parser for a context-free grammar
 - 10/19/15: Examples of Hindley-Milner type inference
 - 10/21/15: More Hindley-Milner type inference discussion
 - 11/16/5: Visualizing the Stack and Function Frames, Hindley-Milner Type Inference, specifically Homework 3 Problem 3, Structural equivalence, and Type equivalence, name equivalence, internal name equivalence, and structural equivalence
 
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)