CS302: Lecture Notes

CS302: Schedule/Readings/Notes

Fall 2005


CS302 home page Syllabus Schedule/Readings/Notes Lab Assignments TA Web Site Exams and Grading

Subject to change. Check back frequently for updates.
    Last updated: December 1, 2005

Date Topics Assigned Readings
Thurs. 8/25 Course Introduction
C Review

08-25 Lecture Slides
1. Fundamentals
2. General C Stuff
3. Coding Clearly
Tues. 8/30 Fields and Dlist Libraries

08-30 Lecture Slides
1. Programming C
2. C vsn. of Fields library
3. C vsn. of Jval Type
4. C vsn. of Doubly-Linked Lists
Thurs. 9/01 Red Black Tree Library

09-01 Lecture Slides
C vsn. of Red-Black Trees
Tues. 9/06 Overview of OO Programming

09-06 Lecture Slides
1. Intro. to Object-Oriented Programming
2. Schildt Ch 1
Thurs. 9/08 Stylistic Differences Between C and C++

09-08 Lecture Slides
1. Intro. to C++ and classes
2. C vs. C++
3. Schildt Ch. 8.1-8.5
4. Schildt Ch. 12.4
Tues. 9/13 More on C++ Classes
C++ Strings

09-13 Lecture Slides
1. C++ class syntax
2. Schildt Ch. 8.6-8.9
3. Schildt Ch 4.4-4.5
4. Weiss Appendix B
5. Notes on C++ string class
Thurs. 9/15 C++ DLists
C++ Templates
C++ Fields, Red-Black Trees

09-15 Lecture Slides
1. Weiss Ch 1.6
2. Schildt Ch 12.2-12.3
3. Object-oriented design (includes notes on C++ vsn. of DL-Lists)
4. C++ vsn. of Fields and Red-Black Trees
Tues. 9/20 Creating, Copying, and Assigning Objects
Inheritance

09-20 Lecture Slides
1. Constructors and Operators
2. Schildt Ch 9.9-9.11, Ch. 10
3. Inheritance
Thurs. 9/22 Algorithm Analysis

09-22 Lecture Slides
1. Time Complexity
2. Weiss Ch 2
Tues. 9/27 Algorithm Analysis (con't.)

09-27 Lecture Slides
 
Thurs. 9/29 Priority Queues

09-29 Lecture Slides
1. Priority queues
2. Weiss Ch 6.1-6.4
Tues. 10/04 1. Simulation and Priority Queues
2. Random Number Generation

10-04 Lecture Slides
Priority Queues in C++
Thurs. 10/06 More Simulation and Priority Queues

10-06 Lecture Slides
Continue: Priority Queues in C++
Tues. 10/11 Internal Sorting Algorithms Weiss Ch 7.1-7.10
Thurs. 10/13 No class (Fall Break)  
Tues. 10/18 Midterm  
Thurs. 10/20 Review Mid-Term
Wrapup Internal Sorting
External Sorting Algorithms
1. External Sorting
2. Weiss Ch 7.11
Tues. 10/25 Replacement Selection
B-Trees
Extendible Hashing
Replacement Selection
Weiss Ch. 4.7
Weiss Ch. 5.6
Thurs. 10/27 No class; instructor on travel
Tour of Parker's robotics lab, for those who are interested, led by Michael Bailey. Meet in classroom at usual meeting time.
 
Tues. 11/01 Disjoint Sets Weiss Ch. 8
Thurs. 11/03 Introduction to Graphs 1. Weiss Ch 9.1-9.2
2. Graph definitions
3. Graph algorithms: graph searching
4. Graph algorithms: reading graphs, topological sort, cycle detection
Tues. 11/08 1. Graph Searching
2. Shortest Path Algorithms
1. Shortest Paths and Minimum Spanning Trees
2. Weiss Ch 9.3
Thurs. 11/10 Network Flow 1. Network Flow
2. Weiss Ch 9.4
Tues. 11/15 Minimum Spanning Trees 1. Weiss Ch. 9.5
2. Shortest Paths and Minimum Spanning Trees
Thurs. 11/17 1. Biconnectivity
2. Strong Components
Weiss Ch. 9.6
Tues. 11/22 Wrapup of Graph Algorithms

11-22 Lecture Slides
 
Thurs. 11/24 No Class (Thanksgiving)  
Tues. 11/29 NP-Completeness 1. Weiss Ch. 9.7
2. NP Completeness
Thurs. 12/01 NP-Completeness (con't.)  
Tues. 12/06 Wrap-up, Review  
Wed. 12/14 Final Exam, 5-7 PM
(Open book, open notes, no electronic devices.)