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: outline; example: simpleProg.cpp, handout: Course Info Sheet |
Week 2: |
Topics: structures, arrays, vectors Read: Ch. 2: Functions, Arrays, Strings, and Parameter Passing Links: outline; example: cardExample.cpp Assignments: Program p1 Assigned 9/11 |
Week 3: |
Topics: variable-references-pointers, parameter passing, pointer basics Read: Ch. 3: Pointers and Reference Variables Links: outline; example: pointerBasics.cpp |
Week 4: |
Topics: pointers to structs/classes, arrays, dynamic allocation, pointer caveats Read: (Ch. 3 continued) Links: outline Assignments: Program p1 Due Wednesday, 9/25, at 10 PM Assignments: Homework hw Assigned 9/25 |
Week 5: |
Topics: abstract memory model, reference variables, passing params to and return values from functions Read: (Ch. 3 continued) Links: outline; example: staticVarExample.cpp Assignments: Program p2 Assigned 10/5 |
Week 6: |
Topics: .h and .cpp files, defining classes, multi-file compilation Read: Ch 4: Object-Based Programming: Classes Links: outline; example: IntList.h, IntList.cpp, testIntList.cpp, Makefile Assignments: Homework hw Due Wednesday, 10/9, at 10 PM |
Week 7: |
Topics: makefiles, constructor, member initialization Read: (Ch. 4 continued), Makefiles Tutorial (see link in menu) Links: outline |
Week 8: |
Topics:"Big Three" - copy constructor, copy assignment, destructor Read: (Ch. 4 continued) Links: outline; example: Polynomial.h, Polynomial.cpp, testPolynomial.cpp, Makefile Assignments: Program p2 Due Wednesday, 10/23, at 10 PM Assignments: Program p3 Assigned 10/23 |
Week 9: |
Topics: operatorX syntax and use, Member vs. Non-member options (assignment and arithmetic ops) Read: Ch. 5: Operator Overloading, Unix utilities (see gdb and valgrind links in menu) Links: outline |
Week 10: |
Topics: explicit, non-member and member function pair option (<< op), friend option (relational operators), overloading ++ and -- Read: (Ch. 5 continued) Links: outline Assignments: Program p3 Due Wednesday, 11/6, at 10 PM Assignments: Program p4 Assigned 11/6 |
Week 11: |
Topics: console I/O, overloading >>, file I/O
Read: Ch. 9: Input and Output Links: outline; example: overloadIO.cpp; example: fileIO.cpp, inFile.txt |
Week 12: |
Topics: string class, C strings, C I/O, manipulators Read: (Ch. 9 continued) Links: outline; examples: Cpp_IO.cpp, C_IO.cpp Assignments: Program p5 Assigned 11/20 |
Week 13: |
Topics:templated functions and classes Read: Ch. 7: Templates Links: outline Assignments: Program p4 Due Wednesday, 11/27, at 10 PM |
Week 14: |
Topics: more template features, containers Read: (Ch. 7 continued), Ch. 10: Collections: The STL (Standard Template Library) Links: outline |
Week 15: |
Topics: iterators, generic algorithms, function objects Read: (Ch. 10 continued) Assignments: Program p5 Due Wednesday, 12/11, at 10 PM Links: outline |