Course Home | Homework | Lab Open Hours | Programming | Schedule & Lecture Notes | Submit

Saint Louis University

Computer Science 180
Data Structures

Michael Goldwasser

Spring 2007

Dept. of Math & Computer Science


Please note that the schedule for future classes is tentative.

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
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
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
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)

Michael Goldwasser
CSCI 180, Spring 2007
Last modified: Friday, 04 May 2007
Course Home | Homework | Lab Open Hours | Programming | Schedule & Lecture Notes | Submit