Difference between revisions of "COMP345 - fall 2018"
From Dr. Joey Paquet Web Site
(Created page with "==Course Description== '''COMP 345 - Advanced Program Design with C++''' (4 credits) Prerequisite: COMP352 previously or concurrently. Introduction to C++. I/O with stream ...") |
(→Lecture Schedule) |
||
(41 intermediate revisions by one user not shown) | |||
Line 20: | Line 20: | ||
! {{tableHeaderCell}} | web | ! {{tableHeaderCell}} | web | ||
|- | |- | ||
− | || lecture D | + | || lecture D || <tt>-T-J---</tt> || <tt>13:15-14:30</tt> || <tt>H-553</tt> || Paquet, Joey || <tt>paquet@encs.concordia.ca</tt> || |
+ | |- | ||
+ | || instructor's office hours || <tt>--W----</tt> || <tt>10:00-12:00</tt> || <tt>EV-3-221</tt> || Paquet, Joey || || | ||
|- | |- | ||
− | || | + | || lab AX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H831</tt> || Claudia Della Serra || <tt>cl_della@encs.concordia.ca</tt> || |
+ | |- | ||
+ | || lab BX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H929</tt> || Haotao Lai || <tt>h_lai@encs.concordia.ca</tt> || | ||
+ | |- | ||
+ | || lab CX || <tt>--W----</tt> || <tt>20:30-22:20</tt> || <tt>H917</tt> || Vahid Khorasani Ghassab || <tt>v_khoras@encs.concordia.ca</tt> || | ||
+ | |- | ||
+ | || lab EX || <tt>--W----</tt> || <tt>17:45-19:35</tt> || <tt>H907</tt> || Vahid Khorasani Ghassab || <tt>v_khoras@encs.concordia.ca</tt> || | ||
+ | |- | ||
+ | || lab FX || <tt>--W----</tt> || <tt>18:20-20:20</tt> || <tt>H929</tt> || Sleiman Rabah || <tt>s_rabah@encs.concordia.ca</tt> || | ||
+ | |- | ||
+ | || lab GX || <tt>--W----</tt> || <tt>17:45-19:35</tt> || <tt>H917</tt> || Basant Singh || <tt>s_basant@encs.concordia.ca</tt> || | ||
+ | |- | ||
+ | || marker || || || || Sleiman Rabah || <tt>s_rabah@encs.concordia.ca</tt> || [https://users.encs.concordia.ca/~s_rabah/ta/courses/comp345.php] | ||
+ | |- | ||
+ | || marker || || || || Haotao Lai || <tt>h_lai@encs.concordia.ca</tt> || | ||
|} | |} | ||
Line 81: | Line 97: | ||
|| sep 25, sep 27 | || sep 25, sep 27 | ||
|| | || | ||
− | |||
− | |||
− | |||
|| | || | ||
|| | || | ||
Line 92: | Line 105: | ||
|| | || | ||
|| | || | ||
− | *arrays | + | *C/C++ arrays and dynamic arrays, containers |
|| | || | ||
*[[Media:COMP345.5.arrays.ppt|Slide set 5]] | *[[Media:COMP345.5.arrays.ppt|Slide set 5]] | ||
|| | || | ||
+ | *[[Media:COMP345.5.arrays.lab.ppt|Lab slides for slide set 5]] | ||
*[[Media:COMP345CodeSlideSet5.zip|Code for slide set 5]] | *[[Media:COMP345CodeSlideSet5.zip|Code for slide set 5]] | ||
|- | |- | ||
Line 101: | Line 115: | ||
|| oct 9, oct 11 | || oct 9, oct 11 | ||
|| | || | ||
+ | *due date for assignment 1 (oct 12) | ||
|| | || | ||
*MVC architecture | *MVC architecture | ||
Line 112: | Line 127: | ||
|| oct 16, oct 18 | || oct 16, oct 18 | ||
|| | || | ||
− | *[ | + | *[[Media:assignment2.COMP345.2018.2.pdf|assignment 2 handout]] |
|| | || | ||
|| | || | ||
Line 119: | Line 134: | ||
|| week 8 | || week 8 | ||
|| oct 23, oct 25 | || oct 23, oct 25 | ||
− | || | + | || |
− | * | + | *midterm examination <br> oct 27, 13h00-15h00 <br>room H507: SID 25900000-40017000<br>room H553: SID 40017001-40099999<br>[[COMP345 Fall 2018 Midterm coverage|coverage]] <br> [[Media:grades.midterm.COMP345.paquet.2018.pdf|results]] |
− | + | ||
|| | || | ||
*polymorphism | *polymorphism | ||
Line 140: | Line 154: | ||
|| oct 30, nov 1 | || oct 30, nov 1 | ||
|| | || | ||
− | * | + | *due date for assignment 2 (nov 2) |
+ | *[[Media:assignment3.COMP345.2018.2.pdf|assignment 3 handout]] | ||
+ | *Deadline for withdrawal (nov 5) | ||
|| | || | ||
*design patterns in C++ | *design patterns in C++ | ||
Line 151: | Line 167: | ||
|| nov 6, nov 8 | || nov 6, nov 8 | ||
|| | || | ||
− | |||
− | |||
|| | || | ||
*operator overloading | *operator overloading | ||
Line 163: | Line 177: | ||
|| nov 13, nov 15 | || nov 13, nov 15 | ||
|| | || | ||
+ | *due date for assignment 3 (nov 18) | ||
+ | *[[Media:assignment4.COMP345.2018.2.pdf|assignment 4 handout]] | ||
|| | || | ||
*exception handling | *exception handling | ||
Line 173: | Line 189: | ||
|| nov 20, nov 22 | || nov 20, nov 22 | ||
|| | || | ||
− | |||
|| | || | ||
*templates metaprogramming | *templates metaprogramming | ||
Line 184: | Line 199: | ||
|| nov 27 - nov 29 | || nov 27 - nov 29 | ||
|| | || | ||
+ | *due date for assignment 4 (nov 30) | ||
+ | *final programming test<br>Sunday, dec 2, 2-4pm<br> H929 (SID: 25900000 to 40018000) <br> H967 (SID: 40018001 to 40099999) <br> H915 (ACSD students)<br>[[Media:grades.COMP345.programmingexam.paquet.2018.2.pdf|results]] | ||
|| | || | ||
* Review | * Review | ||
Line 193: | Line 210: | ||
|| dec 5 - dec 19 | || dec 5 - dec 19 | ||
|| | || | ||
− | * final written examination | + | *final written examination (confirmed) <br> dec 10 9h00-11h00 rooms H501,H521,H523,H540 <br> [[Media:grades.final.COMP345.paquet.2018.2.pdf|results]] |
|| | || | ||
|| | || | ||
Line 204: | Line 221: | ||
*[[COMP345 Fall 2018 teams|teams]] | *[[COMP345 Fall 2018 teams|teams]] | ||
*[https://fis.encs.concordia.ca/eas/ ENCS Electronic Student Submission System] | *[https://fis.encs.concordia.ca/eas/ ENCS Electronic Student Submission System] | ||
+ | *[https://www.concordia.ca/ginacody/students/course-schedules/fall-2018-2019.html ENCS Lectures and Labs Schedules ] | ||
*[[Media:SourceCode4e.zip|Source code of all program examples in Walter Savitch's "Absolute C++"]] | *[[Media:SourceCode4e.zip|Source code of all program examples in Walter Savitch's "Absolute C++"]] | ||
*[[Media:Liang_Code.zip|Source code of all program examples in Daniel Liang's "Introduction to Programming with C++"]] | *[[Media:Liang_Code.zip|Source code of all program examples in Daniel Liang's "Introduction to Programming with C++"]] |
Latest revision as of 12:00, 2 September 2019
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-553 | Paquet, Joey | paquet@encs.concordia.ca | |
instructor's office hours | --W---- | 10:00-12:00 | EV-3-221 | Paquet, Joey | ||
lab AX | --W---- | 20:30-22:20 | H831 | Claudia Della Serra | cl_della@encs.concordia.ca | |
lab BX | --W---- | 20:30-22:20 | H929 | Haotao Lai | h_lai@encs.concordia.ca | |
lab CX | --W---- | 20:30-22:20 | H917 | Vahid Khorasani Ghassab | v_khoras@encs.concordia.ca | |
lab EX | --W---- | 17:45-19:35 | H907 | Vahid Khorasani Ghassab | v_khoras@encs.concordia.ca | |
lab FX | --W---- | 18:20-20:20 | H929 | Sleiman Rabah | s_rabah@encs.concordia.ca | |
lab GX | --W---- | 17:45-19:35 | H917 | Basant Singh | s_basant@encs.concordia.ca | |
marker | Sleiman Rabah | s_rabah@encs.concordia.ca | [1] | |||
marker | Haotao Lai | h_lai@encs.concordia.ca |
Lecture Schedule
wk | date | event | topics | lecture material (tentative) | laboratory material (tentative) |
---|---|---|---|---|---|
week 1 | sep 4, sep 6 |
|
|||
week 2 | sep 11, sep 13 |
|
|||
week 3 | sep 18, sep 20 |
|
|||
week 4 | sep 25, sep 27 | ||||
week 5 | oct 2, oct 4 |
|
|||
week 6 | oct 9, oct 11 |
|
|
||
week 7 | oct 16, oct 18 | ||||
week 8 | oct 23, oct 25 |
|
|||
week 9 | oct 30, nov 1 |
|
|
||
week 10 | nov 6, nov 8 |
|
|||
week 11 | nov 13, nov 15 |
|
|
||
week 12 | nov 20, nov 22 |
|
|||
week 13 | nov 27 - nov 29 |
|
|
||
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++"