Saint Louis University |
Computer Science A220/P126
|
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.
Date | Topic | Text Reading | |
---|---|---|---|
Mon, Jan 10 | Introduction | Ch. 2.1 | |
Wed, Jan 12 | Preliminary Review of C++ | Ch. 1 | |
Fri, Jan 14 | More C++ details templates, copy constructors, assignment operator Guest Lecturer: Dr. Bryan Clair |
parts of Ch. 1.5 | |
Mon, Jan 17 | No Class: Martin Luther King Day | ||
Wed, Jan 19 | Linear Recursion | Ch. 2.5.1, 4.1 | |
Fri, Jan 21 | Binary Recursion | Ch. 4.1 and notes | |
Mon, Jan 24 | Multiple Recursion (the Magic Square assignment) |
Ch. 4.1 and notes | |
Wed, Jan 26 | Stacks (interface) | Ch. 4.2 | |
Fri, Jan 28 | Stacks (array implementation) | Ch. 4.2 | |
Mon, Jan 31 | Stacks (dynamic memory) Queues |
Ch. 4.2, 4.3 | |
Wed, Feb 2 | Queues, Circular Arrays | Ch. 4.3 | |
Fri, Feb 4 | Analysis Tools | Ch. 3 | |
Mon, Feb 7 | |||
Wed, Feb 9 | Linked Lists (conceptually) |
Ch. 4.4 | |
Fri, Feb 11 | Linked Lists (as Stack implementation) |
Ch. 4.4 | |
Mon, Feb 14 | Linked Lists (housekeeping functions, Queue implementation) |
Ch. 4.4 | |
Wed, Feb 16 | |||
Fri, Feb 18 | First Exam (includes material through Feb 11 - info ) | ||
Mon, Feb 21 | Guest Lecture: Data Compression | ||
Wed, Feb 23 | Double-ended queues (doubly-linked lists) |
Ch. 4.5 | |
Fri, Feb 25 | Use of Sentinels | Ch. 4.5 | |
Mon, Feb 28 | Guest Lecture: Hashing | ||
Wed, Mar 2 | Vector ADT | Ch. 5.1 | |
Fri, Mar 4 |
Expandable Arrays
(Amortized Analysis) |
Ch. 5.1.3 | |
Mon, Mar 7 | No Class: Spring Break | ||
Wed, Mar 9 | |||
Fri, Mar 11 | |||
Mon, Mar 14 | List ADT | Ch. 5.2 | |
Wed, Mar 16 | List implementation details | Ch. 5.2 | |
Fri, Mar 18 | Sequence ADT, Iterators | Ch. 5.3, 5.5 | |
Mon, Mar 21 | Discussion of current homework and program | ||
Wed, Mar 23 | Trees, Binary Trees (ADTs) | Ch. 6.1 Ch. 6.3.1-6.3.3 |
|
Fri, Mar 25 | No Class: Good Friday | ||
Mon, Mar 28 | Recursive Algorithms and Trees | Ch. 6.2 | |
Wed, Mar 30 | Euler Tours | Ch. 6.3.4 | |
Fri, Apr 1 | Second Exam (includes material through Mar 21 - info ) | ||
Mon, Apr 4 | Tree Implementations | Ch 6.4 | |
Wed, Apr 6 | Introduction to Priority Queues | skim Ch. 7.1-7.3 demo |
|
Fri, Apr 8 | Priority Queue ADT (Comparator and Composition design patterns) |
Ch. 7.1 | |
Mon, Apr 11 | Priority Queues and Sorting | Ch. 7.1.2, 7.2.3, 7.3.4 | |
Wed, Apr 13 |
Heap Implementation of Priority Queues (more details) |
Ch. 7.3.3 | |
Fri, Apr 15 | Dictionary ADT | Ch. 8.1 | |
Mon, Apr 18 | Binary Search; Hashing | Ch. 8.2-8.3 | |
Wed, Apr 20 | Binary Search Trees | Ch. 9.1 | |
Fri, Apr 22 | Binary Search Trees | Ch. 9.1 | |
Mon, Apr 25 |
Multi-way Search Trees Balanced Search Trees (2,4) Trees |
Ch. 9.3-9.4 | |
Wed, Apr 27 | |||
Fri, Apr 29 | |||
Fri, May 6 | Final Exam (12:00-1:50pm) - info |