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

CS 2100: Data Structures, Spring 2019
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.

List.h
testList.cpp
Date Topic Reading Lecture Notes Code or Lab assignment
Monday, Jan 14 Syllabus, intro to C++ Transition guide, sections 1-3 Lecture Notes
Wednesday, Jan 16 C++: Data types and control structures Transition guide, sections 4-5 Lecture Notes
Thursday, Jan 17 Lab 1: A first program Lab 1 details
Friday, Jan 18 C++: More control structures Transition guide, sections 4-5 Sub's Lecture Notes
Wednesday, Jan 23 C++: IO and classes Transition guide, sections 6-7 Lecture Notes
Thursday, Jan 24 Lab 2: copier Lab 2 details
Friday, Jan 25 C++: Classes Transition guide, sections 7-8 and 12
Unix tutorial
Lecture Notes
Monday, Jan 28 C++: Variable types Transition guide, sections 8-9
Lecture Notes
Wednesday, Jan 30 C++: Pointers in classes
More C++ odds and ends
Transition guide (various sections)
Lecture Notes
Thursday, Jan 31 Lab 3: speed Lab 3 details
Friday, Feb. 1 Final C++ odds and ends Transition guide (various sections)
Lecture Notes
Monday, Feb. 4 Simple linked list class Chapter 2 of ZyBook
Lecture Notes SLinkedList.h
SLinkedList.cpp
testSLL.cpp
Wednesday, Feb. 6 Simple linked list class Chapter 2 of ZyBook
Lecture Notes SLinkedList.h
testSLL.cpp
Thursday, Feb. 7 Lab 4: tanning Lab 4 details
Friday, Feb. 8 Analysis of algorithms and Big-O Chapter 2 of ZyBook
Lecture Notes
Monday, Feb. 11 Stacks Sections 3.1 and 3.2 of ZyBook
Lecture Notes LinkedStack.h
ArrayStack.h
testStack.cpp
Wednesday, Feb. 13 Queues Sections 3.4 and 3.4 of ZyBook
Lecture Notes LinkedQueue.h
ArrayQueue.h
testQ.cpp
Thursday, Feb. 14 Lab 4: order Lab 5 details
Friday, Feb. 15 Stacks Section 3.5 of ZyBook
Lecture Notes Vector.h
testVector.cpp
Monday, Feb. 18 Stacks Sections 3.1 and 3.2 of ZyBook
Lecture Notes Vector.h
testVector.cpp
Wednesday, Feb. 20 Queues Sections 3.5 of ZyBook
Lecture Notes Vector.h
testVector.cpp
Thursday, Feb. 21 Lab 4: order (again) Lab 6 details
Friday, Feb. 22 Doubly linked list Section 3.6-3.8 of ZyBook
Lecture Notes List.h
testList.cpp
Monday, Feb. 25 Review session
Wednesday, Feb. 27 Midterm 1
Thursday, Feb. 28 Linked lists: insertion Section 3.8 of Zybook Lecture Notes
Friday, March 1 Linked lists: deletion
Searching
Section 3.9, 3.10 of Zybook Lecture Notes List.h
testList.cpp
Monday, March 4 Sorting Sections 4.1-4.4 of Zybook Lecture Notes
Wednesday, March 6 Sorting Sections 4.5-4.8 of Zybook Lecture Notes
Thursday, March 7 Lab 7: phone Lab 7 details
Monday, March 18 Binary Trees Sections 5.1-5.4 of Zybook
Wednesday, March 20 Binary trees: implementation Sections 5.4-5.8 of Zybook BinaryTree.h
testBinaryTree.cpp
Thursday, March 21 Lab 8: Tree grafting (part 1) Lab 8 details
Friday, March 22 Binary search trees: implementation Chapter 5 of Zybook Lecture Notes BinarySearchTree.h
testBST.cpp
Monday, March 25 AVL trees: pivoting 6.1 and 6.2 of Zybook Lecture Notes
Wednesday, March 27 AVL trees: inserting 6.3 and 6.4 of Zybook AVLTree.h
testAVL.cpp
Friday, March 29 Heaps 7.1 and 7.2 of Zybook Heap.h
Monday, April 1 Treaps 7.3 and 7.4 of Zybook Lecture Notes
Wed and Fri, April 3 and 5 Hashing 8.1-8.5 of Zybook Lecture Notes
Monday, April 8 Review for 2nd midterm
Wednesday, April 10 2nd midterm
Friday, April 12 Huffman codes Prefix free codes
See section 4.4
Lecture Notes
Monday, April 15 Graphs Zybook readings
Supplemental reading
Lecture Notes
Wednesday, April 17 Graphs Zybook readings
Supplemental reading
Lecture Notes
Wednesday, April 24 Graphs Zybook readings
Supplemental reading
Lecture Notes
Friday, April 26 Graphs Zybook readings
Supplemental reading
Lecture Notes
Monday, April 26 Graphs Zybook readings
Supplemental reading
Lecture Notes
Wednesday, May 1 Sets Zybook readings
Why you shouldn't use set (and what you should use instead)
Lecture Notes
Friday, May 3 Recap of data structures Zybook readings Lecture Notes