There will normally be lectures twice a week, on Wednesday 13-15 and Friday 13-15. For full details see the Schedule page.
Lecture notes will appear here around the time of the lecture. I will try to put up topics and chapter numbers for future lectures, but they are liable to change!
-
Wednesday 18th March: introduction, dynamic arrays. Lecture slides here.
-
Friday 20th March: binary search and complexity (chapter 6 of book). Lecture slides here.
-
Wednesday 10th April: sorting (chapters 8.1-8.3, 8.6.1-8.6.3, 8.6.7). Lecture slides here.
-
Friday 12th April: more sorting (chapters 7.5, 8.5, 8.6.4-8.6.5, 8.8). Lecture slides here.
-
Wednesday 17th April: the Collection interface, linked lists, stacks, queues (chapters 6.1-6.6, 16, 17). Lecture slides here.
-
Friday 19th April: trees, sets/maps, binary search trees (chapters 18, 6.7-6.8, 19.1-19.3). Lecture slides here.
-
Wednesday 24th April: priority queues, binary heaps, heapsort (chapters 6.9, 21.1-21.5). Lecture slides here.
-
Friday 26th April: hash tables (chapter 20), AVL trees (19.4). Lecture slides here.
-
Friday 3rd April: red-black trees (19.5), B-trees (19.8), 2-3-4 trees. Lecture slides here.
-
Wednesday 8th May: the call stack, tail recursion. Lecture slides here.
-
Wednesday 15th May: graphs, basic graph algorithms. Lecture slides here.
-
Friday 17th May: graph algorithms, Dijkstra’s algorithm. Lecture slides here.
-
Wednesday 22nd May: summing up. Lecture slides here.