CS302 -- Fundamental Algorithms

Lecture Notes


Date

Assigned Readings

Topics

1/13

General C Stuff and some other fundamentals

C Review

1/15

Programming C with Dr. Plank

Fields and Dlist Libraries

1/20

Programming C with Dr. Plank

Red Black Tree Library

1/20

  1. Intro to Object-Oriented Programming
  2. Schildt Ch. 1

Overview of OO Programming

1/22,1/27,1/29

  1. Most Things About C++(my version)  C++ class syntax (Dr. Vander Zanden’s)
  2. Schildt Ch. 2, 3.1-3, 4.3-8, 5.1-2, 6.6, 11.1-2

Everything about C++ class.

2/3

Inheritance and Polymorphism

Inheritance

2/5

  1. Object-oriented design
  2. Weiss Ch 1.6

How to design objects

2/11

  1. ios streams C versus C++
  2. Schildt Ch 4.4-4.5

Stylistic Differences Between C and C++

2/12,17

  1. time complexity
  2. Weiss Ch 2

Algorithm Analysis

2/19

  1. priority queues
  2. Weiss Ch 6.1-6.4

Priority Queues

2/24

Schildt Ch 6.4

1.     1. Simulation and Priority Queues

2/27

Weiss Ch. 7

Internal Sorting Algorithms

3/2

External Sorting I, External Sorting II

Weiss Ch 7.11

3/4

Midterm

 

3/9, 3/11

Spring Break

No class

3/16

B-Trees

Weiss Ch 4.7

3/18

Extendible Hashing

Weiss Ch 5.6

3/23

Midterm return

 

3/25

Disjoint Sets

Weiss Ch 8

3/30, 4/1

  1. Weiss Ch 9.1-9.2
  2. Graph algorithms--graph searching
  3. Graph algorithms--reading graphs, topological sort, cycle detection

Introduction to Graphs

4/6, 8

  1. Shortest Paths and Minimum Spanning Trees
  2. Weiss Ch 9.3
  1. Graph Searching
  2. Shortest Path Algorithms

4/13,15

Weiss Ch 9.5-9.6

  1. Minimum Spanning Trees
  2. Biconnectivity
  3. Strong Components

4/20

  1. Network Flow
  2. Weiss Ch 9.4

Network Flow

4/22

Weiss Ch 9.7

NP-Completeness

4/27

Review

Wrap up

 

Final Exam (done!!)

Final Exam