CS IB CONSULTATION TIME, FINAL EXAM TIME AND STUDY TOPICS Consultation: Monday, Dec 12, 1-4pm MSB 356 Final exam: Thursday, Dec 15, 10:00-12:30pm, ART 202 TOPICS (not an exhaustive list) * structures - name and purpose of an aggregate construct structure variables, member variables, assigning structures passing structure as a parameter, complex structures, arrays of structures, arrays as member variables of a structure * classes - purpose, advantages over structures, public/private members, inline/outside function definition, mutators/accessors, constructors, constructor overloading and default constructor, friend functions, static constants * pointers - definition and usage, pointers and constants, array names and pointers, null/loose pointer, pointers to objects (arrow operator), pointer arithmetic, passing pointers by value and by reference, returning pointers * dynamic memory allocation - static/dynamic/automatic variables, allocation for basic types, for arrays, for objects, allocation of objects with dynamic members: the big three (destructor, copy constructor, assignment overloading); memory leak problem for assignment overloading: protection against self-assignment, stackability * vectors - advantages over (raw) arrays, declaring, adding/removing element, comparing/assigning vectors, passing by value/reference returning, iterators, iterator arithmetic, using interators to insert, erase elements, sort vector * vectors of vectors: advantages over multidimensional raw arrays, defining, initializing, accessing; finding size; the concept of a jagged array, adding/removing a row (at the end and in the middle), adding/erasing an element (at the end of the row, and in the middle) * need and uses for diagrams. Diagram types: structure and behavior diagrams. Class diagram notation: classes, member functions (methods), instance variables (member variables), aggregation, reference, instantiation. Object diagrams, differences from class diagrams. Use case diagrams: actors, use cases. State diagrams