Instructor: James Paton
paton@cs.wisc.edu
Office hours: 9:30-10:30am MTuWTh 3379 CS
TA: Nisha Kiran
nkiran@cs.wisc.edu
Office hours: ??? 3395 CS
Study of data structures (including stacks, queues, trees, graphs, and hash tables) and their applications. Development, implementation, and analysis of efficient data structures and algorithms (including sorting and searching). Experience in use of an object-oriented programming language.
| Week | Readings | Topics (tentative) | Other | |
|---|---|---|---|---|
| 1 | 6/18 | Introduction | intro to CS367 | course information handout |
| 6/19 | interfaces, Objects, Java generics | |||
| 6/20 | Lists | lists (array-based) | ||
| 6/21 | iterators | |||
| 2 | 6/25 | Exceptions | using the command line, exceptions | |
| 6/26 | exceptions, intro to complexity | |||
| 6/27 | Complexity | complexity | ||
| 6/28 | complexity | |||
| 3 | 7/2 | Linked Lists | primitive vs reference types, linked lists | |
| 7/3 | linked lists | |||
| 7/4 | Independence Day | |||
| 7/5 | Stacks and Queues | stacks and queues | ||
| 4 | 7/9 | Recursion | recursion | |
| 7/10 | recursion | Midterm: Thursday, 7/12 in class | ||
| 7/11 | Searching | recursion, search, intro to trees | ||
| 7/12 | MIDTERM EXAM | |||
| 5 | 7/16 | Intro to Trees | general trees, binary trees | |
| 7/17 | Binary Search Trees | binary search trees | ||
| 7/18 | binary search trees, balanced search trees | |||
| 7/19 | Red-Black Trees | red-black trees | ||
| 6 | 7/23 | Priority Queues | red-black trees, priority queues, heaps | |
| 7/24 | priority queues, heaps, intro to hashing | |||
| 7/25 | exam-related questions | |||
| 7/26 | Hashing | hashing | ||
| 7 | 7/30 | hashing | ||
| 7/31 | Graphs | graphs | ||
| 8/1 | graphs | |||
| 8/2 | Sorting | graphs, sorting | ||
| 8 | 8/6 | sorting | ||
| 8/7 | course wrap-up | |||
| 8/8 | ||||
| 8/9 | FINAL EXAM: Thursday, 8/9 |
Midterm: 20%
Final: 20%
Programs (5): 35%
Homeworks (3): 20%
Attendance and participation: 5%