Note: this syllabus is tentative and subject to change - make sure to check it regularly.
The readings are from the suggested textbooks.
CJP = C++ for Java Programmers, CP = C++ Primer
Week | | |
1 |
(1/21) |
|
2 |
(1/28) |
Topics: |
constants, enumerations, structures, arrays |
Read: |
CJP: Ch. 1, Ch. 2 (2.1, 2.2)
CP: Ch. 2 (2.1, 2.2, 2.6), Ch. 3 (3.3, 3.5.1, 3.5.2, 3.6) |
Other |
example: cardExample.cpp
|
|
3 |
(2/4) |
Topics: |
vectors, parameter passing, pointer basics |
Read: |
CJP: Ch. 2 (2.2, 2.3), Ch. 3
CP: Ch. 2 (2.3 - 2.5), Ch. 6 (6.1, not 6.1.3, 6.2, not 6.2.6, 6.3, 6.4, 6.5.1) |
Other |
handouts: Variables, References, Pointers;
pointerBasics.cpp
|
|
4 |
(2/11) |
Topics: |
pointers to structs/classes, arrays, dynamic allocation,
pointer caveats |
Read: |
CJP: Ch. 3 (continued)
CP: Ch. 3 (3.5.3), Ch. 6 (6.6) |
Other |
handout: Pointers;
P1 due: Friday, 2/13
|
|
5 |
(2/18) |
|
6 |
(2/25) |
|
7 |
(3/4) |
Topics: |
makefiles, constructor, member initialization |
Read: |
Makefiles Overview (see link in menu),
CJP: Ch. 4 (continued)
CP: Ch. 7 (continued) |
Other |
Hw due: Monday, 3/2;
handout: Defining Classes
|
|
8 |
(3/11) |
Topics: |
"Big Three" (copy constructor, copy assignment, destructor) |
Read: |
Unix utilities (see gdb and valgrind tutorial links in menu),
CJP: Ch. 4 (continued)
CP: Ch. 7 (continued), Ch. 13 (13.1) |
Other |
Try using gdb (for practice) and valgrind (to fix the memory leaks) on the IntList example code
|
|
9 |
(3/18) |
Topics: |
operatorX syntax and use, member vs. non-member options (assignment and arithmetic operators) |
Read: |
CJP: Ch. 5
CP: Ch. 14 (14.1, 14.3, 14.4) |
Other |
P2 due: Monday, 3/16;
handouts: Operator Overloading,
Polynomial Example
|
|
10 |
(3/25) |
Topics: |
explicit, member / non-member function pairs |
Read: |
CJP: Ch. 5 (continued)
CP: Ch. 14 (continued), Ch. 7 (7.5.4) |
Other |
handout: More Operator Overloading
|
|
11 |
(4/8) |
Topics: |
overloading <<, friend, overloading relational operators, console I/O, overloading >> |
Read: |
CJP: Ch. 5 (continued), Ch. 9
CP: Ch. 7 (7.2.1), Ch. 14 (14.2) |
Other |
handout: Overloading I/O Operators,
P3 due: Thursday, 4/9 |
|
12 |
(4/15) |
|
13 |
(4/22) |
Topics: |
file I/O, manipulators, C I/O |
Read: |
CJP: Ch. 9 (continued)
CP: Ch. 8 (8.2), Ch. 17 (17.5) |
Other |
handout: I/O;
P4 due: Friday, 4/24
|
|
14 |
(4/29) |
Topics: |
templated functions and classes, more template features, containers |
Read: |
CJP: Ch. 7, Ch. 10
CP: Ch. 16, Ch. 9 |
Other |
handout: Templates
|
|
15 |
(5/6) |
Topics: |
iterators, generic algorithms, function objects |
Read: |
CJP: Ch. 10 (continued)
CP: Ch. 11, Ch. 10, Ch. 14 (14.8) |
Other |
handout: STL overview;
P5 due: Friday, 5/8
|
|
|