Course Home | Course Policies | Homework | Lab Open Hours | Labs | Schedule & Lecture Notes

CS 2100: Data Structures, Spring 2016
Schedule and Lecture Notes

Here is this semester's tentative schedule; we will update it as the semester progresses.

Please note that lecture notes are provided as a supplement, and are NOT a substitute for attending lecture. In particular, these are not guaranteed, so expect technical difficulties to prevent them from being posted at least a few times in the semester, and plan accordingly to either take notes or get them from a friend if necessary.

Date Topic Reading Lecture Notes Code or Lab assignment
Monday, Jan 11 Syllabus, intro to C++ Transition guide, sections 1-3 Lecture Notes
Wednesday, Jan 13 Intro to C++: compiling, data types, loops, functions Transition guide Lecture Notes
Friday, Jan 15 Intro to C++: Unix tools, functions, arrays, strings Transition guide Lecture Notes
Tuesday, Jan 19 Streams, Classes Transition guide Lecture Notes
Wednesday, Jan 20 Classes, Variable types Transition guide Lecture Notes
Friday, Jan 22 Intro to C++: Compiling, exceptions, and housekeeping functions Transition guide Lecture Notes Sample makefile
Monday, Jan 25 Housekeeping functions, templates, and simple lists Transition guide Lecture Notes SLinkedList.h
Wednesday, Jan 27 Simple lists Lecture Notes SLinkedList.h
Friday, Jan 29 Big-O notation
Algorithm analysis
Lecture Notes
Monday, Feb. 1 Stacks Lecture Notes ArrayStack.h
Tuesday, Feb. 2 Stacks and Queues Lecture Notes ArrayStack.h
Friday, Feb. 5 Queues None ArrayQueue.h
Monday, Feb. 8 Queues Lecture Notes ArrayQueue.h
Wednesday, Feb. 10 Vectors Lecture Notes Vector.h
Friday, Feb. 12 Vectors Lecture Notes Vector.h
Monday, Feb. 15 Vectors Lecture Notes Vector.h
Wednesday, Feb. 17 Intro to lists Lecture Notes
Friday, Feb. 19 Review session for midterm 1
Monday, Feb. 22 Midterm 1
Tuesday, Feb. 23 Lists Lecture Notes List.h
Wednesday, Feb. 24 Lists List.h
Friday, Feb. 26 Searching and sorting Lecture Notes
Monday, Feb. 29 More on sorting Lecture Notes
Wednesday, March 2 Binary Trees Lecture Notes Heap.h
Friday, March 4 Binary Trees
Priority Queues
Lecture Notes Heap.h
Monday, March 14 Binary Search Trees Lecture Notes BinaryTree.h
Tuesday, March 15 Binary Tree Code BinaryTree.h
Wednesday, March 16 Binary Search Tree Code BinarySearchTree.h
Friday, March 18 Remove in a BST
Balanced BSTs
Lecture Notes BinarySearchTree.h
Monday, March 21 AVL Trees Lecture Notes AVLTree.h
Wednesday, March 23 AVL Trees Lecture Notes AVLTree.h
Tuesday, March 29 AVL trees Lecture Notes AVLTree.h
Wednesday, March 30 AVL Trees AVLTree.h
Friday, April 1 Midterm 2 review
Monday, April 4 Midterm 2
Tuesday, April 5 Huffman Trees Section 7.4
Another overview
And another
Wednesday, April 6 Huffman Trees
Friday, April 8 Hashing Extra reading Lecture Notes
Monday, April 11 Hashing Lecture Notes
Wednesday, April 13 Hashing Lecture Notes
Friday, April 15 Treaps Extra reference Lecture Notes
Monday, April 18 Graphs Lecture Notes
Friday, April 22 DFS and BFS Lecture Notes
Monday, April 25 Graphs: Shortest Path Trees Lecture Notes
Tuesday, April 26 Graphs: MSTs Lecture Notes
Wednesday, April 27 Directed Graphs: Topological sort Lecture Notes
Friday, April 29 Data structures recap Lecture Notes