Schedule

Time: Mon and Wed, 7pm-9pm; Lectures: Halligan Hall 108; Lab: Halligan Hall 116 (Wed 7:30pm – 8:45pm); Note: The following schedule is tentative and can be subject to change depending on specific circumstances.

Date Topic Lab Suggested Reading
May 20 (Wed) Introduction, The world of C++, part 1
1. Code Notes: Intro to C++, part 1
2. Code Nodes: Intro to C++, part 2
3. Code Notes: Intro to C++, part 3
4. The World of C++, part 1
5. C++ classes and objects
May 27 (Wed) The world of C++, part 2 Lab 0
1. Pointers and Arrays
2. The World of C++, part 2
3. Pointers in C++
4. Quick Emacs Reference
5. Debugging in Emacs
Jun 1 (Mon) The world of C++, part 3
Jun 3 (Wed) The world of C++, part 4 Lab 1
Jun 8 (Mon) Linked Lists, part 1
Jun 10 (Wed) Linked Lists, part 2 (Homework 1 due) Lab 2
Jun 15 (Mon) Stacks, Queues, Recursions, part 1
Jun 17 (Wed) Recursions, part 2 Lab 3
Jun 22 (Mon) Sorting (Exchange sort, Insertion sort, Selection sort); Complexity of Algorithms (Homework 2 due)
Jun 24 (Wed) Complexity Analysis Lab 4
Jun 29 (Mon) Binary Search Trees
Jul 1 (Wed) Midterm Review (Homework 3 due)
Jul 6 (Mon) Midterm exam
Jul 8 (Wed) Splay trees Lab 5
Jul 13 (Mon) Merge Sort and Quick Sort (Homework 4 due)
Jul 15 (Wed) Heaps, part 1 Lab 6
Jul 20 (Mon) Heaps, part 2, Graphs, part 1
Jul 22 (Wed) Graphs, part 2 Lab 7
Jul 27 (Mon) Hashing (Homework 5 due)
Jul 29 (Wed) Union-find data structures Lab 8
Aug 3 (Mon) Final Review
Aug 5 (Wed) Final exam (Homework 6 due)