Recursion Converting iteration to recursion, vice-versa PaintBucket/Fill example Search (Linear/Binary) Sorting (Bubble/Selection/Insertion/Merge/Quick) Stable? In-place? Which case is worst-case/best-case? Lists (Array, SinglyLinked, DoublyLinked) Stack, Queue Converting recursion to stack. Implementing. Hashtables Histogram example Testing Preconditions, postconditions. Assertions, the Java assert statement. Which values to test? Test procedure. Threads Sleep, join, interrupt, user/daemon threads Sockets Client/Server communication between two processes.