CS 201 - Fall 2017

Data Structures

Announcements

Midterm exam 2 is a take-home exam, posted Wed 11/15, and due Mon 11/27, 8:00am.
     No extensions. No collaboration, no tutors.

No labs and no evening tutoring during the time of the exam (Wed 11/15 - Sun 11/26)

Homework and Exams

  1. Homework 0, due Wednesday 9/13.
  2. Homework 1, due Wednesday 9/20. Solutions.
  3. Homework 2, due Wednesday 9/27. Solutions.
  4. Homework 3, due Wednesday 10/4. Solutions.
  5. Homework 4, due Wednesday 10/11. Solutions.
  6. Homework 5, due Friday 10/20. Solutions.
  7. Homework 5.5 (optional), due Wednesday 10/25. Solutions.
  8. Homework 6, due Wednesday 11/1. Solutions.
  9. Homework 7, due Wednesday 11/8. Solutions.
  10. Homework 8, due Wednesday 11/15. Solutions.
  11. Exam 2, due Monday 11/27 at 8:00am.

Lectures and Readings

  1. 9/11   - Course info, overview    (Ch 0, App B.1)
  2. 9/13   - Intro to Java, examples    (App B.2.1, B.4, B.5, TIJ 304, Java language basics)
  3. 9/15   - More Java, examples    (App B.2.2, B.3.3, printf, arrays)
  4. 9/18   - Object-oriented progamming, examples    (Ch 1, objects and classes, Steve Jobs on OOP)
  5. 9/20   - More OO, Buggles, algorithmic complexity    (Ch 1, Ch 5.1, Handout on recurrence equations)
  6. 9/22   - Recurrence relations, Vectors, ReadWords.java    (Ch 3-3.3)
  7. 9/25   - Vector implementation    (Ch 3.4-5, code developed in class)
  8. 9/27   - Interfaces; sorting: bubble, selection, insertion sort, Obama on sorting (2008)    (Ch 1.8, 6.1-3, code developed in class)
  9. 9/29   - Merge sort, quick sort, SortArrays.java, complexity of sorting, xSortLab    (Ch 6.4-5)
  10. 10/2   - Spaghetti, counting, bucket, and radix sort    (Ch 6.6, JSTOR)
  11. 10/4   - Sorting summary, sorting objects, generics, HW 4 code, examples    (Ch 4, Ch 6.7-10)
  12. 10/6   - Lists, List Interface, SinglyLinkedList    (Ch 9-9.4)
  13. 10/9   - CircularList, DoublyLinkedList, complexity of list ops    (Ch 9.6, 9.5)
  14. 10/11 - IntLists, IntListOps
  15. 10/13 - More IntListsOps, tail recursion, exam info
  16. 10/16 - Exam review, Stacks, stack applications, postfix notation / RPN    (Ch 10.1), Wikipedia, xkcd)
    10/17 - Exam 1, MBH 216, 7-9pm, Study Guide
  17. 10/18 - Queues, MazeRunner.java   (Ch 10.2, 10.3)
  18. 10/20 - [No class]
    10/23 - [Fall break]
  19. 10/25 - Iterators (example), Comparable objects, Ordered structures, Trees, IntTrees    (Ch 8, 11, 12.1)
  20. 10/27 - Trees, IntTrees, IntTreeOps (Ch 12.1)
  21. 10/30 - Tree traversals, priority queues, heaps, heap applet    (Ch 12.6, 13.1, 13.4.1)
  22. 11/1   - Complete heaps, skew heaps, HW 7 heap applet    (Ch 13.4.1, 13.4.3)
  23. 11/3   - Applets, examples, HW 7 heap applet source
  24. 11/6   - Binary Search trees, Bst.java, BST applet    (Ch 14)
  25. 11/8   - Splay trees, applet    (Ch 14.4-6)
  26. 11/10 - 2-3 trees, 2-3-4 trees, red-black trees tree applets    (Ch 14.7, Wikipedia)
  27. 11/13 - Maps, hashtables    (Ch 15.2, 15.4)
  28. 11/15 - Exam 2 info, AVL trees
  29. 11/17 - Hashtable implementations    (Ch 15.4)
  30. 11/20 - Graphs, graph representations    (Ch 16.1-3, graph examples)
    11/22 - [Thanksgiving break]
    11/24 - [Thanksgiving break]

Links