To review the key ideas of computer science, programming, and problem-solving using the C++ language.
To understand abstraction and the role it plays in the problem-solving process.
To develop understanding of Big O notation and other important techniques of algorithm analysis.
To develop comfort with standard data structures including queues, stacks, and trees.
To become conversant with sorting algorithms, including the advantages and disadvantages of each.
To learn to write and analyze recursive programs, functions, and methods.
To learn to traverse and to implement linked data structures such as linked lists and trees.