Difference between revisions of "COMP442/6421 - winter 2022"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
 
(57 intermediate revisions by one user not shown)
Line 19: Line 19:
  
 
|-
 
|-
|| lecture NN    || <tt>M------</tt>      || <tt>17:45-20:15</tt> || H-507 <br> [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ [YouTube]] <br> [https://concordia-ca.zoom.us/j/86986087264 [zoom]] || Paquet, Joey      || [mailto:joey.paquet@concordia.ca joey.paquet@concordia.ca]  
+
|| in-person lecture NN    || <tt>M------</tt>      || <tt>17:45-20:15</tt> || H-507 <br> [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ [YouTube]] || Paquet, Joey      || [mailto:joey.paquet@concordia.ca joey.paquet@concordia.ca] 
 +
|-
 +
|| online lecture NN    || <tt>M------</tt>      || <tt>15:00-17:00</tt> || [https://concordia-ca.zoom.us/j/86986087264 [zoom]] <br> [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ [YouTube]] || Paquet, Joey      || [mailto:joey.paquet@concordia.ca joey.paquet@concordia.ca]
 
|-
 
|-
 
|| office hours  || <tt>--W----</tt>      || <tt>10:00-12:00</tt> || [https://concordia-ca.zoom.us/j/89150776684 [zoom]]    || Paquet, Joey      ||     
 
|| office hours  || <tt>--W----</tt>      || <tt>10:00-12:00</tt> || [https://concordia-ca.zoom.us/j/89150776684 [zoom]]    || Paquet, Joey      ||     
 
|-
 
|-
|| lab NN NI    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [https://concordia-ca.zoom.us/j/84143836369 [zoom]]    || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
+
|| online lab NN NI    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [https://concordia-ca.zoom.us/j/84143836369 [zoom]]    || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|-
 
|-
|| lab NN NJ    || <tt>M------</tt>      || <tt>15:45-17:35</tt> || [https://concordia-ca.zoom.us/j/3900294548 [zoom]]     || Marhwal, Vashisht || [mailto:vmarhwal97@gmail.com vmarhwal97@gmail.com]
+
|| in-person lab NN NJ    || <tt>M------</tt>      || <tt>15:45-17:35</tt> || H-849     || Marhwal, Vashisht || [mailto:vmarhwal97@gmail.com vmarhwal97@gmail.com]
 
|-
 
|-
|| lab NN NK    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [https://concordia-ca.zoom.us/j/84143836369 [zoom]]    || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
+
|| online lab NN NK    || <tt>M------</tt>      || <tt>20:30-22:20</tt> || [https://concordia-ca.zoom.us/j/84143836369 [zoom]]    || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|-
 
|-
 
|| marker        ||                        ||                      ||                                                        || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
 
|| marker        ||                        ||                      ||                                                        || Jafarpour, Hamed  || [mailto:jafarpour.ha@gmail.com jafarpour.ha@gmail.com]
Line 54: Line 56:
 
|| jan 17
 
|| jan 17
 
||
 
||
*[ [[Media:Assignment1.COMP442-6421.paquet.2022.4.zip|handout]] ]  [ [https://bit.ly/3nBkssF video ] ] project assignment #1 (lexical analyzer)
+
*[ [[Media:Assignment1.COMP442-6421.paquet.2022.4.zip|handout]] ]  [ [https://bit.ly/3nBkssF video] ] project assignment #1 (lexical analyzer)
 
||
 
||
 
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] [ [https://concordia-ca.zoom.us/j/86986087264 zoom] ] lexical analysis
 
*[ [[Media:COMP442-6421.2.lexical.ppt|slides]] ] [ [https://bit.ly/399HM9Z video] ] [ [https://concordia-ca.zoom.us/j/86986087264 zoom] ] lexical analysis
Line 72: Line 74:
 
||
 
||
 
*project assignment 1 due (jan 30)  
 
*project assignment 1 due (jan 30)  
*[ schedule ] [[Media:COMP442_6421.assignment1.gradingSheet.paquet.2022.4.pdf|grading sheet]] project assignment 1 demonstrations (feb 1-2)
+
*[ [https://docs.google.com/spreadsheets/d/1QqG9JF6A-055zQ70nO2h0hT-BeajtLk6tMX-JRqMsjs/ schedule ] ] [ [[Media:COMP442_6421.assignment1.gradingSheet.paquet.2022.4.pdf|grading sheet]] ] [ [[Media:A1.grades.COMP442-6421.paquet.2022.4.pdf|grades]] ] project assignment 1 demonstrations (feb 1-2)
*[ [[Media:Assignment2.COMP442-6421.paquet.2022.4.zip|handout]] ] [ video ] project assignment #2 (syntactic analyzer)
+
*[ [[Media:Assignment2.COMP442-6421.paquet.2022.4.zip|handout]] ] [ [https://bit.ly/34kDTza video] ] project assignment #2 (syntactic analyzer)
 
||
 
||
 
*[ [[Media:COMP442-6421.4.SyntaxII.ppt|slides]] ] [ [https://bit.ly/2N3B50R video] ] top-down parsing I
 
*[ [[Media:COMP442-6421.4.SyntaxII.ppt|slides]] ] [ [https://bit.ly/2N3B50R video] ] top-down parsing I
Line 86: Line 88:
 
*[ [[Media:COMP442-6421.6.SDT.ppt|slides]] ] [ [https://bit.ly/2ZbR5R6 video] ] syntax-directed translation I
 
*[ [[Media:COMP442-6421.6.SDT.ppt|slides]] ] [ [https://bit.ly/2ZbR5R6 video] ] syntax-directed translation I
 
||
 
||
*[ [[Media:COMP442-6421.lab04.grammar-parsing.2021.4.pdf|slides]] ] [ [https://concordia.yuja.com/V/Video?v=285182&node=1082624&a=1557268429&autoplay=1 video] ] grammar transformation and parsing
+
*[ [[Media:COMP442-6421.lab04.grammar-parsing.2021.4.pdf|slides]] ] [ [https://concordia.yuja.com/V/Video?v=495114&node=2070774&a=1000632278&autoplay=1 video] ] grammar transformation and parsing
 
|-
 
|-
 
|| week 6
 
|| week 6
Line 93: Line 95:
 
||
 
||
 
*[ [[Media:COMP442-6421.7.SDTII.ppt|slides]] ] [ [https://bit.ly/3sein5P video] ] syntax-directed translation II
 
*[ [[Media:COMP442-6421.7.SDTII.ppt|slides]] ] [ [https://bit.ly/3sein5P video] ] syntax-directed translation II
*[ [[Media:COMP442-6421.8.SDTAST.ppt|slides]] ] [ [https://bit.ly/2NnC7VK video] ] AST generation using SDT
+
*[ [[Media:COMP442-6421.8.SDTAST.ppt|slides]] ] [ [https://bit.ly/2NnC7VK video] ] AST generation using SDT
 
||
 
||
*[ [[Media:COMP442-6421.lab05.AST.2021.4.zip|slides]] ] [ video ] AST generation
+
*[ [[Media:COMP442-6421.lab05.AST.2021.4.zip|slides]] ] [ [https://concordia.yuja.com/V/Video?v=500283&node=2085385&a=1657358570&autoplay=1 video] ] AST generation
 
|-
 
|-
 
|| week 7
 
|| week 7
Line 101: Line 103:
 
||
 
||
 
*project assignment 2 due (feb 20)  
 
*project assignment 2 due (feb 20)  
*[ schedule ] [ grading sheet ] project assignment 2 demonstrations (feb 22,23)
+
*[ [https://docs.google.com/spreadsheets/d/1sdfnMN8ZyfdCwTyBworZMFrFj9jCyI8DWRgaclLSI8A/ schedule] ] [ [[Media:COMP442_6421.assignment2.gradingSheet.paquet.2022.4.pdf|grading sheet]] ] [ [[Media:A2.grades.COMP442-6421.paquet.2022.4.pdf|grades]] ] project assignment 2 demonstrations (feb 22,23)
*[ [[Media:assignment3.COMP442-6421.paquet.2022.4.zip|handout]] ] [ video ] project assignment #3 (AST generation) (handout)
+
*[ [[Media:assignment3.COMP442-6421.paquet.2022.4.zip|handout]] ] [ [https://youtu.be/CB_rP-Psdaw video] ] project assignment #3 (AST generation)
*[[Media:Assignment2.LL1grammar.COMP442-6421.2022.4.zip|LL(1) grammar]]
+
 
||
 
||
*[ [[Media:COMP442-6421.9.VisitorSymTab.ppt|slides]] ] [ [https://bit.ly/30nBvCp video] ] Tree traversal and symbol table generation
+
*[ [[Media:COMP442-6421.8.5.ASTgeneration.ppt|slides]] ] [ [https://youtu.be/_SatSSd8O58 video] ] AST generation concrete examples
 
||
 
||
 
* Programmer on duty
 
* Programmer on duty
Line 119: Line 120:
 
||
 
||
 
*project assignment 3 due (mar 6)  
 
*project assignment 3 due (mar 6)  
*[ schedule ] [ grading sheet ] project assignment 3 demonstrations (mar 8-9)  
+
*[ [https://docs.google.com/spreadsheets/d/1tYLFlTPOqUUAuPy5o_a--CWR_gByY-oajZrBH2oBSHI/ schedule] ] [ [[Media:COMP442_6421.assignment3.gradingSheet.paquet.2022.4.pdf|grading sheet]] ] [ [[Media:A3.grades.COMP442-6421.paquet.2022.4.pdf|grades]] ] project assignment 3 demonstrations (mar 10-11)  
*[ [[Media:assignment4.COMP442-6421.paquet.2022.4.zip|handout]] ] [ video ] project assignment #4 (semantic analysis) (handout)
+
*[ [[Media:assignment4.COMP442-6421.paquet.2022.4.zip|handout]] ] [ [https://bit.ly/3vDjK30 video] ] project assignment #4 (semantic analysis)
 
||
 
||
*[ [[Media:COMP442-6421.10.BottomUpI.ppt|slides]] ] [ [https://bit.ly/2Ne2A8a video] ] bottom-up parsing I
+
*[ [[Media:COMP442-6421.9.VisitorSymTab.ppt|slides]] ] [ [https://bit.ly/30nBvCp video] ] Tree traversal and symbol table generation
*[ [[Media:COMP442-6421.ASTgeneration.ppt|slides]] ] AST generation: supplementary lecture
+
 
||
 
||
*[ [[Media:COMP442-6421.lab07.Tree_Traversal_and_Visitor_Pattern.pptx|slides]] ] [ [https://concordia.yuja.com/V/Video?v=307843&node=1138451&a=43321267&autoplay=1 video] ] tree traversal and visitor pattern
+
*[ [[Media:COMP442-6421.lab07.tree-traversal-and-visitor-pattern.pptx|slides]] ] [ [https://concordia.yuja.com/V/Video?v=511625&node=2115903&a=489652905&autoplay=1 video] ] tree traversal and visitor pattern
 
*[[Media:astvisitor.zip|Visitor for all phases]]
 
*[[Media:astvisitor.zip|Visitor for all phases]]
 
|-
 
|-
Line 132: Line 132:
 
||
 
||
 
||
 
||
 +
*[ [[Media:COMP442-6421.10.BottomUpI.ppt|slides]] ] [ [https://bit.ly/2Ne2A8a video] ] bottom-up parsing I
 
*[ [[Media:COMP442-6421.11.BottomUpII.ppt|slides]] ] [ [https://bit.ly/3f0cWUE video] ] bottom-up parsing II
 
*[ [[Media:COMP442-6421.11.BottomUpII.ppt|slides]] ] [ [https://bit.ly/3f0cWUE video] ] bottom-up parsing II
 
||
 
||
Line 140: Line 141:
 
||
 
||
 
*project assignment 4 due (mar 20)  
 
*project assignment 4 due (mar 20)  
*[ schedule ] [ grading sheet ] project assignment 4 demonstrations (mar 22-23)  
+
*[ [https://docs.google.com/spreadsheets/d/1r5QK5djyyGjIpfI_s5IC2HVDptN3s-7CVoML9gYjarg/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.assignment4.gradingSheet.paquet.2022.4.pdf|grading sheet]] ] [ [[Media:A4.grades.COMP442-6421.paquet.2022.4.pdf|grades]] ] project assignment 4 demonstrations (mar 22-23)  
*[ [[Media:assignment5.COMP442-6421.paquet.2022.4.zip|handout]] ] [ video ] project assignment #5 (code generation) (handout)
+
*[ [[Media:assignment5.COMP442-6421.paquet.2022.4.zip|handout]] ] [ [https://bit.ly/3qhO9k0 video] ] project assignment #5 (code generation)
 
||
 
||
 
*[ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] [ [https://bit.ly/2Pp8S5u video] ] code generation I
 
*[ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] [ [https://bit.ly/2Pp8S5u video] ] code generation I
 
||
 
||
*  [ [[Media:COMP442-6421.lab06.code.generation.pptx|slides]] ] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=484026787&b=333076&linkType=video video] ] code generation I
+
*  [ [[Media:COMP442-6421.lab09.code-generation-I.pptx|slides]] ] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=1486063183&b=521260&linkType=video video] ] code generation I
 
|-
 
|-
 
|| week 11
 
|| week 11
Line 158: Line 159:
 
|| apr 4
 
|| apr 4
 
||
 
||
*project assignment 5 due (apr 3)
+
*project assignment 5 due (apr 5)
*[ schedule ] project assignment 5 demonstrations (apr 5-6)
+
*[ [https://docs.google.com/spreadsheets/d/1LgYBZBqyWyEubql6HaFmPx3RAld7rsJE4YdgGEIFvVQ/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.assignment5.gradingSheet.paquet.2022.4.pdf|grading sheet]] ] [ [[Media:A5.grades.COMP442-6421.paquet.2022.4.pdf|grades]] ] project assignment 5 demonstrations (apr 6-7)
 
||
 
||
*[ [[Media:COMP442-6421.14.review.2021.ppt|slides]] ] [ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] review and discussion on final examination
+
*[ [[Media:COMP442-6421.14.review.2022.ppt|slides]] ] [ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] review and discussion on final examination
 
||
 
||
 
*[ [[Media:COMP442-6421.exercises.ppt|slides]] ] [ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] exercises
 
*[ [[Media:COMP442-6421.exercises.ppt|slides]] ] [ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] exercises
Line 169: Line 170:
 
||
 
||
 
* final project due (apr 10)
 
* final project due (apr 10)
*[ schedule ] [ grading sheet ] final project demonstrations (apr 11-13)
+
*[ [https://docs.google.com/spreadsheets/d/1PnYqbeZ_W1w4lamz-Tru4aECtR5KfccU5z4yGmBL-YM/edit#gid=1074696973 schedule] ] [ [[Media:COMP442_6421.final.project.demonstration.gradingSheet.paquet.2022.4.pdf|grading sheet]] ] [ [[Media:finalProjectDemonstration.grades.COMP442-6421.paquet.2022.4.pdf|grades distribution]] ] final project demonstrations (apr 11-13)
 
||
 
||
 
||
 
||
Line 177: Line 178:
 
|| apr 19 - may 1
 
|| apr 19 - may 1
 
||
 
||
* [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] final examination (TBD)
+
* [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] [ [[Media:finalExamination.grades.COMP442-6421.paquet.2022.4.pdf|grades distribution]] ] final examination (apr 25, 19h00-22h00, online)
 
||
 
||
 
||
 
||

Latest revision as of 13:32, 27 April 2022

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-507
[YouTube]
Paquet, Joey joey.paquet@concordia.ca
online lecture NN M------ 15:00-17:00 [zoom]
[YouTube]
Paquet, Joey joey.paquet@concordia.ca
office hours --W---- 10:00-12:00 [zoom] Paquet, Joey
online lab NN NI M------ 20:30-22:20 [zoom] Jafarpour, Hamed jafarpour.ha@gmail.com
in-person lab NN NJ M------ 15:45-17:35 H-849 Marhwal, Vashisht vmarhwal97@gmail.com
online lab NN NK M------ 20:30-22:20 [zoom] Jafarpour, Hamed jafarpour.ha@gmail.com
marker Jafarpour, Hamed jafarpour.ha@gmail.com
marker Marhwal, Vashisht vmarhwal97@gmail.com

Lecture Schedule

wk wk lecture date event lectures topics/material lab material
(for videos - see moodle)
week 1 jan 10
  • no lab
week 2 jan 17
  • [ handout ] [ video ] project assignment #1 (lexical analyzer)
week 3 Jan 24
week 4 jan 31
  • Programmer on duty
week 5 feb 7
  • [ slides ] [ video ] grammar transformation and parsing
week 6 feb 14
week 7 feb 21
  • Programmer on duty
midterm break feb 28 - mar 6
week 8 mar 7
  • [ slides ] [ video ] Tree traversal and symbol table generation
week 9 mar 14
  • Programmer on duty
week 10 mar 21
week 11 mar 28
week 12 apr 4
  • [ slides ] [ video ] review and discussion on final examination
week 13 apr 11
  • no lab
examination week apr 19 - may 1

Course Material and Resources