Daily class schedule

CSCI 151
Data Structures
Fall, 2018

week
M
W
F
reading in Weiss
9/5-9/7
Labor Day
Data structures, algorithms, and abstractions.
Java basics. 1, 2
9/10-9/14
More Java basics:  Statements. More statements.  Methods, Scanners, and Strings.
Arrays and ArrayLists.  Object-oriented programming in Java. 
3, 4
9/17-9/21
Using objects.  Writing class definitions.  Inheritance.
Yom Kippur (no class)
Abstract classes and interfaces.  Visibility.  Exceptions.  The Stack ADT. 15, 16
9/24-9/28
Balanced symbol checker.  Infix, postfix, and prefix notation for arithmetic expressions.  Algorithms for processing arithmetic expressions. Infix to postfix algorithm.  Implementing a stack in an array.  Linked list implementation. Queues.  Queue implementations.  Deques.  6, 11
10/1-10/5
Introduction to algorithm analysis. Recurrence relations.  Algorithm analysis examples. List ADT.  Linked lists.  Iterators. 5, 6, 17
10/8-10/12
Linked list implementation. Doubly linked lists.  Sentinel Nodes. Recursion. 7
10/15-10/19
Review for exam
Midterm Exam
Trees.  Basic terminology.  Binary trees.  Expression trees.  Tree traversals. 18
10/20-10/28
Fall Break
10/29-11/2
Implementing binary trees.  Analysis of tree traversal algorithms.  Implementing nonbinary trees. The Map interface.  Map applications and implementations.  Binary search trees. Balanced binary search trees.  AVL trees. 19.1-19.4
11/5-11/9
Red-black trees.  The Set interface. B-trees.  2-3 trees. Priority queue ADT.  Binary heaps. 19.5, 19.7-19.8, 21
11/12-11/16
Tries. Huffman trees. Introduction to hashing.  Hash function design. 12, 20.1-20.1
11/19-11/23
Collision handling.  Open addressing.  Linear probing.  Quadratic probing.  Double hashing. Regular expressions.  Markov models.  Hash tables with chaining. Thanksgiving (no class)
20.3-20.7
11/26-11/30
Hash table performance.  Introduction to graphs.  Graph representations. Graph traversals. Shortest path algorithms. 14
12/3-12/7
Directed acyclic graphs. Minimum spanning trees. Sorting.  Elementary sorting methods (bubble sort, selection sort, insertion sort).  Merge sort. 24, 8.1-8.3
12/10-12/14
Heapsort, quicksort, radix sort Review for final exam Reading period (no class)
8.4-8.5
12/17-12/21
Final exam:  Wednesday, December 19, 2-4 pm