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 12-Jan 16 | Mon | Introduction, Course Overview | syllabus |
Tue | Lab 00: A First Glance at C++ |
|
|
Wed |
Transition to C++
Data types, operators, control structures |
|
|
Fri |
Transition to C++
I/O streams |
|
|
Jan 19-Jan 23 | Mon | No Class: Martin Luther King Day | |
Tue | Lab 01: Copier Reduction | ||
Wed |
Transition to C++
Class Definitions |
|
|
Fri |
Transition to C++
Operator Overloading, Inheritance |
|
|
Jan 26-Jan 30 | Mon |
C++ Object Model
(value vs. reference variables) |
|
Tue | Lab 02: Speed Limit | ||
Wed | Multifile Projects in C++ | Ch. 1.6 | |
Fri |
Lifespan of objects
Pointers and Dynamic Memory Management |
objectdemo
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) |
4.3
|
|
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 | |
Tue | |||
Wed | |||
Fri | |||
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
iterators |
|
Fri | A tour of the STL algorithm library (again) |
library
iterators |
|
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
(code) |
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
demo |
|
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) |