Hands-on experience and understanding of object-oriented programming, data structures, algorithms, profiling & optimization (stacks, queues, linked lists, hash tables, trees, arrays, common algorithms, iteration and recursion, etc