Programming in C++ using the Anjuta SDK running on Ubuntu Linux Writing modular programs using interactive menus, functions, classes and templates Source code organization over multiple files Pointers and dynamic variables File I/O operations Measurement of running times of algorithms Implementation of the following pointers-based user-defined data structures using composition techniques: DLLS, Stacks, Queues and BSTs (time permitting).