Further applications of programming techniques, introducing the fundamental concepts of data structures andalgorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis.