COMP442/6421 - winter 2024

From Dr. Joey Paquet Web Site
Revision as of 09:18, 25 March 2024 by Paquet (Talk | contribs)

Jump to: navigation, search

Contents

Course Description

COMP 442/6421 - Compiler Design (4 credits)

Prerequisites (COMP442): COMP 228 or SOEN 228 or COEN 311; COMP 335; COMP 352 or COEN 352
Prerequisites (COMP6421): COMP 5201, 5361, 5511.

Compiler organization and implementation. Programming language constructs, their syntax and semantics. Syntax directed translation, code optimization. Run-time organization of programming languages. Project. Lectures: three hours per week. Laboratory: two hours per week.

Course Schedule and Contacts

component day time location instructor email
in-person lecture NN M------ 17:45-20:15 H-1070
[YouTube]
Paquet, Joey joey.paquet@concordia.ca
office hours M------ 11:00-13:00 ER-10-19
[zoom]
Paquet, Joey
lab NN NI M------ 20:30-22:20 H-917 Jafarpour, Hamed jafarpour.ha@gmail.com
lab NN NJ M------ 15:45-17:35 H-907 Patel, Priyang priyangpatel001@gmail.com
marker Jafarpour, Hamed jafarpour.ha@gmail.com
marker Patel, Priyang priyangpatel001@gmail.com

Lecture Schedule

wk wk lecture date event lectures topics/material lab material
(for videos - see moodle)
week 1 jan 15
  • [ handout ] [ video ] project assignment #1 (lexical analyzer)
week 2 jan 22
week 3 jan 29
  • project assignment 1 due (jan 28)
  • [ schedule ] [ grading sheet ] [ grades ] project assignment 1 demonstrations (jan 30-feb 1)
  • [ handout ] [ video ] project assignment #2 (syntactic analyzer)
  • Programmer on duty
week 4 feb 5
  • [ slides ] [ video ] grammar transformation and parsing
week 5 feb 12
  • Programmer on duty
week 6 feb 19
  • project assignment 2 due (feb 18)
  • [ schedule ] [ grading sheet ] [ grades ] project assignment 2 demonstrations (feb 20 - feb 22)
  • [ handout ] [ video ] project assignment #3 (AST generation)
midterm break feb 26 - mar 3
week 7 mar 4
  • [ slides ] [ video ] Tree traversal and symbol table generation
week 8 mar 11
  • [ handout ] [ video ] project assignment #4 (semantic analysis)
  • project assignment 3 due (mar 10)
  • [ schedule ] [ grading sheet ] [ grades ] project assignment 3 demonstrations (mar 12-14)
  • Programmer on duty
week 9 mar 18
  • Programmer on duty
week 10 mar 25
  • project assignment 4 due (mar 24)
  • [ schedule ] [ grading sheet ] [ grades ] project assignment 4 demonstrations (mar 26-28)
  • [ handout ] [ video ] project assignment #5 (code generation)
week 11 apr 8
week 12 apr 15
  • project assignment 5 due (apr 11)
  • [ schedule ] [ grading sheet ] [ grades ] project assignment 5 demonstrations (apr 12-14)
  • final project due (apr 14)
  • [ schedule ] [ grading sheet ] [ grades distribution ] final project demonstrations (apr 15-17)
  • [ slides ] [ video ] review and discussion on final examination
examination period apr 18 - may 1

Course Material and Resources