CS 368 C++ Syllabus

SYLLABUS

Current Week

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