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
SLinkedList.cpp
Wednesday, Jan 27 Simple lists Lecture Notes SLinkedList.h
SLinkedList.cpp
testSLL.cpp
Friday, Jan 29 Big-O notation
Algorithm analysis
Lecture Notes
Monday, Feb. 1 Stacks Lecture Notes ArrayStack.h
LinkedStack.h
testStack.cpp
Tuesday, Feb. 2 Stacks and Queues Lecture Notes ArrayStack.h
LinkedStack.h
testStack.cpp
Friday, Feb. 5 Queues None ArrayQueue.h
LinkedQueue.h
testQueue.cpp
Monday, Feb. 8 Queues Lecture Notes ArrayQueue.h
LinkedQueue.h
testQueue.cpp
Wednesday, Feb. 10 Vectors Lecture Notes Vector.h
Friday, Feb. 12 Vectors Lecture Notes Vector.h
Monday, Feb. 15 Vectors Lecture Notes Vector.h
testVector.cpp
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
testList.cpp
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
testBinaryTree.cpp
Tuesday, March 15 Binary Tree Code BinaryTree.h
testBinaryTree.cpp
Wednesday, March 16 Binary Search Tree Code BinarySearchTree.h
testBST.cpp
Friday, March 18 Remove in a BST
Balanced BSTs
Lecture Notes BinarySearchTree.h
testBST.cpp
Monday, March 21 AVL Trees Lecture Notes AVLTree.h
Wednesday, March 23 AVL Trees Lecture Notes AVLTree.h
testAVL.cpp
Tuesday, March 29 AVL trees Lecture Notes AVLTree.h
testAVL.cpp
Wednesday, March 30 AVL Trees AVLTree.h
testAVL.cpp
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