Difference between revisions of "COMP345 - fall 2019"
From Dr. Joey Paquet Web Site
(→Lecture Schedule) |
(→Lecture Schedule) |
||
(17 intermediate revisions by one user not shown) | |||
Line 23: | Line 23: | ||
|- | |- | ||
|| instructor's office hours || <tt>--W----</tt> || <tt>10:00-12:00</tt> || <tt>EV-3-221</tt> || Joey Paquet || || | || instructor's office hours || <tt>--W----</tt> || <tt>10:00-12:00</tt> || <tt>EV-3-221</tt> || Joey Paquet || || | ||
+ | |- | ||
+ | || lab AX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H-831</tt> || || || | ||
+ | |- | ||
+ | || lab BX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H-929</tt> || || || | ||
|- | |- | ||
|| lab CX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H-917</tt> || Sleiman Rabah || <tt>s_rabah@encs.concordia.ca</tt> || [https://users.encs.concordia.ca/~s_rabah/ta/courses/comp345.php web page] | || lab CX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H-917</tt> || Sleiman Rabah || <tt>s_rabah@encs.concordia.ca</tt> || [https://users.encs.concordia.ca/~s_rabah/ta/courses/comp345.php web page] | ||
+ | |- | ||
+ | || lab EX || <tt>--W----</tt> || <tt>17:45-19:35</tt> || <tt>H-831</tt> || || || | ||
|- | |- | ||
|| lab FX || <tt>--W----</tt> || <tt>17:45-19:35</tt> || <tt>H-929</tt> || Vahid Khorasani Ghassab || <tt>vahid.khorasani@ieee.org</tt> || | || lab FX || <tt>--W----</tt> || <tt>17:45-19:35</tt> || <tt>H-929</tt> || Vahid Khorasani Ghassab || <tt>vahid.khorasani@ieee.org</tt> || | ||
Line 72: | Line 78: | ||
*[[Media:COMP345.3.inputoutput.ppt|Slide set 3]] | *[[Media:COMP345.3.inputoutput.ppt|Slide set 3]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab01.introduction.zip|lab1: introduction]] |
− | *[[Media: | + | *[[Media:COMP345.lab02.serialization.zip|lab2: serialization]] |
|- | |- | ||
|| week 3 | || week 3 | ||
Line 87: | Line 93: | ||
*[[Media:COMP345.4.classes.ppt|Slide set 4]] | *[[Media:COMP345.4.classes.ppt|Slide set 4]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab03.classes.zip|lab3: classes]] |
|- | |- | ||
|| week 4 | || week 4 | ||
Line 104: | Line 110: | ||
*[[Media:COMP345.5.arrays.ppt|Slide set 5]] | *[[Media:COMP345.5.arrays.ppt|Slide set 5]] | ||
|| | || | ||
− | *[[Media:COMP345. | + | *[[Media:COMP345.lab04.arrays.zip|lab4: arrays and containers]] |
− | + | ||
|- | |- | ||
|| week 6 | || week 6 | ||
Line 117: | Line 122: | ||
*[[Media:COMP345.6.MVC.ppt |Slide set 6]] | *[[Media:COMP345.6.MVC.ppt |Slide set 6]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab05.observer.zip|lab5: observer pattern]] |
|- | |- | ||
|| week 7 | || week 7 | ||
Line 133: | Line 138: | ||
*[[Media:COMP345.7.polymorphism.ppt |Slide set 7]] | *[[Media:COMP345.7.polymorphism.ppt |Slide set 7]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab06.abstract.zip|lab6: abstract classes]] |
− | *[[Media: | + | *[[Media:COMP345.lab07.polymorphism.zip|lab7: polymorphism]] |
− | *[[Media: | + | *[[Media:COMP345.lab08.virtual|lab8: virtual inheritance]] |
|- | |- | ||
|| week 8 | || week 8 | ||
Line 156: | Line 161: | ||
*[[Media:COMP345.8.patterns.ppt|Slide set 8]] | *[[Media:COMP345.8.patterns.ppt|Slide set 8]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab09.patterns.zip|lab9: design patterns in C++]] |
|- | |- | ||
|| week 10 | || week 10 | ||
Line 166: | Line 171: | ||
*[[Media:COMP345.9.operators.ppt |Slide set 9]] | *[[Media:COMP345.9.operators.ppt |Slide set 9]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab10.operators.zip|lab10: operator overloading]] |
|- | |- | ||
|| week 11 | || week 11 | ||
|| nov 12, nov 14 | || nov 12, nov 14 | ||
|| | || | ||
− | *due date for assignment 3 (nov 16) | + | *due date for assignment 3 (nov 16) <br> [[Media:Grades.assignment3.COMP345.paquet.2019.2.pdf|results]] |
*[[Media:assignment4.COMP345.2019.2.pdf|assignment 4 handout]] | *[[Media:assignment4.COMP345.2019.2.pdf|assignment 4 handout]] | ||
*[[Media:practice.programmingexam.COMP345.2019.2.zip|handout of practice run questions for the programming test]] | *[[Media:practice.programmingexam.COMP345.2019.2.zip|handout of practice run questions for the programming test]] | ||
Line 179: | Line 184: | ||
*[[Media:COMP345.10.exceptions.ppt|Slide set 10]] | *[[Media:COMP345.10.exceptions.ppt|Slide set 10]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab11.exceptions.zip|lab 11: exception handling]] |
|- | |- | ||
|| week 12 | || week 12 | ||
|| nov 19, nov 21 | || nov 19, nov 21 | ||
|| | || | ||
− | *final programming test (nov 20th during labs) <br> Wed Nov 20th 17:45-19:35 (H819,H831,H917,H929) <br> Wed Nov 20th 20:30-22: | + | *final programming test (nov 20th during labs) <br> Wed Nov 20th 17:45-19:35 (H819,H831,H917,H929) <br> Wed Nov 20th 20:30-22:20 (H831,H917,H929) <br> [[Media:COMP345.sectionD.slides.zip|material available during the examination]] <br> [[Media:grades.programmingtest.COMP345.paquet.2019.2.pdf|results]] |
|| | || | ||
*templates metaprogramming | *templates metaprogramming | ||
Line 190: | Line 195: | ||
*[[Media:COMP345.11.templates.ppt|Slide set 11]] | *[[Media:COMP345.11.templates.ppt|Slide set 11]] | ||
|| | || | ||
− | *[[Media: | + | *[[Media:COMP345.lab12.templates.zip|lab 12: templates]] |
|- | |- | ||
|| week 13 | || week 13 | ||
|| nov 26 - nov 28 | || nov 26 - nov 28 | ||
|| | || | ||
− | *due date for assignment 4 (nov 30) | + | *due date for assignment 4 (nov 30)<br>[[Media:Grades.assignment4.COMP345.paquet.2019.2.pdf|results]] |
|| | || | ||
* Review | * Review | ||
Line 205: | Line 210: | ||
|| dec 5 - dec 19 | || dec 5 - dec 19 | ||
|| | || | ||
− | *final written examination ( | + | *final written examination (confirmed: dec 10, 9h00-12h00, H535, H565) <br> [[Media:grades.final.COMP345.paquet.2019.2.pdf|results]] |
|| | || | ||
|| | || | ||
Line 233: | Line 238: | ||
*[[Media:PatternsC--.zip|design patterns implemented in C++ (1)]] | *[[Media:PatternsC--.zip|design patterns implemented in C++ (1)]] | ||
*[[Media:DPCPP.zip|design patterns implemented in C++ (2)]] | *[[Media:DPCPP.zip|design patterns implemented in C++ (2)]] | ||
+ | *[[Media:miscellaneousFacts.cpp|Last week's lecture's code]] |
Latest revision as of 10:57, 25 May 2020
Contents |
Course Description
COMP 345 - Advanced Program Design with C++ (4 credits)
Prerequisite: COMP352 previously or concurrently. Introduction to C++. I/O with stream classes. Pointers and their uses. TheStandard Template Library (STL): containers, algorithms, iterators, adaptors, function objects. Class design: constructors, destructors, operator overloading, inheritance, virtual functions, exception handling, memory management. Advanced topics: libraries, locales, STL conventions, concurrency, template metaprogramming. Applications of C++: systems, engineering, games programming. Project. Lectures: three hours per week. Laboratory: two hours per week.
Course Schedule and Contacts
component | day | time | location | instructor | e-mail address | web |
---|---|---|---|---|---|---|
lecture D | -T-J--- | 13:15-14:30 | H-415 | Joey Paquet | paquet@encs.concordia.ca | |
instructor's office hours | --W---- | 10:00-12:00 | EV-3-221 | Joey Paquet | ||
lab AX | --W---- | 20:30-22:20 | H-831 | |||
lab BX | --W---- | 20:30-22:20 | H-929 | |||
lab CX | --W---- | 20:30-22:20 | H-917 | Sleiman Rabah | s_rabah@encs.concordia.ca | web page |
lab EX | --W---- | 17:45-19:35 | H-831 | |||
lab FX | --W---- | 17:45-19:35 | H-929 | Vahid Khorasani Ghassab | vahid.khorasani@ieee.org | |
lab GX | --W---- | 17:45-19:35 | H-917 | Zachary Lapointe | zachary.lapointe@mail.concordia.ca | |
marker | Sleiman Rabah | s_rabah@encs.concordia.ca | ||||
marker | Zachary Lapointe | zachary.lapointe@mail.concordia.ca |
Lecture Schedule
wk | date | event | topics | lecture material (tentative) | laboratory material (tentative) |
---|---|---|---|---|---|
week 1 | sep 3, sep 5 |
|
|||
week 2 | sep 10, sep 12 |
|
|
||
week 3 | sep 17, sep 19 |
|
|||
week 4 | sep 24, sep 26 | ||||
week 5 | oct 1, oct 3 |
|
|||
week 6 | oct 8, oct 10 |
|
|
||
week 7 | oct 15, oct 17 |
|
|||
week 8 | oct 22, oct 24 | ||||
week 9 | oct 29, oct 31 |
|
|
||
week 10 | nov 5, nov 7 |
|
|||
week 11 | nov 12, nov 14 |
|
|
||
week 12 | nov 19, nov 21 |
|
|
||
week 13 | nov 26 - nov 28 |
|
|
||
exam week | dec 5 - dec 19 |
|
Course Material and Resources
- Course outline
- teams
- ENCS Electronic Student Submission System
- ENCS Lectures and Labs Schedules
- Source code of all program examples in Walter Savitch's "Absolute C++"
- Source code of all program examples in Daniel Liang's "Introduction to Programming with C++"