Difference between revisions of "COMP345 - fall 2013"
From Dr. Joey Paquet Web Site
(→Lecture Schedule) |
(→Lecture Schedule) |
||
Line 54: | Line 54: | ||
*notes: program organization | *notes: program organization | ||
|| | || | ||
− | *[[:image:COMP345.1.basics.ppt | + | *[[:image:COMP345.1.basics.ppt|Slide set 1]] |
− | *[[:image:Chap1cpp4th.ppt | + | *[[:image:Chap1cpp4th.ppt|Savitch chapter 1 slides]] |
− | *[[:image:Chap11cpp4th.ppt | + | *[[:image:Chap11cpp4th.ppt|Savitch chapter 11 slides]] |
|- | |- | ||
|| week 3 | || week 3 | ||
Line 66: | Line 66: | ||
*ch7: constructors, const, inline, static | *ch7: constructors, const, inline, static | ||
|| | || | ||
− | *[[image:COMP345.2.classes.ppt|Slide set 2]] | + | *[[:image:COMP345.2.classes.ppt|Slide set 2]] |
− | *[[image:Sav_ch06.ppt|Savitch chapter 6 slides]] | + | *[[:image:Sav_ch06.ppt|Savitch chapter 6 slides]] |
− | *[[image:Sav_ch14.ppt|Savitch chapter 14 slides]] | + | *[[:image:Sav_ch14.ppt|Savitch chapter 14 slides]] |
− | *[[image:Sav_ch07.ppt|Savitch chapter 7 slides]] | + | *[[:image:Sav_ch07.ppt|Savitch chapter 7 slides]] |
|- | |- | ||
|| week 4 | || week 4 | ||
|| sep 23 - sep 27 | || sep 23 - sep 27 | ||
|| | || | ||
− | *[[image:Assignment1.COMP345.2013.2.pdf|individual programming assignment #1 handout (updated!)]] | + | *[[:image:Assignment1.COMP345.2013.2.pdf|individual programming assignment #1 handout (updated!)]] |
|| | || | ||
|| | || | ||
Line 86: | Line 86: | ||
*ch7,19: vectors, iterators | *ch7,19: vectors, iterators | ||
|| | || | ||
− | *[[image:COMP345.3.arrays.ppt|Slide set 3]] | + | *[[:image:COMP345.3.arrays.ppt|Slide set 3]] |
− | *[[image:Sav_ch05.ppt|Savitch chapter 5 slides]] | + | *[[:image:Sav_ch05.ppt|Savitch chapter 5 slides]] |
− | *[[image:Sav_ch10.ppt|Savitch chapter 10 slides]] | + | *[[:image:Sav_ch10.ppt|Savitch chapter 10 slides]] |
− | *[[image:Sav_ch07.ppt|Savitch chapter 7 slides]] | + | *[[:image:Sav_ch07.ppt|Savitch chapter 7 slides]] |
− | *[[image:Sav_ch19.ppt|Savitch chapter 19 slides]] | + | *[[:image:Sav_ch19.ppt|Savitch chapter 19 slides]] |
|- | |- | ||
|| week 6 | || week 6 | ||
Line 98: | Line 98: | ||
*GUI design in C++ (MVC and Observer Patterns) | *GUI design in C++ (MVC and Observer Patterns) | ||
|| | || | ||
− | *[[image:COMP345.5.MVC-Observer.ppt|MVC and the Observer Pattern in C++]] | + | *[[:image:COMP345.5.MVC-Observer.ppt|MVC and the Observer Pattern in C++]] |
− | *[[image:COMP345.GUIslides.titus.zip|lab GUI slides]] | + | *[[:image:COMP345.GUIslides.titus.zip|lab GUI slides]] |
*[http://newton.cs.concordia.ca/~paquet/teaching/446/MFCTutorial.zip Example MFC code] | *[http://newton.cs.concordia.ca/~paquet/teaching/446/MFCTutorial.zip Example MFC code] | ||
*[http://newton.cs.concordia.ca/~paquet/teaching/446/GUI_design_in_C++_1.pdf lab's GUI slides 1] | *[http://newton.cs.concordia.ca/~paquet/teaching/446/GUI_design_in_C++_1.pdf lab's GUI slides 1] | ||
Line 112: | Line 112: | ||
|| | || | ||
*[oct 14-15] midterm examination | *[oct 14-15] midterm examination | ||
− | *[[image:Assignment2.COMP345.2013.2.pdf|individual programming assignment #2 handout (updated!)]] | + | *[[:image:Assignment2.COMP345.2013.2.pdf|individual programming assignment #2 handout (updated!)]] |
− | *[[image:Gradingintermediateproject.COMP345.paquet.2013.2.pdf|project build #1 grading sheet handout (updated!)]] | + | *[[:image:Gradingintermediateproject.COMP345.paquet.2013.2.pdf|project build #1 grading sheet handout (updated!)]] |
*[oct 18] individual programming assignment #1 due | *[oct 18] individual programming assignment #1 due | ||
|| | || | ||
Line 125: | Line 125: | ||
*ch15: polymorphism, virtual functions | *ch15: polymorphism, virtual functions | ||
|| | || | ||
− | *[[image:COMP345.6.virtuals.ppt|Slide set 6]] | + | *[[:image:COMP345.6.virtuals.ppt|Slide set 6]] |
− | *[[image:Sav_ch15.ppt|Savitch chapter 15 slides]] | + | *[[:image:Sav_ch15.ppt|Savitch chapter 15 slides]] |
|- | |- | ||
|| week 9 | || week 9 | ||
|| oct 28 - nov 1 | || oct 28 - nov 1 | ||
|| | || | ||
− | *[[image:Assignment3.COMP345.2013.2.pdf|individual programming assignment #3 handout (updated!)]] | + | *[[:image:Assignment3.COMP345.2013.2.pdf|individual programming assignment #3 handout (updated!)]] |
*[nov 1] individual programming assignment #2 due | *[nov 1] individual programming assignment #2 due | ||
|| | || | ||
*design patterns in C++ | *design patterns in C++ | ||
|| | || | ||
− | *[[image:COMP345.7.patterns.ppt|Slide set 7]] | + | *[[:image:COMP345.7.patterns.ppt|Slide set 7]] |
− | *[[image:PatternsC--.zip|design patterns implemented in C++ (1)]] | + | *[[:image:PatternsC--.zip|design patterns implemented in C++ (1)]] |
− | *[[image:DPCPP.zip|design patterns implemented in C++ (2)]] | + | *[[:image:DPCPP.zip|design patterns implemented in C++ (2)]] |
− | *[[image:CPP Patterns.zip|design patterns examples from the slides]] | + | *[[:image:CPP Patterns.zip|design patterns examples from the slides]] |
|- | |- | ||
|| week 10 | || week 10 | ||
Line 148: | Line 148: | ||
*ch8: operator overloading | *ch8: operator overloading | ||
|| | || | ||
− | *[[image:COMP345.8.operators.ppt|Slide set 8]] | + | *[[:image:COMP345.8.operators.ppt|Slide set 8]] |
− | *[[image:Sav_ch08.ppt|Savitch chapter 8 slides]] | + | *[[:image:Sav_ch08.ppt|Savitch chapter 8 slides]] |
|- | |- | ||
|| week 11 | || week 11 | ||
|| nov 11 - nov 15 | || nov 11 - nov 15 | ||
|| | || | ||
− | *[[image:Gradingfinalproject.COMP345.paquet.2011.2.pdf|final project build grading sheet handout (to be updated)]] | + | *[[:image:Gradingfinalproject.COMP345.paquet.2011.2.pdf|final project build grading sheet handout (to be updated)]] |
|| | || | ||
*ch18:exception handling | *ch18:exception handling | ||
|| | || | ||
− | *[[image:COMP345.9.exceptions.ppt|Slide set 9]] | + | *[[:image:COMP345.9.exceptions.ppt|Slide set 9]] |
− | *[[image:Sav_ch18.ppt|Savitch chapter 18 slides]] | + | *[[:image:Sav_ch18.ppt|Savitch chapter 18 slides]] |
|- | |- | ||
|| week 12 | || week 12 | ||
Line 168: | Line 168: | ||
*ch16:templates | *ch16:templates | ||
|| | || | ||
− | *[[image:COMP345.10.templates.ppt|Slide set 10]] | + | *[[:image:COMP345.10.templates.ppt|Slide set 10]] |
*[[Generic_programming: class templates, function templates, templates and inheritance, vectors, iterators|templates in C++]] | *[[Generic_programming: class templates, function templates, templates and inheritance, vectors, iterators|templates in C++]] | ||
− | *[[image:Sav_ch16.ppt|Savitch chapter 16 slides]] | + | *[[:image:Sav_ch16.ppt|Savitch chapter 16 slides]] |
− | *[[image:Sav_ch19.ppt|Savitch chapter 19 slides]] | + | *[[:image:Sav_ch19.ppt|Savitch chapter 19 slides]] |
|- | |- | ||
|| week 13 | || week 13 |
Revision as of 21:11, 12 November 2013
Course Description
COMP 345 - Advanced Program Design with C++ (3 credits)
Prerequisite: COMP 352 previously or concurrently. Introduction to C++. I/O with stream classes. Pointers and their uses. The Standard 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 meta-programming. Applications of C++: systems, engineering, games programming. Project. Lectures: three hours per week. NOTE: Students who have received credit for COMP 446 may not take this course for credit.
component | day | time | location | instructor | e-mail address | web site |
---|---|---|---|---|---|---|
lecture D | -T-J--- | 13:15-14:30 | FG B070 | Paquet, J. | paquet@cse.concordia.ca | |
lab D | ---J--- | 14:45-17:45 | H-821 | Laleh, T. | t_laleh@encs.concordia.ca | |
office hours D | --W-—-- | 11:00-13:00 | EV-3-221 | Paquet, J. | ||
lecture N | M-W---- | 16:15-17:30 | H-520 | Taleb, M. | mtaleb@encs.concordia.ca | |
lab N | --W---- | 18:00-21:00 | H-821 | Azarnik, A. | am_azar@encs.concordia.ca | |
office hours N | TBD | Taleb, M. |
Lecture Schedule
wk | date | event | lecture topics (TENTATIVE) | material |
---|---|---|---|---|
week 1 | sep 2 - sep 6 |
|
||
week 2 | sep 9 - sep 13 |
|
|
|
week 3 | sep 16 - sep 20 |
|
||
week 4 | sep 23 - sep 27 | |||
week 5 | sep 30 - oct 4 |
|
||
week 6 | oct 7 - oct 11 |
|
||
week 7 | oct 14 - oct 18 |
|
||
week 8 | oct 21 - oct 25 |
|
|
|
week 9 | oct 28 - nov 1 |
|
|
|
week 10 | nov 4 - nov 8 |
|
|
|
week 11 | nov 11 - nov 15 |
|
||
week 12 | nov 18 - nov 22 |
|
|
|
week 13 | nov 25 - nov 29 |
|
||
exam week | dec 4 - dec 19 |
|