Software Engineering Programming in C++ Programming with the STL
pair programming
unit testing (CppUnit)
acceptance testing
source control (Git, GitHub)
issue tracking (GitHub)
documentation (Doxygen)
memory checker (Valgrind)
assertions and exceptions
built-in and user-defined types
stack and heap
variables and consts
arguments and returns
control structures
functions and function objects
function templates and specialization
iterators and iterator objects
iterator_traits and iterator categories
input, output, forward, bidirectional, and random access iterators
class templates and specialization
containers and allocators
array objects
positional containers
vector, list, and deque
container adapters
stack, queue, and priority_queue
associative containers
set, multiset, map, and multimap
iterator adapters
back_inserter, front_inserter, and inserter
ostream_iterator and istream_iterator
function adapters
bind1st, bind2nd, and compose