Assignments | Class Photo | Computing Resources | Course Home | Lab Hours/Tutoring | Schedule | Submit

Saint Louis University

Computer Science 180
Data Structures

Michael Goldwasser

Spring 2009

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 12-Jan 16 Mon Introduction, Course Overview syllabus
Tue Lab 00: A First Glance at C++ transition guide: Sec. 1, 2, 3
Text: Ch. 1.1.1
Wed Transition to C++
Data types, operators, control structures
transition guide: Sec. 4, 5
Text: Ch. 1.1.2, 1.2, 1.3
Fri Transition to C++
I/O streams
transition guide: Sec. 6
Jan 19-Jan 23 Mon No Class: Martin Luther King Day
Tue Lab 01: Copier Reduction
Wed Transition to C++
Class Definitions
transition guide: Sec. 7
Text: 1.5.1, 1.5.2
Fri Transition to C++
Operator Overloading, Inheritance
transition guide: Sec. 7
Text: Ch. 1.4.2 (and scan Ch. 2.2)
Jan 26-Jan 30 Mon C++ Object Model
(value vs. reference variables)
transition guide: Sec. 8
Text: Ch. 1.1.2, 1.4.1
Tue Lab 02: Speed Limit
Wed Multifile Projects in C++ Ch. 1.6
Fri Lifespan of objects
Pointers and Dynamic Memory Management
Ch. 1.1.3
Feb 2-Feb 6 Mon Stack abstract data type
(templated classes)
Ch. 4.2.1
(Ch. 2.3.2)
Tue Lab 03: Symmetric Order
Wed Pointers, Arrays, and Dynamic Allocation pp. 9-10, 13, 30 of text
Fri ArrayStack implementation (my code) Ch. 4.2.2
Feb 9-Feb 13 Mon ArrayStack housekeeping functions Ch. 1.5.2, 1.5.3
Tue Lab 04: Doubles
Wed Queue abstract data type,
"circular" array implementation (my code)
Fri Analysis of Algorithms, Asymptotics
Case Study: lab04 efficiency
Ch. 3
Feb 16-Feb 20 Mon Review Day
Tue First Exam (includes material through Feb 11 - info )
Wed Singly-Linked Lists
LinkedStack implementation (my code)
Ch. 4.4
Fri Housekeeping for Singly-Linked Lists
Preview of "SmartStack" assignment
Ch. 4.4
Feb 23-Feb 27 Mon LinkedQueue implementation (my code)

Doubly-Linked Lists
Double Ended Queue Abstraction
(my deque code)
Ch. 4.4.3

Ch. 4.5
Tue Lab 05: Tanning Salon
Wed Expandable Arrays
Amortized Analysis
Ch. 5.1
Fri The std::vector class
Implementation (my code)
Ch. 5.1
Mar 2-Mar 6 Mon Overview of STL's list interface and the iterator class.
Tue Lab 06: Symmetric Order (again)
Wed Implementing a list class (my code)
Fri Sorting a list (my code) skim Ch. 5.4
Mar 9-Mar 13 Mon No Class: Spring Break
Mar 16-Mar 20 Mon Sorting Algorithms:
Mergesort and Quicksort
Ch. 10.1.1, 10.3
Tue Lab 07: Overflowing Bookshelf
Wed A tour of the STL algorithm library and iterator categories. library
Fri A tour of the STL algorithm library (again) library
Mar 23-Mar 27 Mon Problem Solving with Recursion Ch. 2.5, 4.1
Tue more recursion
Wed Lab 08: Booklet
Fri Second Exam (includes material through Mar. 20 - info )
Mar 30-Apr 3 Mon Introduction to Trees
Book's Tree ADT
Ch. 6.1
Tue Lab 09: Anagrams
Wed Basic Algorithms on Trees Ch. 6.2
Fri Tree Traversals and Euler Tours Ch. 6.2.3, 6.2.4, 6.3.4
Apr 6-Apr 10 Mon Data Structures for Binary Trees
Ch. 6.4.1, 6.4.2
Tue Lab 10: Tree Grafting
Wed Housekeeping functions for Binary Trees
Data Structures for General Trees
p. 297,
Ch. 6.4.3, 6.4.4
Fri No Class: Good Friday
Apr 13-Apr 17 Mon No Class: Easter Monday
Tue Revisiting Lab 10: Tree Grafting
Wed Introduction to Priority Queues skim Ch. 7.1-7.3
Fri Priority Queue Details
Apr 20-Apr 24 Mon Introduction to Huffman Encoding notes
Tue Lab 11: Bulletin Board
Wed Binary Search Trees Ch. 9.1
Fri Balanced Binary Search Trees
AVL Trees
Ch. 9.2
Apr 27-May 1 Mon More Balanced Binary Search Trees
B-Trees, 2-3-4 Trees, Red-black Trees
Ch. 9.3-9.5
Tue STL: set, multiset, map, multimap
Wed Lab 12: Railway Transportation
Fri Hashing Ch. 8.2
May 4 Mon Review Day ?

May 6 Wed Final Exam (12:00-1:50)

Michael Goldwasser
CSCI 180, Spring 2009
Last modified: Wednesday, 26 January 2011
Assignments | Class Photo | Computing Resources | Course Home | Lab Hours/Tutoring | Schedule | Submit