Saint Louis University |
Computer Science 180
|
Dept. of Math & Computer Science |
Also note: For each lecture, we denote both a topic as well as the associated reading in the textbook. The live link on the 'topic' leads to a page of my personal notes for that lecture. Those personal notes are not nearly as complete or polished as the associated readings from the text. In truth, they exist mostly to provide a brief outline of the day's lecture. Students are expected to read the associated sections of the text. In cases where my notes include material which is not explicitly in the text, I will add the word "notes" to the explicit reading list.
Week | Day | Topic | Reading |
---|---|---|---|
Jan 16-Jan 19 | Tue |
Introduction, Course Administration,
Object-Oriented Design Goals |
syllabus |
Wed |
Transition from Python to C++
(a basic program) |
Chapter P of text
Our Guide (Sections 1 through 5) |
|
Fri |
Transition Guide (continued); A hands-on experience. |
||
Jan 22-Jan 26 | Mon |
Transition Guide (continued); functions and classes |
Updated Guide |
Tue |
Transition Guide (continued); robust Point class, operators |
||
Wed | Coding with multiple files | Ch. 1.3 of text | |
Fri |
Transition Guide (continued); Value vs. Reference variables, parameter passing |
||
Jan 29-Feb 2 | Mon |
Lifespan of an Object; Scope
objectdemo |
Ch. P.5 |
Tue | Pointers | Ch. P.5 | |
Wed | Dynamic Memory Management | ||
Fri | Arrays | Ch. P.7 | |
Feb 5-Feb 9 | Mon | Vector class interface; templates | Ch. 4.1 |
Tue | Implementation of a vector class |
Ch. 4.3
vector.h, test_vector.cpp |
|
Wed | (vector implementation continued) | ||
Fri | Asymptotic Analysis; Worst-case and Amortizization | Ch. 2.6, p. 246 | |
Feb 12-Feb 16 | Mon | Amortized Analysis of vector expansion | |
Tue | Empirical Measurement of STL vectors. | ||
Wed |
Copy Construtor, Assignment Operator, Destructor
"housekeeping" functions |
Ch. 4.4 | |
Fri | Implementation of "housekeeping" functions | Ch. 4.4 | |
Feb 19-Feb 23 | Mon | Gentle Introduction to Linked Lists | demo |
Tue | Implementing Singly and Doubly Linked Lists | Ch. 4.5 | |
Wed | STL list class and iterators | Ch. 4.6 | |
Fri | Implementation of a doubly-linked list class | Ch. 4.7 | |
Feb 26-Mar 2 | Mon | Implementation of a doubly-linked list class (continued) | Ch. 4.7 |
Tue | Implementation of a doubly-linked list class (continued) | Ch. 4.7 | |
Wed |
Use of sentinel nodes.
My prefered list class implementation. |
||
Fri |
Common features of containers in STL
Algorithm library |
Ch. 4.9, 4.10 | |
Mar 5-Mar 9 | Mon | (in-class work on current assignment) | |
Tue | Stack ADT and Implementation | Ch. 5 | |
Wed | Queue ADT | Ch. 6.1 | |
Fri | Midterm Exam (includes material through Mar 2 - info ) | ||
Mar 12-Mar 16 | Mon | No Class: Spring Break | |
Tue | |||
Wed | |||
Fri | |||
Mar 19-Mar 23 | Mon |
Queue Implementation with linked lists
Using a Circular Array |
Ch. 6.3 |
Tue | Code for a Queue with circular array | ||
Wed |
Double-ended queue
Preview of Prog05 |
||
Fri | Intro to Priority Queues | ||
Mar 26-Mar 30 | Mon | Efficient Priority Queue with Binary Heaps | |
Tue | Introduction to Graphs | ||
Wed | Introduction to Recursion | Ch. 7.1 | |
Fri | Recursion, Binary Search | Ch. 7.2, 7.3 | |
Apr 2-Apr 6 | Mon | Case Study: Analyzing a Grid | Ch. 7.4 |
Tue | Case Study: A Maze | Ch. 7.5 | |
Wed | Discussion of next assignment: Magic Squares | ||
Fri | No Class: Good Friday | ||
Apr 9-Apr 13 | Mon | Discussion of next assignment: Magic Squares | |
Tue | Trees | start of Ch. 8 | |
Wed | Tree Traversals | Ch. 8.2 | |
Fri | Introduction to Binary Search Trees (algorithms) | Ch. 8.4 (without code) | |
Apr 16-Apr 20 | Mon |
Binary Tree Implementation,
Binary Search Tree Implementation |
Ch. 8.3
Ch. 8.4 |
Tue | Continuation of Search Tree Implementation | ||
Wed | sets, multisets maps, multimaps | Ch. 9.1, 9.2 | |
Fri |
sets, multisets, maps, multimaps
(use of search trees) |
Ch. 9.2 | |
Apr 23-Apr 27 | Mon | Introduction to Hashing | |
Tue | Hash Codes and Collision Resolution | Ch. 9.3 | |
Wed |
Balanced Search Trees
(2-3-4 Trees and B-Trees) |
Ch. 11.5 | |
Fri | Deletions from 2-3-4 Trees | Ch. 11.5 | |
Apr 30-May 4 | Mon | Red-Black Trees | Ch. 11.3 |
Tue | Sorting Algorithms | selections from Ch. 10 | |
Wed | Computational Geometry: Line Segment Intersections | ||
Fri | Review | ||
7 May 2006, Monday | Final Exam (2:00-3:50) |