Select a set of notes for further details...

What Came Before

Notes Remarks
Notes from 121 old 121 notes
Random Value Generation 121/bonus notes
Making Your Own Library 121/bonus notes
Basic vector Usage/Properties 121/bonus notes
List Processing 121/bonus notes
Searching a List — More Depth 121/bonus notes
Practical — If Not Elegant — Sorting 121/bonus notes
Having vectors as class Members 121/bonus notes
Multidimensional vectors 121/bonus notes
Case Study: A Deck of Cards 121/bonus notes

New This Semester

Arrays & C-Strings

Notes Remarks
Basics of 1D Arrays general array ideas (based on a vector class background)
Arrays vs. The vector class a comparative look
Basics of C-Strings general C-String ideas (based on a string class background)
(C)strings vs. The string class a comparative look
Using an Array as a class Member Variable not composition — but just as hard!
Arrays of C-Strings (& Other 2D Arrays) adds new dimension to your understanding

Pointers & Dynamic Memory

Notes Remarks
The Concept of Pointers general pointer ideas
Basic Pointers general pointer use (not pointer math!)
Pointer Math pointer math
iterators another kind of 'pointer'
Basics of Dynamic Memory memory we acquire as the program is running
Dynamic Members of a class managing dynamic allocation/deallocation with class mechanics
Dynamic 2D Arrays dynamic arrays of more than 1 dimension
Arguments for the main Function pointers in use

[File] Stream Processing

Notes Remarks
Old Streams, New Habits stream buffer review, file stream introduction
Opening File Streams the gory details of what can go wrong
Passing File Streams to Functions the whys and wherefors of streams as arguments
Repositioning Within Streams To be here or there? That is the question!
Data File Layout how to arrange the data within the file
Formatting Stream I/O making stream i/o pretty
string Streams There's a string in my stream! NO, there's a stream in my string!
Index Files and You index file refresher
Bit Flags and You manipulating bit flags like the streams
How to Tie Your Streams Together making an output stream responsive to the needs of an input stream

Overloading operators

Notes Remarks
operator Overloading operator overloading

Case Study: operator Overloading and Dynamic Memory: the String class

(The String class also utilizes stream programming concepts and has a driver program which employees the template mechanism for code re-use.)

Notes Remarks
Construction, etc. for the String class String construction
Concatenation, etc. for the String class String concatenation
Comparison for the String class String comparison
Subscript and Output for the String class String output and subscript
Input for the String class String input
Translation for the String class String translation
Maintenance for the String class String maintenance
Find for the String class String 'searching'
The String class in ALL its Glory! String class au naturel

Inheritance & Polymorphism

Notes Remarks
Basics of Inheritance an object-oriented technique for code re-use
Basics of Polymorphism making inheritance work for us rather than against us
Inheritance & Polymorphism Go On A Vision Quest sometimes a cigar is actually a Cuban missile crisis
Polymorphism Beyond Reason sometimes a cigar is actually a carrot, a rope, and a lighter
Inheritance Beyond Reason sometimes a cigar is actually really well protected

The template Mechanism

Notes Remarks
template Functions template functions in C++
The Finer Points of template Functions finer points to template functions in C++
Functions as Arguments passing functions to functions as arguments
template'ing a Whole class applying the template mechanism to an entire class
Persnickety Bits other tids and bits about the uses of templates

To Help with Next Semester

Introductory Data Structures

Notes Remarks
Algorithm Analysis Basics introductory spatial and temporal analysis of algorithms
Recursion, Recursion, Recursion evil explained is magic understood
Linked Lists dynamic memory beyond simple arrays
Stacks & Queues "to pile 'em up or line 'em up?" -- that is the question!
Trees wow! I never noticed this forest before!

C++ Extras

Notes Remarks
Exceptions introductory exception handling
Assertions introductory debugging with assert
namespace Management I can add nothing significant to what your book says in section 23.4 — a download Chapter. (Pardon the color scheme, I didn't do it this time! *smile*)
Lambda Expressions introductory programming with lambda expressions (supplementary to your text's section 16.3)
Moving On... what comes after CSC122?!