CS368: Learning a New Programming Language
SYLLABUS - Lec 3, Spring 2012

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
Last Updated: 5/2/2012     ©2012 Beck Hasti