Difference between revisions of "COMP442/6421 - winter 2020"
From Dr. Joey Paquet Web Site
(→Lecture Schedule) |
(→Lecture Schedule) |
||
(136 intermediate revisions by one user not shown) | |||
Line 16: | Line 16: | ||
! {{tableHeaderCell}} | location | ! {{tableHeaderCell}} | location | ||
! {{tableHeaderCell}} | instructor | ! {{tableHeaderCell}} | instructor | ||
− | ! {{tableHeaderCell}} | | + | ! {{tableHeaderCell}} | email |
|- | |- | ||
− | || lecture NN || | + | || lecture NN || || || [https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ YouTube] || Paquet, Joey || [mailto:paquet@cse.concordia.ca paquet@cse.concordia.ca] |
|- | |- | ||
− | || office hours || <tt> | + | || office hours || <tt>M-W-F--</tt> || <tt>11:00-11:30</tt> || [https://concordia-ca.zoom.us/j/579735285) zoom] || Paquet, Joey || |
|- | |- | ||
− | || | + | || || <tt>M-W-F--</tt> || <tt>19:00-19:30</tt> || [https://concordia-ca.zoom.us/j/662960823) zoom] || Paquet, Joey || |
− | + | ||
− | + | ||
|- | |- | ||
− | || marker || | + | || lab hours || <tt>M--T---</tt> || <tt>15:00-16:00</tt> || [https://concordia-ca.zoom.us/j/705180957) zoom] || Zachary Lapointe || |
+ | |- | ||
+ | || marker || || || || Zachary Lapointe || [mailto:zachary.lapointe@mail.concordia.ca zachary.lapointe@mail.concordia.ca] | ||
|} | |} | ||
Line 34: | Line 34: | ||
{| {{simpleTable}} | {| {{simpleTable}} | ||
! {{tableHeaderCell}}| wk | ! {{tableHeaderCell}}| wk | ||
− | ! {{tableHeaderCell}}| date | + | ! {{tableHeaderCell}}| wk starting date |
! {{tableHeaderCell}}| event | ! {{tableHeaderCell}}| event | ||
! {{tableHeaderCell}}| lectures topics/material | ! {{tableHeaderCell}}| lectures topics/material | ||
Line 101: | Line 101: | ||
* Programmer On Duty | * Programmer On Duty | ||
|- | |- | ||
− | || | + | || midterm break |
|| feb 24 - mar 1 | || feb 24 - mar 1 | ||
|| | || | ||
Line 113: | Line 113: | ||
*[[Media:COMP442-6421.10.BottomUpI.ppt|bottom-up parsing I]] | *[[Media:COMP442-6421.10.BottomUpI.ppt|bottom-up parsing I]] | ||
|| | || | ||
− | *[[Media:COMP442-6421.lab.05.pdf|lab slides 5]] | + | *[[Media:COMP442-6421.lab.05.Visitor.pdf|lab slides 5]] |
− | *[[Media:astvisitor.zip|Visitor for all phases | + | *[[Media:astvisitor.zip|Visitor for all phases]] |
|- | |- | ||
|| week 9 | || week 9 | ||
Line 122: | Line 122: | ||
*[[Media:COMP442-6421.11.BottomUpII.ppt|bottom-up parsing II]] | *[[Media:COMP442-6421.11.BottomUpII.ppt|bottom-up parsing II]] | ||
|| | || | ||
− | *[[Media:COMP442-6421.lab.06.pdf|lab slides 6]] | + | *[[Media:COMP442-6421.lab.06.LRparsing.pdf|lab slides 6]] |
|- | |- | ||
|| week 10 | || week 10 | ||
− | || mar | + | || mar 23 |
|| | || | ||
− | *DISC deadline ( | + | *DISC deadline (see [[#Course Material and Resources|Course Material and Resources]]) |
− | + | ||
− | + | ||
|| | || | ||
− | *[[Media:COMP442-6421.12.CodeGenerationI.ppt|code generation I | + | *[ [https://www.youtube.com/watch?v=KPhTIAlAXZs video] ] How we are going to proceed for the remainder of the semester |
+ | *[ [https://www.youtube.com/watch?v=XgqpgJjIqWg video] ] Update on resources, deadlines, grading scheme, and final examination | ||
+ | |||
+ | *[ [https://www.youtube.com/watch?v=BN9Px7bvnBg video] ] [ [[Media:COMP442-6421.12.CodeGenerationI.ppt|slides]] ] code generation I | ||
|| | || | ||
* Programmer On Duty | * Programmer On Duty | ||
|- | |- | ||
|| week 11 | || week 11 | ||
− | || mar | + | || mar 30 |
|| | || | ||
+ | *[ [https://www.youtube.com/watch?v=s36fseVge3M video] ] [ [[Media:assignment4.COMP442-6421.paquet.2020.4.zip|handout]] ] project assignment #4 (code generation) (handout) | ||
+ | *[ [[Media:Grades.assignment3.COMP442-6421.paquet.2020.4.pdf|grades]] ] project assignment 3 due (mar 31) | ||
+ | *[ [https://docs.google.com/spreadsheets/d/1U8t4oIMtnPJLugFs7XKtnWlsVN2r5ZcWx4dyPQR6enA/edit?usp=sharing schedule] ] [ [https://concordia-ca.zoom.us/j/517091828 zoom ] ] project assignment 3 demonstrations (apr 2-3) | ||
|| | || | ||
− | *[[Media:COMP442-6421.13.CodeGenerationII.ppt|code generation II | + | *[ [https://www.youtube.com/watch?v=VeLeFl_Pyqs video] ] [ [[Media:COMP442-6421.13.CodeGenerationII.ppt|slides]] ] code generation II |
|| | || | ||
− | *[[Media:COMP442-6421. | + | *[ [https://www.youtube.com/watch?v=hhygTFmXpjk video] ] [ [[Media:COMP442-6421.lab7.CodeGeneration.zip|slides]] ] lab slides 7 |
|- | |- | ||
|| week 12 | || week 12 | ||
− | || | + | || apr 6 |
|| | || | ||
+ | *[ [https://www.youtube.com/watch?v=lZk6wPqwLPg video] ] [ [[Media:Projectdemonstration.COMP442.paquet.2020.4.pdf|handout]] ] final project grading sheet (handout) | ||
|| | || | ||
− | *[[Media:COMP442-6421.14.review.ppt| | + | *[ [https://www.youtube.com/watch?v=NhmgRuCuess video] ] [ [[Media:COMP442-6421.14.review.2020.ppt|slides]] ] review and discussion on final examination |
|| | || | ||
− | *[[Media:COMP442-6421.lab.08. | + | *[ [https://www.youtube.com/watch?v=eFMTL3pQ-3s video] ] [ [[Media:COMP442-6421.lab.08.codegenerationII.zip|slides ]]] lab slides 8 |
+ | *[ [https://www.youtube.com/watch?v=LNsiNcFh-uA video] ] [ [[Media:COMP442-6421.exercises.ppt|slides]] ] exercises | ||
|- | |- | ||
|| week 13 | || week 13 | ||
− | || apr | + | || apr 13 |
|| | || | ||
− | * | + | *[ [[Media:Grades.assignment4.COMP442-6421.paquet.2020.4.pdf|grades]] ] project assignment 4 due (apr 14) |
− | + | *[ [https://docs.google.com/spreadsheets/d/1tTnrToqNSjdn7IqvzjZZbmpFhaUPPMiqZfT51pYKU-A/edit?usp=sharing schedule] ] [ [https://concordia-ca.zoom.us/j/889749340 zoom ] ] project assignment 4 demonstrations (apr 16-17) | |
− | *[[ | + | |
|| | || | ||
|| | || | ||
* Programmer On Duty | * Programmer On Duty | ||
|- | |- | ||
− | || | + | || week 14 |
− | || apr | + | || apr 20 |
+ | || | ||
+ | *[ [[Media:Grades.project.COMP442-6421.paquet.2020.4.pdf|grades]] ] final project due (apr 22) | ||
+ | *[ [https://docs.google.com/spreadsheets/d/109-bG9n1V5BKvs9MBHY9gcmkrNsSwvnHL4pDdWXM9f0 schedule] ] [ [https://concordia-ca.zoom.us/j/97692324119 zoom] ] final project presentations (apr 23-24) | ||
|| | || | ||
− | + | || | |
+ | |- | ||
+ | || final examination | ||
+ | || apr 27 | ||
+ | || | ||
+ | *[ [[Media:Grades.examination.COMP442-6421.paquet.2020.4.pdf|grades]] ] home examination - (apr 29-30) [ [[Media:Finalsample.COMP442-6421.paquet.2019.4.pdf|sample examination]] ] | ||
|| | || | ||
|| | || | ||
Line 174: | Line 187: | ||
*[https://fis.encs.concordia.ca/eas/ ENCS Electronic Student Submission System] | *[https://fis.encs.concordia.ca/eas/ ENCS Electronic Student Submission System] | ||
*[[Media:Moon.zip|Moon processor simulator: code, documentation, libraries, examples]] | *[[Media:Moon.zip|Moon processor simulator: code, documentation, libraries, examples]] | ||
+ | *If you would like to discontinue the course, contact: [mailto:studentaccounts@concordia.ca studentaccounts@concordia.ca] | ||
+ | |||
+ | ==Online course resources== | ||
+ | |||
+ | *[https://concordia-ca.zoom.us/ Zoom at Concordia] | ||
+ | |||
+ | ===Online videos=== | ||
+ | *[https://www.youtube.com/channel/UCJuTFcB9yqK-wI2LHK-RyGQ YouTube channel] | ||
+ | *[https://www.youtube.com/watch?v=KPhTIAlAXZs How we are going to proceed for the remainder of the semester] | ||
+ | *[https://www.youtube.com/watch?v=XgqpgJjIqWg Update on resources, deadlines, grading scheme, and final examination] | ||
+ | *[https://www.youtube.com/watch?v=BN9Px7bvnBg Lecture 10 -- Code Generation I] | ||
+ | *[https://www.youtube.com/watch?v=VeLeFl_Pyqs Lecture 11 -- Code Generation II] | ||
+ | *[https://www.youtube.com/watch?v=NhmgRuCuess Review and discussion on the final examination] | ||
+ | *[https://www.youtube.com/watch?v=s36fseVge3M Explanations for assignment #4] | ||
+ | *[https://www.youtube.com/watch?v=lZk6wPqwLPg Explanations for final project demonstrations] | ||
+ | *[https://www.youtube.com/watch?v=LNsiNcFh-uA Explanations for exercises] | ||
+ | *[https://www.youtube.com/watch?v=hhygTFmXpjk Laboratory 7 -- Code Generation I] | ||
+ | *[https://www.youtube.com/watch?v=eFMTL3pQ-3s Laboratory 8 -- Code Generation II] | ||
+ | |||
+ | ===Notes on how the semester will proceed=== | ||
+ | |||
+ | *The semester will proceed online. If you don't have access to a computer and a network connection, let me know by email. | ||
+ | |||
+ | ====Lectures==== | ||
+ | *A link to video lectures will be posted in the table above for each remaining lecture in the semester. The video lectures will be posted on YouTube, so all you need is a web browser to view them. The video lectures are not interactive. Office hours will be regularly provided if you have questions about the lectures or any other question you may have. I am always available by email as usual. | ||
+ | |||
+ | ====Office hours==== | ||
+ | *Office hours will be setup using [https://concordia-ca.zoom.us/ Zoom]. See "Course Schedule and Contacts" above for the next scheduled online office hours. You can participate in a zoom meeting using a browser or by downloading the zoom client application. When you join a meeting, the browser will give you the choice. Installing the zoom client is not necessary for you to participate. Note that such meetings are by default open to anyone that has the link to the zoom meeting. You can join with a camera feed or using audio only. If you really require a one-to-one online conversation, let me know and I shall arrange it. | ||
+ | |||
+ | ====Assignments and project==== | ||
+ | *The assignments/project will continue to be carried on as we had initially planned. The only difference will be how the demonstrations will be done. For each deliverable, we will give you a link to a Google sheet (as we did before) so that you can schedule a time slot where you will do your assignment demonstration. Then, at the time of the demonstrations, a zoom meeting will be setup, so that you can join the meeting during your allocated time slot. Zoom allows you to share your computer screen during the meeting, so you will be able to demonstrate to the marker that your application behaves as required by sharing your computer screen. To preserve your privacy, we shall make sure that the demonstration meetings are not made public in any way. If you want to try it out, join us at one of the online office hours meetings. | ||
+ | |||
+ | ====Deadlines==== | ||
+ | *As you may have seen, the University has mandated that all submission deadlines be pushed after March 30th. See the updated schedule in the section [[#Lecture Schedule|Lecture Schedule]] above. | ||
+ | |||
+ | ====Final examination==== | ||
+ | *As per the decision of the University, no in-person final examinations will be held. There will still be a final examination, but it will be a home examination held on April 29-30. |
Latest revision as of 10:39, 7 January 2021
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 | |
---|---|---|---|---|---|
lecture NN | YouTube | Paquet, Joey | paquet@cse.concordia.ca | ||
office hours | M-W-F-- | 11:00-11:30 | zoom | Paquet, Joey | |
M-W-F-- | 19:00-19:30 | zoom | Paquet, Joey | ||
lab hours | M--T--- | 15:00-16:00 | zoom | Zachary Lapointe | |
marker | Zachary Lapointe | zachary.lapointe@mail.concordia.ca |
Lecture Schedule
wk | wk starting date | event | lectures topics/material | lab material |
---|---|---|---|---|
week 1 | jan 6 | |||
week 2 | jan 13 | |||
week 3 | jan 20 | |||
week 4 | jan 27 |
|
| |
week 5 | feb 3 | |||
week 6 | feb 10 | |||
week 7 | feb 17 |
|
| |
midterm break | feb 24 - mar 1 | |||
week 8 | mar 2 | |||
week 9 | mar 9 | |||
week 10 | mar 23 |
|
| |
week 11 | mar 30 | |||
week 12 | apr 6 | |||
week 13 | apr 13 |
| ||
week 14 | apr 20 | |||
final examination | apr 27 |
|
Course Material and Resources
- Course outline
- ENCS Electronic Student Submission System
- Moon processor simulator: code, documentation, libraries, examples
- If you would like to discontinue the course, contact: studentaccounts@concordia.ca
Online course resources
Online videos
- YouTube channel
- How we are going to proceed for the remainder of the semester
- Update on resources, deadlines, grading scheme, and final examination
- Lecture 10 -- Code Generation I
- Lecture 11 -- Code Generation II
- Review and discussion on the final examination
- Explanations for assignment #4
- Explanations for final project demonstrations
- Explanations for exercises
- Laboratory 7 -- Code Generation I
- Laboratory 8 -- Code Generation II
Notes on how the semester will proceed
- The semester will proceed online. If you don't have access to a computer and a network connection, let me know by email.
Lectures
- A link to video lectures will be posted in the table above for each remaining lecture in the semester. The video lectures will be posted on YouTube, so all you need is a web browser to view them. The video lectures are not interactive. Office hours will be regularly provided if you have questions about the lectures or any other question you may have. I am always available by email as usual.
Office hours
- Office hours will be setup using Zoom. See "Course Schedule and Contacts" above for the next scheduled online office hours. You can participate in a zoom meeting using a browser or by downloading the zoom client application. When you join a meeting, the browser will give you the choice. Installing the zoom client is not necessary for you to participate. Note that such meetings are by default open to anyone that has the link to the zoom meeting. You can join with a camera feed or using audio only. If you really require a one-to-one online conversation, let me know and I shall arrange it.
Assignments and project
- The assignments/project will continue to be carried on as we had initially planned. The only difference will be how the demonstrations will be done. For each deliverable, we will give you a link to a Google sheet (as we did before) so that you can schedule a time slot where you will do your assignment demonstration. Then, at the time of the demonstrations, a zoom meeting will be setup, so that you can join the meeting during your allocated time slot. Zoom allows you to share your computer screen during the meeting, so you will be able to demonstrate to the marker that your application behaves as required by sharing your computer screen. To preserve your privacy, we shall make sure that the demonstration meetings are not made public in any way. If you want to try it out, join us at one of the online office hours meetings.
Deadlines
- As you may have seen, the University has mandated that all submission deadlines be pushed after March 30th. See the updated schedule in the section Lecture Schedule above.
Final examination
- As per the decision of the University, no in-person final examinations will be held. There will still be a final examination, but it will be a home examination held on April 29-30.