Difference between revisions of "COMP345 - fall 2019"
From Dr. Joey Paquet Web Site
(→Lecture Schedule) |
(→Lecture Schedule) |
||
(One intermediate revision by one user not shown) | |||
Line 78: | 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 93: | 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 110: | 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 123: | 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 139: | 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 162: | 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 172: | 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 | ||
Line 185: | 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 | ||
Line 196: | 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 |
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++"