This syllabus will be updated as the semester progresses - make sure to check it regularly.
The readings are from the recommended textbook.
| Week 1: | Topics: course information, history and high-level differences, simple C++ program, booleans, constants, enumerations Read: Ch. 0: Introduction, Ch. 1: Basic Types and Control Structures Links: Lecture 01 notes, simpleProg.cpp, | 
| Week 2: | Topics: structures, arrays, vectors Read: Ch. 2: Functions, Arrays, Strings, and Parameter Passing Links: Lecture 02 notes, cardExample.cpp Program: Program p1 Due Feb 20, 8:00 PM | 
| Week 3: | Topics: variable-references-pointers, parameter passing, pointer basics Read: Ch. 3: Pointers and Reference Variables Links: Lecture 03 notes, pointerBasics.cpp | 
| Week 4: | Topics: pointers to structs/classes, arrays, dynamic allocation, pointer caveats Read: (Ch. 3 continued) Links: Lecture 04 Notes Assignment: Homework hw Due Mar 3 10:00 PM | 
| Week 5: | Topics: abstract memory model, reference variables, passing params to and return values from functions Read: Linked List Review Links: Lecture 05 Notes; staticVarExample.cpp | 
| Week 6: | Topics: .h and .cpp files, defining classes, multi-file compilation Read: Ch 4: Object-Based Programming: Classes Links: Lecture 06 Notes Program: Program 2 Due Mar 27 8:00 PM | 
| Week 7: | Topics: constructor features: typecasting and explicit, initializer lists, default values for parameters Read: Ch. 4 (continued) Links: Lecture 07 notes | 
| Week 8: | Topics:"Big Three" - copy constructor, copy assignment, destructor Read: (Ch. 4 continued) Links: Lecture 08 notes; example: IntList.h, IntList.cpp, testIntList.cpp, Makefile Program: Program 3 Due April 10 8:00PM | 
| Week 9: | Topics: operatorX syntax and use, Member vs. Non-member options (assignment and arithmetic ops), overloading +, *, ++ Read: Ch. 5: Operator Overloading, Unix utilities (see gdb and valgrind links in menu) Links: Lecture 09 notes | 
| Week 10: | Topics: non-member and member function pair option (<< op), friend option (relational operators), overloading ++ and -- Read: (Ch. 5 continued) Links: Lecture 10 notes Program: Program 4 Due April 24 8:00 PM | 
| Week 11: | Topics: console I/O, overloading >>, file I/O 
    Read: Ch. 9: Input and Output Links: Lecture 11 Notes | 
| Week 12: | Topics: string class manipulators, C strings, C formatters, C I/O, Read: (Ch. 9 continued) Links: Lecture 12 Notes | 
| Week 13: | Topics:templated functions and classes Read: Ch. 7: Templates Links: Leture 13 Notes Program: Program 5 Due May 10 8:00 PM | 
| Week 14: | Topics: containers, iterators, and algorithms in the Standard Template Library Read: Ch. 10: Collections: The Standard Template Library Links: Lecture 14 Notes | 
| Week 15: | Topics: iterators, generic algorithms, function objects Read: (Ch. 10 continued) Links: outline |