Difference between revisions of "COMP442/6421 - winter 2022"
From Dr. Joey Paquet Web Site
(→Course Schedule and Contacts) |
(→Lecture Schedule) |
||
(112 intermediate revisions by one user not shown) | |||
Line 19: | Line 19: | ||
|- | |- | ||
− | || lecture NN || <tt>- | + | || 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 || |
|- | |- | ||
− | || lab NN | + | || 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] |
|- | |- | ||
− | || | + | || 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] |
|- | |- | ||
− | || marker || || || | + | || 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 || || || || Marhwal, Vashisht || [mailto:vmarhwal97@gmail.com vmarhwal97@gmail.com] | ||
|} | |} | ||
Line 36: | Line 40: | ||
{| {{simpleTable}} | {| {{simpleTable}} | ||
! {{tableHeaderCell}}| wk | ! {{tableHeaderCell}}| wk | ||
− | ! {{tableHeaderCell}}| wk | + | ! {{tableHeaderCell}}| wk lecture date |
! {{tableHeaderCell}}| event | ! {{tableHeaderCell}}| event | ||
! {{tableHeaderCell}}| lectures topics/material | ! {{tableHeaderCell}}| lectures topics/material | ||
Line 42: | Line 46: | ||
|- | |- | ||
|| week 1 | || week 1 | ||
− | || jan | + | || jan 10 |
|| | || | ||
|| | || | ||
− | *[ [[Media:COMP442-6421.1.introduction. | + | *[ [[Media:COMP442-6421.1.introduction.2022.4.ppt|slides]] ] [ [https://bit.ly/3F9Z57P video 1/2] ] [ [https://bit.ly/38NQ6w8 video 2/2] ] [ [https://concordia-ca.zoom.us/j/86986087264 zoom] ] introduction |
|| | || | ||
+ | * no lab | ||
|- | |- | ||
|| week 2 | || week 2 | ||
− | || jan | + | || jan 17 |
|| | || | ||
− | *[ [[Media:Assignment1.COMP442-6421.paquet. | + | *[ [[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] ] lexical analysis | + | *[ [[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.lab.01.introduction. | + | *[ [[Media:COMP442-6421.lab.01.introduction.2022.4.pdf|slides]] ] introduction |
|- | |- | ||
|| week 3 | || week 3 | ||
− | || Jan | + | || Jan 24 |
|| | || | ||
|| | || | ||
− | *[ [[Media:COMP442-6421.3.SyntaxI.ppt|slides]] ] [ [https://bit.ly/3coU3cT video] ] syntax analysis: introduction | + | *[ [[Media:COMP442-6421.3.SyntaxI.ppt|slides]] ] [ [https://bit.ly/3coU3cT video] ] syntax analysis: introduction |
|| | || | ||
− | *[ [[Media:COMP442-6421.lab02. | + | *[ [[Media:COMP442-6421.lab02.lexical.2022.4.pdf|slides]] ] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=1847869492&b=486120&linkType=video video] ] lexical analysis |
|- | |- | ||
|| week 4 | || week 4 | ||
− | || | + | || jan 31 |
|| | || | ||
− | *project assignment 1 due ( | + | *project assignment 1 due (jan 30) |
− | + | *[ [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. | + | *[ [[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 | ||
|| | || | ||
− | * Programmer | + | * Programmer on duty |
|- | |- | ||
|| week 5 | || week 5 | ||
− | || feb | + | || feb 7 |
|| | || | ||
|| | || | ||
Line 83: | 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= | + | *[ [[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 | ||
− | || feb | + | || feb 14 |
|| | || | ||
|| | || | ||
*[ [[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]] ] [ [https://concordia.yuja.com/V/Video?v= | + | *[ [[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 | ||
− | || feb | + | || feb 21 |
|| | || | ||
− | *project assignment 2 due ( | + | *project assignment 2 due (feb 20) |
− | *[ [https://docs.google.com/spreadsheets/d/ | + | *[ [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. | + | *[ [[Media:assignment3.COMP442-6421.paquet.2022.4.zip|handout]] ] [ [https://youtu.be/CB_rP-Psdaw video] ] project assignment #3 (AST generation) |
|| | || | ||
− | *[ [[Media:COMP442-6421. | + | *[ [[Media:COMP442-6421.8.5.ASTgeneration.ppt|slides]] ] [ [https://youtu.be/_SatSSd8O58 video] ] AST generation concrete examples |
|| | || | ||
− | * Programmer | + | * Programmer on duty |
|- | |- | ||
|| midterm break | || midterm break | ||
|| feb 28 - mar 6 | || feb 28 - mar 6 | ||
|| | || | ||
− | |||
|| | || | ||
|| | || | ||
|- | |- | ||
|| week 8 | || week 8 | ||
− | || mar | + | || mar 7 |
|| | || | ||
+ | *project assignment 3 due (mar 6) | ||
+ | *[ [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]] ] [ [https://bit.ly/3vDjK30 video] ] project assignment #4 (semantic analysis) | ||
|| | || | ||
− | *[ [[Media:COMP442-6421. | + | *[ [[Media:COMP442-6421.9.VisitorSymTab.ppt|slides]] ] [ [https://bit.ly/30nBvCp video] ] Tree traversal and symbol table generation |
− | + | ||
|| | || | ||
− | *[ [[Media:COMP442-6421.lab07. | + | *[ [[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]] | ||
|- | |- | ||
|| week 9 | || week 9 | ||
− | || mar | + | || mar 14 |
|| | || | ||
|| | || | ||
+ | *[ [[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 | ||
|| | || | ||
+ | * Programmer on duty | ||
|- | |- | ||
|| week 10 | || week 10 | ||
− | || mar | + | || mar 21 |
|| | || | ||
− | *[ [[Media:assignment4. | + | *project assignment 4 due (mar 20) |
− | + | *[ [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) | |
− | *[ [https:// | + | *[ [[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. | + | * [ [[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 | ||
− | || mar | + | || mar 28 |
|| | || | ||
− | |||
|| | || | ||
*[ [[Media:COMP442-6421.13.CodeGenerationII.ppt|slides]] ] [ [https://www.youtube.com/watch?v=VeLeFl_Pyqs video] ] code generation II | *[ [[Media:COMP442-6421.13.CodeGenerationII.ppt|slides]] ] [ [https://www.youtube.com/watch?v=VeLeFl_Pyqs video] ] code generation II | ||
|| | || | ||
− | *[ [[Media:COMP442-6421.lab08.code.generation.II.pptx|slides ]]] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=1359950929&b=338315&linkType=video video] ] | + | *[ [[Media:COMP442-6421.lab08.code.generation.II.pptx|slides ]]] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=1359950929&b=338315&linkType=video video] ] code generation II |
|- | |- | ||
|| week 12 | || week 12 | ||
− | || apr | + | || apr 4 |
|| | || | ||
− | + | *project assignment 5 due (apr 5) | |
− | *project assignment | + | *[ [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) |
− | *[ [https://docs.google.com/spreadsheets/d/ | + | |
|| | || | ||
− | *[ [[Media:COMP442-6421.14.review. | + | *[ [[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 | ||
|- | |- | ||
|| week 13 | || week 13 | ||
− | || apr | + | || apr 11 |
|| | || | ||
− | * final project due (apr | + | * final project due (apr 10) |
− | *[ [https://docs.google.com/spreadsheets/d/ | + | *[ [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) |
|| | || | ||
|| | || | ||
+ | * no lab | ||
|- | |- | ||
|| examination week | || examination week | ||
|| apr 19 - may 1 | || apr 19 - may 1 | ||
|| | || | ||
− | * [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] final examination ( | + | * [ [[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 14: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 | |
---|---|---|---|---|---|
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 |
| ||
week 2 | jan 17 |
| ||
week 3 | Jan 24 | |||
week 4 | jan 31 |
|
| |
week 5 | feb 7 | |||
week 6 | feb 14 | |||
week 7 | feb 21 |
|
| |
midterm break | feb 28 - mar 6 | |||
week 8 | mar 7 |
|
| |
week 9 | mar 14 |
| ||
week 10 | mar 21 |
|
||
week 11 | mar 28 | |||
week 12 | apr 4 |
|
||
week 13 | apr 11 |
|
| |
examination week | apr 19 - may 1 |
|