TOPICS TO REVIEW FOR THE FINAL (this list is not complete) * Everything from E50a * Classes -design of a class - private vs. public - constructor/copy constructor/destructor - member vs. friend function - function/operator overloading - inheritance/virtual function/pure virtual * Structs * Pointers - declaring - initializing - dereferencing - NULL * Arrays - creating - accessing values - assigning values - multi-dimensional - as parameters * Stack (FILO) vs. Queue (FIFO) * Strings - the C++ string library - creating/copying/comparing * Recursion - see e50a - more complicated than fibonacci: printnum - recursive backtracking (game of NIM) * Sorting/Searching - bubblesort - binary search * Memory allocation: - new/delete - stack vs. heap * Bits, bytes... - bit manipulation: shifting (doubling/halving), setting, clearing - logical operators: &, |, ^ - 1 byte = 8 bits - big vs. little endian - binary arithmetic - signed vs. unsigned int - hexadecimal notation - bitset class * MIPS - registers - basic instructions: load, store, move, branch - syscalls - directives - function calls, without and with stack frames - "how to keep things under control"