Augustana University College


COMPUTING SCIENCE 210
Algorithm Analysis and Data Structures

COURSE OUTLINE

Fall Term, 1998



Quick Links
. Course Materials Index . Course Description & Regulations . Instructor Contact Information


The approximate dates on which the various topics of the course will be presented, along with an indication of which pages or sections of the textbook(s) are to be read in connection with each topic, are given in the following table. Students should read the indicated sections prior to each class or lab session (but should be sure to attend the session even if they haven't read the relevant material).

Lab and programming assignments are due at the start of the lab session on the dates indicated below.
 
DATES TOPIC READING
Sept. 9 Algorithms, Data Structures, and Abstract Data Types
Reference Parameters, Templates, and Function Parameters
1.1
11 NO LAB SESSION
14 Algorithm Efficiency and the Sorting Problem 1.2
16 The Search Problem 1.3
18 LAB 1: Divide-and-Conquer Search Algorithms
21 Empirical Efficiency Analysis -- Shellsort 1.4
23 Pointers, Dynamic Data, and Reference Types Dale 967-990,
1030-1033
25 LAB 2: Shellsort and Related Algorithms
28 Abstract Data Types (ADT's) and C++ Classes 2.1;
Dale 990-1001,
1018-1030
30 Operator Overloading
Extending ADT's by Inheritance
2.2;
review Dale 909-920
Oct. 2 LAB ASSIGNMENT 1 DUE
PROGRAM 1: A Randomizing Array
5 The List ADT
Polymorphism and Virtual Functions
The Array Implementation
3.1, 3.2 (first part);
Dale 1046-1050;
review Dale 925-930
7 The Linked List 3.2, 3.3;
Dale 1050-1082, 1111
9 LAB ASSIGNMENT 2 DUE
LAB 3: Using a List ADT Implementation -- The Josephus Problem
12 THANKSGIVING HOLIDAY
14 Hash Tables and the Keyed Collection ADT 11.2
16 LAB ASSIGNMENT 3 DUE
PROGRAM 2: Implementing a Linked List
19 - 22 I'm going to OOPSLA '98 NO CLASS SESSIONS -- instructor at a programming languages conference
23 PROGRAMMING ASSIGNMENT 1 DUE
LAB 4: Hashing Functions
26 The Queue ADT
Circular Arrays
Radix Sort
4.1 - 4.3
28 The Stack ADT
Parsing and Evaluating Arithmetic Expressions
5.1 - 5.3
Oct. 29 - Nov. 1 FALL BREAK
Nov. 2 MID-TERM EXAM
4 Recursion
Quicksort
6.1 - 6.2;
Dale Ch. 19
6 LAB ASSIGNMENT 4 DUE
PROGRAM 3: Quicksort
9 Mergesort 6.3
11 REMEMBRANCE DAY HOLIDAY
13 PROGRAMMING ASSIGNMENT 2 DUE
LAB 5: Parsing with Priority Functions
16 The Binary Tree ADT -- Implementations and Traversals 7.1 - 7.2
18 Binary Search Trees
Height-Balanced Trees
7.3, 7.6
20 LAB ASSIGNMENT 5 DUE
PROGRAM 4: Level-Order Traversal of a Binary Tree
23 Heaps, Priority Queues, and Heapsort
Internal Sorting: The Theoretical Bound on Efficiency
7.4, 12.1
25 The General Tree ADT
The Union-Find Problem
8.1, 8.2,
8.4
27 PROGRAMMING ASSIGNMENT 3 DUE
LAB 6: Binary Search Trees
30 Graphs and Networks: Terminology, ADT's, and Implementations 9.1 - 9.3
Dec. 2 Shortest Path Algorithms
Transitive Closure
9.4
4 LAB ASSIGNMENT 6 DUE
Preparing for the final exam
7 Minimum Spanning Trees 9.5
9 Topological Ordering 9.6
11 PROGRAMMING ASSIGNMENT 4 DUE
Preparing for the final exam
Tuesday, Dec. 22 FINAL EXAM (9:00 a.m. - 12:00 noon, Gymnasium)
 
Links
. Course Materials Index . Top of this Document . Instructor Contact Information