|
Note: this syllabus is tentative and subject to change - make sure to check it regularly.
The readings are from the recommended text.
| Week | | |
| 1 |
(1/25) |
Topics: course information, history, high-level differences, pros of C++, simple C++ program
Read: Ch. 0: Introduction
Other:
course information handout,
example: simpleProg.cpp
|
| 2 |
(2/1) |
Topics: constants, enumerations, structures, arrays
Read: Ch. 1: Basic Types and Control Structures, Ch. 2: Functions, Arrays, Strings, and Parameter Passing
Other:
example: cardExample.cpp
|
| 3 |
(2/8) |
Topics: vectors, parameter passing, pointer basics
Read: Ch. 3: Pointers and Reference Variables
Other:
example: pointerBasics.cpp,
try it: find the problems with this program
(solution)
|
| 4 |
(2/15) |
Topics: pointers to structs/classes, arrays, dynamic allocation,
pointer caveats
Read: (Ch. 3 continued)
Other:
handout: Pointers,
P1 due: Wednesday, 2/15
|
| 5 |
(2/22) |
Topics: abstract memory model, reference variables, passing params to and return values from functions
Read: (Ch. 3 continued)
Other:
example: staticVarExample.cpp,
handout: Parameter Passing
|
| 6 |
(2/29) |
Topics: .h and .cpp files, defining classes, multi-file compilation
Read: Ch 4: Object-Based Programming: Classes
Other:
handout: IntList Example,
Hw due: Friday, 3/2
|
| 7 |
(3/7) |
Topics: makefiles, constructor, member initialization, destructor, copy
constructor, copy assignment
Read: (Ch. 4 continued), Makefiles Overview (see link in menu)
Other:
|
| 8 |
(3/14) |
Topics: operatorX syntax, use and limitations
Read: Ch. 5: Operator Overloading,
Unix utilities (see gdb and purify tutorial links in menu)
Other:
handout: Polynomial Example,
Try using gdb (for practice) and purify (to fix the memory leaks) on the IntList example code
|
| 9 |
(3/21) |
Topics: explicit, conventions for arithmetic operators
Read: (Ch. 5 continued)
Other: P2 due: Monday, 3/19 |
| 10 |
(3/28) |
Topics: member vs. non-member functions, friend, overloading
<<
Read: (Ch. 5 continued)
Other:
handout: friend Example
|
| 11 |
(4/11) |
Topics: overloading ++ and --, conventions for relational operators, console I/O, overloading >>,
error states
Read: (Ch. 5 continued), Ch. 9: Input and Output
Other:
P3 due: Monday, 4/9,
handout: Overloading I/O Operators
|
| 12 |
(4/18) |
Topics: file I/O, string class, C strings
Read: (Ch. 9 continued)
Other:
examples:
fileIO.cpp,
inFile.txt
|
| 13 |
(4/25) |
Topics: manipulators, C I/O, templated functions and classes
Read: Ch. 7: Templates
Other:
examples:
Cpp_IO.cpp,
C_IO.cpp;
handout:Templates;
P4 due: Wednesday, 4/25
|
| 14 |
(5/2) |
Topics: more template features, containers
Read: (Ch. 7 continued), Ch. 10: Collections: The STL (Standard Template Library)
Other:
handout: STL overview
|
| 15 |
(5/9) |
Topics: iterators, generic algorithms, function objects
Read: (Ch. 10 continued)
Other:
P5 due, Friday, 5/11
|
|