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 17-Jan 20 | Tue |
Introduction, Course Administration,
Object-Oriented Design Goals |
syllabus
p. 62,Ch. 2.1 |
Wed |
Case Study: CreditCard class
(Note: this lecture is trumped by the subsequent 'walkthrough') |
Selected portions of Ch. 1: pp.2-8(top), 14(mid)-21(bot), 24-29(top), 33-36(mid), 46-56 |
|
Fri | A walkthrough of the development of CreditCard (parts 1-3) | notes | |
Jan 23-Jan 27 | Mon | A walkthrough of the development of CreditCard (parts 4-6) | notes |
Tue |
A walkthrough of the development of CreditCard (part 7)
Working with multiple files |
notes | |
Wed |
Hands-on Day
using the compiler/linux |
linux notes | |
Fri |
ObjectDemo (Additional C++ subtleties) |
Ch. 1.1.3, 1.4.1 though we skip arrays for now |
|
Jan 30-Feb 3 | Mon | More of the ObjectDemo | |
Tue | More of the ObjectDemo | ||
Wed |
Stack abstract data type
(background: Templated Classes) |
Ch. 4.2.1
(Ch. 2.3.2) |
|
Fri |
ArrayStack implementation
(background: arrays) |
Ch. 4.2.2
(pp.9-10, 13, 30) |
|
Feb 6-Feb 10 | Mon |
ArrayStack implementation
(background: ++ and -- operators, exceptions) |
Ch. 4.2.2
(pp.17-18, Ch. 2.4) |
Tue |
ArrayStack implementation
(background: memory allocation) |
Ch. 4.2.2
(Ch. 1.5.2, 1.5.3) |
|
Wed |
ArrayStack implementation
(final details) |
Ch. 4.2.2 | |
Fri |
Queue
(circular arrays) |
Ch. 4.3 | |
Feb 13-Feb 17 | Mon | Analysis of Algorithms, Asymptotics | Ch. 3.4, 3.5 |
Tue |
Analysis of Algorithms Introduction to Linked Lists |
Ch. 3.4, 3.5 | |
Wed |
Linked Lists Node Definition |
Ch. 4.4 | |
Fri |
Linked Lists Stack Implementation |
Ch. 4.4 | |
Feb 20-Feb 24 | Mon |
Linked Lists Housekeeping Functions |
Ch. 4.4 |
Tue |
Linked Lists Housekeeping Functions |
||
Wed | review | ||
Fri | First Exam (includes material through Feb 17 - info ) | ||
Feb 27-Mar 3 | Mon |
Linked Lists Implementing a Queue |
Ch. 4.4.3 |
Tue |
Double-Ended Queues Doubly-Linked Lists Sentinels |
Ch. 4.5 | |
Wed | Introduction to Recursion | Ch. 4.2.3, Ch 2.5 | |
Fri |
More with Recursion
Asymptotic Analysis |
Ch. 4.1 | |
Mar 6-Mar 10 | Mon |
Sorting Algorithms Mergesort |
Ch. 10.1.1 |
Tue |
Sorting Algorithms
Quicksort |
Ch. 10.3 (skim code) | |
Wed |
Higher-Order Recursions
(towers of hanoi; enumerating combinations) |
Ch. 4.1 | |
Fri | Problem Solving with Recursion | Ch. 4.1 | |
Mar 13-Mar 17 | Mon | No Class: Spring Break | |
Tue | |||
Wed | |||
Fri | |||
Mar 20-Mar 24 | Mon | Overview of Magic Squares assignment | handout |
Tue |
The Vector ADT
Amortized Analysis |
Ch. 5.1 | |
Wed | Amortized Analysis | ||
Fri | List ADT overview | Ch. 5.2 | |
Mar 27-Mar 31 | Mon | List implementation | Ch. 5.2 |
Tue | List implementation | Ch. 5.2 | |
Wed |
Sequence ADT
Multiple Inheritance |
Ch. 5.3 | |
Fri | Trees | Ch. 6.1 | |
Apr 3-Apr 7 | Mon | Basic Algorithms on Trees | Ch. 6.2 |
Tue | Euler Tours | Ch. 6.2.3, 6.2.4, 6.3.4 | |
Wed |
Binary Tree Properties, Mutators
Ch. 6.3.3 |
demo | |
Fri | Second Exam (includes material through Mar 31 - info ) | ||
Apr 10-Apr 14 | Mon | Data Structures for Representing Binary Trees | Ch. 6.4.1, 6.4.2 |
Tue |
Housekeeping functions for BinaryTree
Data Structures for General Trees |
p. 297,
handout
Ch. 6.4.3, 6.4.4 |
|
Wed | Introduction to Priority Queues |
skim Ch. 7.1-7.3
demo |
|
Fri | No Class: Good Friday | ||
Apr 17-Apr 21 | Mon | In-class work on Cards assignment | |
Tue | Overview of decode assignments. | ||
Wed |
Priority Queue Implementation Details
Composition and Comparator |
7.1.4 | |
Fri |
Priority Queue Implementation Details
Sample Code |
7.3.3 | |
Apr 24-Apr 28 | Mon |
Huffman Coding
Overview of encode assignments. |
Ch. 11.4 |
Tue |
Dictionary ADT Hashing |
Ch. 8.1, 8.2.1, 8.2.2 | |
Wed | Hash Codes and Collisions | rest of Ch. 8.2 | |
Fri |
Ordered Dictionaries
Skip Lists |
Ch. 8.3, 8.4 (omit 8.4.3) |
|
May 1-May 5 | Mon | Binary Search Trees | Ch. 9.1 |
Tue |
(2,4) Trees search, insertion |
9.3, 9.4 | |
Wed |
(2,4) Trees deletion |
9.4 | |
Fri | Red-Black Trees | 9.5 | |
12 May 2006, Friday | Final Exam (12:00-1:50) info |