| Midterm #1 | 12.5% |
| Midterm #2 | 12.5% |
| Final exam | 25% |
| Assignments | 50% |
| Weeks | Topic | Details |
|---|---|---|
| 1 | Quick review of Java | Input/Output, conditional statements, loops, functions, arrays, objects |
| 2, 3, 4 | Lists | Append, insert, delete, search, introduction to algorithm analysis, code testing and debugging |
| 5 | Stacks | Push, pop |
| 6 | Queues | Enqueue, dequeue |
| 7, 8 | Trees | terminology: node, root, child, parent, leaf
types of trees: ordered, unordered, binary, non-binary, balanced add(), delete(), search(), traversal() |
| 9, 10, 11 | Graphs | representations: lists, matrices
operations: AddVertex(), AddEdge(), Neighbors() auxiliary structures: maps and sets |
| 12 | Sets | union, intersection, difference, subset, is_element_of, size. |
| 13, 14 | Maps | put, get, remove |
| 15 | Implementing linked lists | where we will see my favorite operations, inserting and deleting elements from the middle of a list. |