CS3114 Data Structures and Algorithms
Calendar and Coursenotes: Fall 2011
This page will show what we cover each day, including the course notes covered in class as they are presented on the screen.
Reading assignments are also posted for each week. You can find the textbook here. The intention is that you will have finished the reading for that week by the end of the week (that is, typically you would be expected to read material after the associated lecture).
- Week 1: Introduction; Math background
-
Tuesday, August 23: Course intro
Coursenotes: 2-15
Handouts: Syllabus, prereq forms, force add forms (as needed)
Reading Assignment: Chapter 1 in the textbook
Homework: Sign up at Piazza forum for the class; Look through the Project 1 assignment spec
-
Thursday, August 25: Project scheduling and time management; Math background
Coursenotes: 16-30
Reading Assignment: Chapter 2
-
Tuesday, August 23: Course intro
- Week 2: Algorithm Analysis
-
Tuesday, August 30: Discuss Project 1; Algorithm Analysis
Coursenotes: 31-38
Assignment: Initial schedule sheet for Project 1 due to Web-CAT by 11pm
-
Thursday, September 1: Algorithm Analysis
Coursenotes: 39-64 Reading Assignment: Chapter 3
-
Tuesday, August 30: Discuss Project 1; Algorithm Analysis
- Week 3: Lists, Stacks, Queues
-
Tuesday, September 6: List representations
Coursenotes: 65-94
Second schedule sheet due for Project 1 -
Thursday, September 8: Stacks & Queues; Dictionaries
Coursenotes: 95-114 Reading Assignment: Chapter 4
-
Tuesday, September 6: List representations
- Week 4: Binary Trees
- Monday, September 12: Early due date for Project 1
-
Tuesday, September 13: Binary Trees, representations, traversals,
composite design pattern
Coursenotes: 115-134 Project 1 due -
Thursday, September 15: Discuss Project 2; Overhead; Binary Search Trees
Coursenotes: 135-143
- Week 5
-
Tuesday, September 20: Binary Search Trees; Heaps
Coursenotes: 144-160 Binary Treesome: BST insert (AlgoViz Catalog Description)
- Trakla BST: BST delete exercise (AlgoViz Catalog Description)
-
Trakla2 Heap Tutorial
(AlgoViz Catalog Description)
Homework 1 due -
Thursday, September 22: Huffman Trees
Coursenotes: 161-169 Reading Assignment: Chapter 5
Huffman Coding Tree (AlgoViz Catalog Description)
Project 2 initial schedule sheet due
-
Tuesday, September 20: Binary Search Trees; Heaps
- Week 6: Midterm
- Tuesday, September 27: Midterm, Chapters 1-5
- Thursday, September 29: Go over Midterm; Discuss Project 2
- Week 7: General Trees
- Tuesday, October 4: General Trees, Union/Find
Coursenotes: 170-180
Union/Find Visualization (AlgoViz Catalog Description)
Project 2 second schedule sheet due
- Thursday, October 6: General Tree representation; Insertion Sort
Coursenotes: 181-188
Reading Assignment: Chapter 6
Sorting Overview visualization (lets you see a visual comparison of multiple algorithms running at once) (AlgoViz Catalog Description)
Comparison Sorts (AlgoViz Catalog Description) (good for insertion sort, selection sort, bubble sort)
- Tuesday, October 4: General Trees, Union/Find
- Week 8: Sorting
- Monday, October 10: Project 2 early bonus due date
- Tuesday, October 11: O(n2) sorts; Shellsort
Coursenotes: 186-199; Shellsort Tutorial
Assignment: Project 2 due - Thursday, October 13: O(n log n) sorts: Quicksort,
Mergesort, Heapsort
Coursenotes: 198-211
Quicksort visualization (Click on the "Enter" button and then find the Quicksort listed on the left menu) (AlgoViz Catalog Description)
- Week 9: Sorting, File Processing
- Tuesday, October 18: Radix Sort; Lower bounds for sorting
Classnotes: 210-221 Reading Assignment: Chapter 7
Radix Sort Visualization (AlgoViz Catalog Description)
Assignment: Project 3 initial schedule sheet due - Thursday, October 20: Disk drives and buffer pools
Classnotes: 220-243
Assignment: Homework Assignment 2 due at 11pm
- Tuesday, October 18: Radix Sort; Lower bounds for sorting
- Week 10: File Processing, Searching
- Tuesday, October 25: External Sorting
Classnotes: 244-262
Reading Assignment: Chapter 8
- Thursday, October 27: Searching
Classnotes: 263-286
Assignment: Project 3 second schedule sheet due at 11pm
- Tuesday, October 25: External Sorting
- Week 11: Hashing
- Tuesday, November 1: Hashing
Begin Hashing tutorial
- Wednesday, November 2: Project 3 Early Due date
- Thursday, November 3: Hashing
Complete Hashing tutorial
Assignment: Project 3 due
- Tuesday, November 1: Hashing
- Week 12: Midterm 2
- Tuesday, November 8: Midterm 2 -- Chapter 7 (Sorting) and Section 9.4 (Hashing Tutorial)
- Thursday, November 10: Midterm 2 feedback, Project 4 discussion, survey
- Week 13: Indexing
- Tuesday, November 15: Indexing, Linear Indexing, Tree Indexing
Classnotes: 287-293
Assignment: Project 4 initial schedule sheet due - Thursday, November 17: 2-3 Trees, B-Trees
Classnotes: 294-310
B-Tree and B+-tree visualization. Note that 2-3 Trees are simply B-trees of degree 3.
Reading Assignment: Chapter 10
- Tuesday, November 15: Indexing, Linear Indexing, Tree Indexing
- Thanksgiving break: November 19-27
- Week 14: Graphs
- Tuesday, November 29: Graph representations, traversals
Classnotes: 311-325
Assignment: Project 4 second schedule sheet due
- Thursday, November 30: Topological sort, shortest paths
Classnotes: 326-338
- Tuesday, November 29: Graph representations, traversals
- Week 15:
- Monday, December 5: Project 4 early due date
- Tuesday, December 6: Minimal Cost Spanning Trees; Final review
Classnotes: 339-345
See the AV List for some graph algorithm visualizations Reading Assignment: Chapter 11
Project 4 due
- Thursday, December 8: Homework 3 due
- Final: You may attend either session
- Monday, December 12 at 1:05-3:05 in Surge 104D
- Wednesday, December 14 at 2:05-4:05 in Holden 110
Go to the CS3114 Homepage.