810:052  Data Structures

Fall 2008

Instructor: Dr. Ben Schafer

The following links may be helpful this semester.

Date Before class...  Activity Links and Announcements
8/25   Session 1 - Introduction to the course [Student info sheet]
8/26   Lab01 - Review of basic Python programming and data types
8/27 Read 1.1-1.4.3 Session 2 - More Python programming - introduction to lists
8/29   Session 3 - More Python programming - iteration, tuples and dictionaries
9/1 No Class - Labor Day  
9/2 Read 1.4.4 and 1.4.4.1 Lab02 - Defining classes in Python
PA01 - Creating a Simulation
9/3   Session 4 - Wrapping up our intro to classes.  An introduction to the stack.
9/5 Read 2.1-2.3 Session 5 - Implementing stacks in Python.

Schedule of TA availability is now posted

9/8   Session 6 - Using stacks in Python
9/9 Reread 2.3 paying attention to the code examples Lab03 - Using Stacks in Python
9/10 Read 2.4 Session 7 - Finish Stacks and Start Queues
PA02 - Validating HTML
9/12   Session 8 - Implementing Queues
9/15   Session 9 - Using a Queue
9/16   Lab 04 - Files and Clocks and Queues
9/17   Session 10 - Debrief files and clocks, then start another queue problem
9/19 Read 2.5 Session 11 - Wrapping up Ch 2 (PA02 debrief and the Deque)
PA03 - Working with queues
9/22 Read  3.1-3.3 Session 12 - Introducing Recursion
9/23   Lab 05 - Dealing with Recursion
9/24 Finish Chapter 3  * class cancelled *
9/26   Session 13
9/29 Read 4.1-4.2 Session 14 - Introduction to Big-Oh Notation
9/30   Lab 06 - Exploring Search Algorithms
10/1 Read 4.3 Session 15 - What did you learn in Lab 06
10/3   * class cancelled *
10/6 Read 4.4 Session 16 - Introduction to Sorting
10/7   Lab 07 - Considering Sorting Algorithms
10/8   Session 17 - What did you learn in Lab 07?
PA04 - Implementing the Radix Sort
10/10 Read 4.3.3-4.4 Session 18 - Hashing as a data structure
10/13   Session 19 - More with hashing
10/14   Lab 08 - Considering Big-Oh notation with HashMaps, Stacks and Queues
10/15   Session 20 - Wrap up of topics and Exam prep
10/17   Mid-Term Exam #1 (Chapters 1-4)
10/20 Read 7.2.2.1 Session 21 - Test Wrap up and Introduction to List Nodes
10/21   Lab 09 - Implementing Stacks and Queues with Nodes
10/22 Read 7.2 all of it Session 22 - Linked Lists, Unordered and Ordered
PA05 Revisiting the Radix Sort
10/24 Read 5.1-5.4 Session 23 - Introduction to Trees
10/27 Read 5.5 Session 24 - Binary Trees
10/28   Lab10 - Using Binary Trees
PA06 - Creating a concordance
10/29 Read 5.6 (our discussion over the next few sections will be loosely related to this material.  However, you should still be familiar with this material). Session 25 - Using a Binary Tree to implement an orderedList
10/31   Session 26 - continued
11/3   Session 27 - wrapping up the ordered list
11/4   Lab 11 - A different version of the BST
11/5   Session 28 - AVL Trees
11/7   Session 29 - AVL Trees
Please note the minor change to the deliverable for PA06
11/10 Read 5.7 Session 30 - Binary Heaps
11/11   Lab 12 - Implementing the BinaryHeap
11/12   Session 31 - Binary Heaps and exam review
11/14   Mid-Term Exam #2
11/17 Read 6.1-6.3 Session 32 - Introduction to Graphs
11/18   Lab 13
11/19 Read 6.4 Session 33 - Graph implementation and intro to search
PA07 - Reading/writing a graph definition to a file
11/21   Session 34 - Discussion of BFS vs. DFS using Frankfurt to Munich
12/1   Session 35
12/2   Lab 14
12/3   Session 36 - Strongly connected graphs
12/5   Session 37 -
12/8   Session 38 - Prim's minimum-spanning tree
12/9   Lab 15
12/10   Session 39 -
12/12   Session 40 - Review for final exam
12/15 FINAL EXAM - 10:00-11:50