Course Info
Course Number: CSE 340 (16266)
Instructor: Prof. Adam Doupé
Email: doupe@asu.edu
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: cse340-f16@googlegroups.com
Course TA: Erik Trickel
Email: Erik.Trickel@asu.edu
Office: BYENG 460 AB
Office Hours: 3:15pm–4:15pm Monday, 12:00pm–1:00pm Friday, and by appointment
Course TA: Mohsen Zohrevandi
Email: mohsen@asu.edu
Office: BYENG 435 AA
Office Hours: 11:00am–12:00pm Tuesday, 11:00am–12:00pm Thursday, and by appointment
Professor/TA Communication: cse340f16@asu.edu
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 Andrew.Dudley@asu.edu |
Ben Clayton bsclayt1@asu.edu |
Isaac Lopez ialopez5@asu.edu |
|||
Ryan Zerbe rzerbe@asu.edu |
Sarah Bartholomew Sarah.Bartholomew@asu.edu |
Steven King sking11@asu.edu |
Class Schedule:
Important Links
- Course Syllabus
- Projects
- Fulton Schools of Engineering Tutoring Centers Schedule
- Code Repository for Mohsen’s Recitation Section
- Erik’s recorded recitation sections
- Mohsen video on debugging with GDB
Important Dates
- Project 5 due 12/4/16
- Midterm exam 3 11/21/16
- Homework 7 due 11/4/16
- Homework 6 due 10/24/16
- Midterm exam 2 10/28/16
- Project 4 due 11/7/16
- Homework 5 due 10/14/16
- Midterm exam 1 9/30/16
- Homework 4 due 9/26/16
- Homework 3 due 9/19/16
- Project 3 due 10/7/16
- Homework 2 due 9/12/16
- Project 2 due 9/9/16
- Homework 1 (homework submission is on Blackboard under the “Content” tab) due 9/2/16
- Project 1 due 8/29/16
Lecture Slides
- Programming Languages
- Essential Programming Skills
- Lexical Analysis
- Syntax Analysis
- Semantics
- Type Systems
- Hindley-Milner Type Inference
- Runtime Environment
- Lambda Calculus
Recorded Lectures
- 8-19-16 Lecture on Course Introduction, Syllabys, and What is a Programming Language
- 8-22-16 Lecture on What is a Programming Language and Essential Programming Skills
- 8-24-16 Lecture on Lexical Analysis Pt. 1
- 8-26-16 Lecture on Lexical Analysis Pt. 2
- 8-29-16 Lecture on Lexical Analysis Pt. 3
- 8-31-16 Lecture on Lexical Analysis Pt. 4
- 9-2-16 Lecture on Syntax Analysis Pt. 1
- 9-7-16 Lecture on Syntax Analysis Pt. 2
- 9-9-16 Lecture on Syntax Analysis Pt. 3
- 9-12-16 Lecture on Syntax Analysis Pt. 4
- 9-14-16 Lecture on Syntax Analysis Pt. 5
- 9-16-16 Lecture on Syntax Analysis Pt. 6
- 9-19-16 Lecture on Syntax Analysis Pt. 7
- 9-21-16 Lecture on Syntax Analysis Pt. 8 and Semantics Pt. 1
- 9-23-16 Lecture on Semantics Pt. 2
- 9-26-16 Lecture on Semantics Pt. 3
- 9-28-16 Lecture on Semantics Pt. 4
- 10-3-16 Lecture on Semantics Pt. 5
- 10-5-16 Lecture on Semantics Pt. 6
- 10-7-16 Lecture on Semantics Pt. 7
- 10-12-16 Lecture on Semantics Pt. 8 and Types Pt. 1
- 10-14-16 Lecture on Types Pt. 2
- 10-17-16 Lecture on Types Pt. 3
- 10-19-16 Lecture on Types Pt. 4 and Hindley-Milner Pt. 1
- 10-21-16 Lecture on Hindley-Milner Type Inference Pt. 2
- 10-24-16 Lecture on The Runtime Environment Pt. 1
- 10-31-16 Lecture on The Runtime Environment Pt. 2
- 11-2-16 Lecture on The Runtime Environment Pt. 3
- 11-4-16 Lecture on The Runtime Environment Pt. 4
- 11-7-16 Lecture on The Runtime Environment Pt. 5
- 11-9-16 Lecture on Lambda Calculus Pt. 1
- 11-14-16 Lecture on Lambda Calculus Pt. 2
- 11-16-16 Lecture on Lambda Calculus Pt. 3
- 11-18-16 Midterm Review
- 11-23-16 Lecture on Lambda Calculus Pt. 4
- 11-28-16 Lecture on Lambda Calculus Pt. 5
- 11-30-16 Lecture on Lambda Calculus Pt. 6
- 12-2-16 Final Discussion and Review
Recorded Office Hours
- 9-14-16 Office Hour Discussion on Calculting FIRST Sets
- 9-28-16 Office Hour Discussion on Lexing (F15 Midterm Question)
- 9-28-16 Office Hour Discussion on Predictive Recursive Descent Parsers (F15 Midterm Question)
- 9-29-16 Office Hour Discussion on Ambiguous Grammars and Multiple Parse Trees for the Same String
- 11-16-16 Office Hour Discussion on Project 5 and how to approach it
- 11-16-16 Office Hour Discussion on Lambda Calculus and Disambiguation Rules
- 11-17-16 Office Hour Discussion on Pass by Name example from F15 midterm
- 11-17-16 Office Hour Discussion on The stack and Function Frames from F15 midterm
UGTA Recorded Content
- Andrew Dudley S16 Final Exam Solutions Questions 1–5
- Andrew Dudley Fast Approach to Sequence of Tokens Problem (problem 1 S16 final exam)
- Benjamin Clayton S16 Final Exam Solutions Question 6
- Benjamin Clayton S16 Final Exam Solutions Question 7
- Ryan Zerbe and Sarah Bartholomew F15 Final Exam Solutions
- Isaac Lopez F15 Midterm 1 Solutions
- Steve King F15 Midterm 2 Solutions
Recitation Slides
- Erik Recitation Week 1 Aug 18–24
- Erik Recitation Week 2 Aug 25–31
- Erik Recitation Week 3 Sept 1–7
- Erik Recitation Week 4 Sept 8–14
- Erik Rectiation Week 5 Sept 15–22
Recorded Recitation Sections
- Erik Recitation Week 2
- Erik Recitation Week 3
- Erik Recitation Week 4
- Erik Recitation Week 5
- Erik Recitation Week 6
- Erik Recitation Week 7
- Erik Recitation Week 8 - Project 4
- Erik Recitation Week 9 - Midterm 2 Review
- Erik Recitation Week 10 - The Stack
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)