CS367: Introduction to Data Structures
SYLLABUS - Lecture 4, Fall 2017

Note: this syllabus will be updated as the semester progresses - make sure to check it regularly.

Week 1:  Course intro, Interfaces, Java Objects and Generics
Sept 5
Readings: Introduction
Lecture overheads:  Lecture 1
Audio:  Part 1, Part 2, Part 3
Week 2:  Lists (array-based), Iterators
Sept 12
Readings: Lists
Lecture overheads:  Lecture 2
Audio:  Part 1, Part 2, Part 3, Part 4
Week 3:  Exceptions, Complexity
Sept 19
Readings: Exceptions Complexity
Lecture overheads:  Lecture 3
Supplementary material:  Supplement 1 Supplement 2 Supplement 3
Audio:  Part 1, Part 2, Part 3
Files:  ExceptionTester.zip
Week 4:  Primitive vs. Reference Types, Linked Lists
October 3
Readings: Linked Lists
Lecture overheads:  Lecture 4
Supplementary material:  Supplement 4
Audio:  Part 1, Part 2, Part 3
Week 5:  Stacks and Queues; Introduction to Recursion, Recursion
October 10
Readings: Stacks-and-Queues, Recursion
Lecture overheads:  Lecture 5
Audio:  Part 1, Part 2, Part 3
Week 6:  Recursion, Searching, Intro to Trees, General Trees, Binary Trees, Intro to Binary Search Trees
October 17
Readings: Recursion, Searching, Intro to Trees
Lecture overheads:  Lecture 6
Week 7:  Binary Search Trees, Priority Queues, Heaps, Mid-semester Review
October 24
Readings: Binary Search Trees, Priority Queues
Week 8:  Red-Black Trees, Mid-semester Review
October 31
Readings: Red-Black Trees
Animation: Red-Black Tree Animation
Examples: BST Example Red-Black Example
Week 9:  Intro to Hashing, Hashing
November 7
Readings: Hashing
Week 10:  Sorting
November 14
Readings: Sorting
Week 11:  Sorting, Graph applications
November 21
Readings: Graphs
Week 12:  Graph applications
November 28
Readings: Graphs
Week 13:  Introduction to Computer Architecture
December 5
Readings: Computer Architecture
Week 14:  Semester Review
December 12
Last Updated: 8/7/2017     2017 Beck Hasti and Charles Fischer