CS367: Introduction to Data Structures
SYLLABUS - Lecture 1, Spring 2018

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
Readings: Introduction
Jan 23  Overheads:  Lecture 1
Jan 25  Overheads:  Lecture 2
Week 2:  Lists (array-based), Iterators
Readings: Lists
Jan 30 overheads:  Lecture 3
Feb 01 overheads:  Lecture 4
Week 3:  Exceptions, Complexity
Readings: Exceptions Complexity
Feb 6 overheads:  Lecture 5
Feb 8 overheads:  Lecture 6
Supplementary material:  Supplement 1 Supplement 2 Supplement 3
Files:  ExceptionTester.zip
Week 4:  Primitive vs. Reference Types, Linked Lists
Readings: Linked Lists
Feb 13 overheads:  Lecture 7
Feb 15 overheads:  Lecture 8
Week 5:  Stacks and Queues; Introduction to Recursion
Readings: Stacks-and-Queues, Recursion
Feb 20 overheads:  Lecture 9
Feb 22 overheads:  Lecture 10
Week 6:  Recursion, Searching, Intro to Trees, General Trees
Readings: Recursion, Searching, Intro to Trees
Feb 27 overheads:  Lecture 11
March 1 overheads:  Lecture 12
Week 7:  Binary Trees, Intro to Binary Search Trees, Binary Search Trees
Readings: Binary Search Trees
March 6 overheads:  Lecture 13
March 8 overheads:  Lecture 14
Week 8:  Priority Queues, Heaps, Intro to Red-Black Trees
Readings: Priority Queues Red-Black Trees
March 13 overheads:  Lecture 15
Week 9:  Red-Black Trees, Mid-semester Review, Hashing
Readings: Red-Black Trees, Hashing
March 20 overheads:  Lecture 16
March 22 overheads:  Lecture 17
Animation: Red-Black Tree Animation
Examples: BST Example Red-Black Example
Week 10:  Sorting
Readings: Sorting
April 3 overheads:  Lecture 18
April 5 overheads:  Lecture 19
Week 11:  Sorting
Readings: Sorting
April 10 overheads:  Lecture 20
April 12 overheads:  Lecture 21
Week 12:  Introduction to Graphs
Readings: Graphs
April 17 overheads:  Lecture 22
April 19 overheads:  Lecture 23
Week 13:  Graph applications, Computer Systems
Readings: Computer Architecture
April 22 overheads:  Lecture 24
April 24 overheads:  Lecture 25
Week 14:  Semester Review
May 1 overheads:  Lecture 26

CS367 is a 3 credit course, which meets for two 75 minute lectures each week. In addition to this time spent in lecture, it is expected that students spend a minimum of 6 hours per week outside of class reading, completing programming assignments, and reviewing course topics and materials.

Last Updated: 1/18/2018     2018 Beck Hasti and Charles Fischer