Data Computing Fundamentals
Use the fundamental data types of computing (lists, stacks, queues, priority queues, sets, maps, trees, etc.).
Implementing Fundamental Data Types
Understand the major techniques for implementing the fundamental data types (linked lists, binary search trees, hashing, heaps, etc.) and implement several of them.
Select Data Structures
Properly use and select data structures from language-provided data-structure libraries.
Apply basic algorithm analysis.
Understand how recursion works and write programs using recursion to solve problems.
Usage of Algorithms
Make informed decisions about which sorting and searching algorithms to use in specific circumstances.
Write programs that require ~500 lines of code.