CS302 -- Fundamental Algorithms

Brad Vander Zanden

Lecture Notes


Date

Topics

Assigned Readings

8/23 C Review General C Stuff
8/28 Overview of OO Programming
  1. Intro to Object-Oriented Programming
  2. Schildt Ch. 1
8/30 Stylistic Differences Between C and C++
  1. Introduction to C++
  2. C versus C++
  3. Schildt Ch 4.4-4.5
9/4 C++ classes
  1. C++ class syntax
  2. Schildt Ch. 2, 4.3
9/6
  1. C++ streams
  2. C++ lists
  1. Schildt ch 8.1-8.4, 9.2, 9.6--Streams
  2. Schildt ch 14.4--Lists
  3. I/O Streams
  4. The Standard Template Library
  5. SGI's Introduction to the STL Library--This is a general reference for the STD that you might find useful when you have a question about a specific class or want to see if C++ has a class that meets your needs before you write a custom class
9/11
  1. How to design objects
  2. Templates
  1. Object-oriented design
  2. Weiss Ch 1.6
  3. Schildt Ch 11.1-11.2
9/13 Creating, Copying and Assigning Objects
  1. Constructors and Operators
  2. Schildt Ch 3.1-3.3, 4.6-4.8, 5.1-5.2, and 6.6
  3. Map/Sort examples
9/18, 9/20 Algorithm Analysis
  1. time complexity
  2. Weiss Ch 2
9/25 Priority Queues
  1. priority queues
  2. Weiss Ch 6.1-6.4
9/27
  1. Simulation and Priority Queues
  2. Inheritance
  1. Inheritance
  2. Schildt Ch 2.3, 7.3, 10
10/2 Simulation and Priority Queues (cont) Simulation
10/4 (tentative) Midterm
-----
10/9 Internal Sorting Algorithms
  1. Weiss Ch. 7
  2. Internal Sorting I
10/11 Fall Break
-----
10/16 Finish internal sorting. Start external sorting. Weiss Ch. 7.11
10/18 Finish external sorting External Sorting
10/23 B-Trees Weiss Ch 4.7
10/25 Extendible Hashing Weiss Ch 5.6
10/30 Disjoint Sets Weiss Ch 8
11/1 (tentative) Midterm 2
-----
11/6 Introduction to Graphs
  1. Weiss Ch 9.1-9.2
  2. Graph algorithms--graph searching
  3. Graph algorithms--reading graphs, topological sort, cycle detection
11/8, 11/13
  1. Graph Searching
  2. Shortest Path Algorithms
  1. Shortest Paths and Minimum Spanning Trees
  2. Weiss Ch 9.3
11/15, 11/20
  1. Minimum Spanning Trees
  2. Biconnectivity
  3. Strong Components
Weiss Ch 9.5-9.6
11/22 Thanksgiving
-----
11/27 Network Flow
  1. Network Flow
  2. Weiss Ch 9.4
11/29 NP-Completeness Weiss Ch 9.7
12/4 Catch up day None
12/11 Final Exam, 12:30-2:30pm
-----