Daily class schedule

CSCI 151
Data Structures
Spring, 2018

week
M
W
F
readings in Weiss
2/5-2/9
Data structures, algorithms, and abstractions.
Java basics.

More Java basics:  Statements.
1, 2
2/12-2/16
Methods and Strings.  Arrays and ArrayLists.
Object-oriented programming in Java.  Abstract data types. Inheritance.  Abstract classes and interfaces.
3, 4
2/19-2/23
Visibility.  Exceptions.  The Stack ADT. 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.
16, 11
2/26-3/2
Queues.  Queue implementations.  Deques.  Introduction to algorithm analysis.
Recurrence relations.  Algorithm analysis examples. 5
3/5-3/9
List ADT.  Linked lists.  Iterators.
Linked list implementation.
Doubly linked lists.  Sentinel Nodes.
13
3/12-3/16
Review for exam
Midterm Exam
Recursion.
7, 10
3/19-3/23
Spring Break
3/26-3/30
Trees.  Basic terminology.  Binary trees.  Expression trees.  Tree traversals. Implementing binary trees.  Analysis of tree traversal algorithms.  Implementing nonbinary trees. The Map interface.  Map applications and implementations.  Binary search trees. 18, 19.1-19.3
4/2-4/6
Balanced binary search trees.  AVL trees. Red-black trees.  The Set interface. B-trees.  2-3 trees. 19.4. 19.5, 19.8
4/9-4/13
Priority queue ADT.  Binary heaps. Tries.
Huffman trees.
21, 12.1
4/16-4/20
Introduction to hashing.  Hash function design. Collision handling.  Open addressing.  Linear probing.  Quadratic probing.  Double hashing. Regular expressions.  Markov models.  Hash tables with chaining.
20
4/23-4/27
Hash table performance.  Introduction to graphs.  Graph representations.
Graph traversals.
Shortest path algorithms.
14
4/30-5/4
Shortest path algorithms.
Directed acyclic graphs.
Minimum spanning trees.
14, 24
5/7-5/11
Sorting.  Elementary sorting methods (bubble sort, selection sort, insertion sort).  Merge sort. Heapsort, quicksort, radix sort
Review for final exam 8
5/14-5-18
Final exam:  Wednesday, May 16, 7:00 pm