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 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 tutorialLecture 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 endsTransition 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.cppWednesday, Feb. 6 Simple linked list class Chapter 2 of ZyBook
Lecture Notes SLinkedList.h
testSLL.cppThursday, 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.cppWednesday, Feb. 13 Queues Sections 3.4 and 3.4 of ZyBook
Lecture Notes LinkedQueue.h
ArrayQueue.h
testQ.cppThursday, Feb. 14 Lab 4: order Lab 5 details Friday, Feb. 15 Stacks Section 3.5 of ZyBook
Lecture Notes Vector.h
testVector.cppMonday, Feb. 18 Stacks Sections 3.1 and 3.2 of ZyBook
Lecture Notes Vector.h
testVector.cppWednesday, Feb. 20 Queues Sections 3.5 of ZyBook
Lecture Notes Vector.h
testVector.cppThursday, 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.cppMonday, Feb. 25 Review session
Wednesday, Feb. 27 Midterm 1
Thursday, Feb. 28 Linked lists: insertion Section 3.8 of Zybook Lecture Notes List.h
testList.cppFriday, March 1 Linked lists: deletion
SearchingSection 3.9, 3.10 of Zybook Lecture Notes List.h
testList.cppMonday, 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.cppThursday, 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.cppMonday, 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.cppFriday, 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.4Lecture Notes Monday, April 15 Graphs Zybook readings
Supplemental readingLecture Notes Wednesday, April 17 Graphs Zybook readings
Supplemental readingLecture Notes Wednesday, April 24 Graphs Zybook readings
Supplemental readingLecture Notes Friday, April 26 Graphs Zybook readings
Supplemental readingLecture Notes Monday, April 26 Graphs Zybook readings
Supplemental readingLecture 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