Hash Functions - what's the point - tell good from bad, what makes the difference - how to test, poisson but don't need to remember formula Hash Tables - how the implementation works, add, find - dealing with hash collisions - closed addressing = open hashing = e.g. linked lists - open addressing = closed hashing = e.g. linear probing - resizing - why, when, and how Binary Files - fopen, fgetc, fputc, fclose - readsome, read, write, tellg, tellp, seekg, seekp, (gcount) Graphs - construction and linking of nodes - depth-first (tree like) search - breadth first (queue) search - stacks and queues - shortest path Priority Queues - as abstract data type - implementations Heaps - adding and fix_upwards - removing top and fix_downwards - heapsort