2024
Fundamental data structures and algorithms of computer science; basic algorithm analysis; recursion; sorting and searching; lists, stacks, queues, trees, hashing; object-oriented data abstraction.
Use the fundamental data types of computing (lists, stacks, queues, priority queues, sets, maps, trees, etc.).
Understand the major techniques for implementing the fundamental data types (linked lists, binary search trees, hashing, heaps, etc.) and implement several of them.
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.
Make informed decisions about which sorting and searching algorithms to use in specific circumstances.
Write programs that require ~500 lines of code.