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 |