# Topics

Topics | textbook |
Web links | ||
---|---|---|---|---|

23 Aug | M/1 | Introductions, Policies | ||

24 Aug | T/1 | Lab 1: Review and mastery | ||

25 Aug | W/1 | What is a data structure?, Design and specification | 1.1 | |

27 Aug | F/1 | Object-oriented design, Classes and methods | 2.1-2.1.1.1 | |

30 Aug | M/2 | .h files, Templates, UML | 2.2 | |

31 Aug | T/2 | Lab 2: Classes | ||

01 Sep | W/2 | |||

03 Sep | F/2 | ADTs | 1.2 | |

07 Sep | T/3 | Lab 3: Function design, Unit testing | ||

08 Sep | W/3 | Lists, Implementing an ADT, More implementation | 3.1, 3.2-3.2.1 | |

10 Sep | F/3 | append, remove, Pointers, "Smart" pointers | 3.2.2 | Module 4 up through "Heap memory" |

13 Sep | M/4 | |||

14 Sep | T/4 | Lab 4: Pointers | ||

15 Sep | W/4 | Dynamic allocation | "Unique pointers" and "Dynamically allocated arrays" | |

17 Sep | F/4 | Recursion, Linked nodes, Fibonacci | 7.1-7.2 | |

20 Sep | M/5 | Linked list | 9.1 | |

21 Sep | T/5 | Lab 5: Linked node methods | ||

22 Sep | W/5 | Linked list implementation (continued) | ||

24 Sep | F/5 | Recursive algorithms, Tower of Hanoi | 7.7 | |

27 Sep | M/6 | Binary search, The call stack | ||

28 Sep | T/6 | Lab 6: Reading code, make, gdb, Backtracking | ||

29 Sep | W/6 | Recursive backtracking, Other uses of stacks | ||

01 Oct | F/6 | Review of allocation, references, and memory models | ||

04 Oct | M/7 | |||

05 Oct | T/7 | Lab 7: Using STL stacks | ||

06 Oct | W/7 | Stacks and recursion, Array-based stack implementation, Exceptions | 6.1 | |

11 Oct | M/8 | Classic ADTs, The "big picture" | ||

12 Oct | T/8 | Lab 8: Empirical efficiency | ||

13 Oct | W/8 | Algorithmic efficiency, Big-O notation | 4.2, 4.5 | |

15 Oct | F/8 | Comparing implementations, Linked stacks, Array List, Linked List revisited | 6.2, 10.2 | |

18 Oct | M/9 | Inheritance, is-a / has-a, Hierarchies | 2.1 | |

19 Oct | T/9 | Lab 9: Interfaces and multiple implementations | ||

20 Oct | W/9 | Quadratic sorts | Ch. 7 | |

22 Oct | F/9 | Faster sorts, Comparing algorithms | ||

25 Oct | M/10 | |||

26 Oct | T/10 | Lab 10: Overloading operators | ||

27 Oct | W/10 | Queues, Linked Queue | 9.1.1, 9.2 | |

29 Oct | F/10 | Trees, Traversals | 11.1-11.3 | |

01 Nov | M/11 | Tree implementation | ||

02 Nov | T/11 | Lab 11: Linked trees | 16.1-16.2 | |

03 Nov | W/11 | |||

05 Nov | F/11 | Binary search trees | 11.4-11.4.2 | |

08 Nov | M/12 | BST remove | 11.4.3 | |

09 Nov | T/12 | Lab 12: BST implementation | ||

10 Nov | W/12 | Maps/Dictionaries | ||

12 Nov | F/12 | BST analysis, Balance, rotation | ||

15 Nov | M/13 | Heaps | ||

17 Nov | W/13 | Hash tables | ||

19 Nov | F/13 | Model presentation and debrief | ||

22 Nov | M/14 | Presentation work day | ||

23 Nov | T/14 | Lab: DT/Alg implementation | ||

29 Nov | M/15 | Presentations | ||

30 Nov | T/15 | Lab: DT/Alg implementation | ||

01 Dec | W/15 | Presentations | ||

03 Dec | F/15 | Presentations |