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.

DateTopicReadingLecture NotesCode or Lab assignmentMonday, 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.cppWednesday, Jan 27 Simple lists Lecture Notes SLinkedList.h

SLinkedList.cpp

testSLL.cppFriday, Jan 29 Big-O notation

Algorithm analysisLecture Notes Monday, Feb. 1 Stacks Lecture Notes ArrayStack.h

LinkedStack.h

testStack.cppTuesday, Feb. 2 Stacks and Queues Lecture Notes ArrayStack.h

LinkedStack.h

testStack.cppFriday, Feb. 5 Queues None ArrayQueue.h

LinkedQueue.h

testQueue.cppMonday, Feb. 8 Queues Lecture Notes ArrayQueue.h

LinkedQueue.h

testQueue.cppWednesday, Feb. 10 Vectors Lecture Notes Vector.h Friday, Feb. 12 Vectors Lecture Notes Vector.h Monday, Feb. 15 Vectors Lecture Notes Vector.h

testVector.cppWednesday, 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.cppFriday, 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 QueuesLecture Notes Heap.h Monday, March 14 Binary Search Trees Lecture Notes BinaryTree.h

testBinaryTree.cppTuesday, March 15 Binary Tree Code BinaryTree.h

testBinaryTree.cppWednesday, March 16 Binary Search Tree Code BinarySearchTree.h

testBST.cppFriday, March 18 Remove in a BST

Balanced BSTsLecture Notes BinarySearchTree.h

testBST.cppMonday, March 21 AVL Trees Lecture Notes AVLTree.h Wednesday, March 23 AVL Trees Lecture Notes AVLTree.h

testAVL.cppTuesday, March 29 AVL trees Lecture Notes AVLTree.h

testAVL.cppWednesday, March 30 AVL Trees AVLTree.h

testAVL.cppFriday, April 1 Midterm 2 review Monday, April 4 Midterm 2 Tuesday, April 5 Huffman Trees Section 7.4

Another overview

And anotherWednesday, 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