General Information
My Information
Name: | Jonathan Misurda |
Office: | 6203 Sennott Square |
Phone: | (412) 624-8408 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Mon: 10am–noon Wed: 11am–noon Tue, Thu: 2:15pm–3:15pm |
You can find a copy of the syllabus here.
Announcements
(04/10/18) — Homework 5 is assigned, due at the start of class on Tuesday, April 17, 2018.
(04/09/18) — Project 3c is assigned, due Sunday, April 22, 2018, by midnight. The assignment sheet and associated files can be found below.
(03/29/18) — Office hours today (3/29) will end at 3pm due to a meeting.
(03/27/18) — Project 3b is assigned, due Sunday, April 8, 2018, by midnight. The assignment sheet can be found below.
(03/15/18) — Project 3a is assigned, due Sunday, March 25, 2018, by midnight. The assignment sheet and associated materials can be found below.
(02/20/18) — Project 2 is assigned, due Monday, March 12, 2018, by midnight. The assignment sheet and associated materials can be found below.
Homework 4 is assigned, due at the start of class on Tuesday, February 27, 2018.
The answers for the first three homeworks are online.
(02/13/18) — Homework 3 is assigned, due at the start of class on Tuesday, February 20, 2018.
(02/01/18) — Homework 2 is assigned, due at the start of class on Thursday, February 8, 2018.
(01/25/18) — Project 1 is assigned, due Sunday, February 11, 2018, by midnight. The assignment sheet and associated materials can be found below.
(01/23/18) — Homework 1 is assigned, due at the start of class on Tuesday, January 30, 2018.
(01/09/18) — Welcome to CS 1622 Spring Term (2184)
Slides
Topic | Slides (PDF) |
Introduction | Slides |
Lexing |
Part 1 Slides Part 2 Slides Part 3 Slides |
Parsing |
Part 1 Slides Part 2 Slides Part 3 Slides Handout on computing the first and follow sets Part 4 Slides Part 5 Slides Calculator Example from Lecture |
Midterm Exam — Review Slides
Topic | Slides (PDF) |
Semantic Analysis |
Part 1 Slides Visitor Example from Lecture Part 2 Slides |
Intermediate Representation and Control Flow |
Part 1 Slides IRVisitor Example from Lecture Part 2 Slides |
Code Generation and Register Allocation |
Part 1 Slides Part 2 Slides Part 3 Slides |
Objects | Slides |
Garbage Collection | Slides |
Activation Records |
Slides |
Optimization | Slides |
Optimization: Further reading |
SSA Grad Slides Part 1 Grad Slides Part 2 |
Final Exam — Review Slides
Projects
- Project 1: Lexing MiniJava
- Project 2: Apocalypse Interpreter
- Project 3a: MiniJava Front End
- Project 3b: Errors & IR
- Project 3c: Code Generation
Homeworks
- Homework 1: REs and NFAs
- Homework 2: DFAs and Grammars
- Homework 3: Top-Down Parsing
- Homework 4: Bottom-Up Parsing
- Homework 5: CFGs, Liveness, & Register Allocation
Links
Reference