CMPSCI 187: Fall 2014

Syllabus and Course Schedule

Prof. David Mix Barrington and Prof. Mark Corner

Reading assignments are from Dale, Joyce, and Weems, Object-Oriented Data Structures Using Java, third edition.

Lecture meetings are Tuesdays and Thursdays 2:30-3:45. Section 1 (David) is in Morill II room 131, and Section 2 (Mark) is in Hasbrouck 126.

Discussion meetings occur on various times on Mondays, as listed on SPIRE. Discussion attendance is required and will form a small portion of the final grade.

PART I:  Overview, Abstract Data Types, and Stacks

Tue 02 Sep L01  Course Overview: Administration, Software Engineering (1.1)
Thu 04 Sep L02  Course Overview: Java and Data Structures (1.2-1.4)
Mon 08 Sep D01  Introduction to Eclipse
Tue 09 Sep L03  Course Overview: Data Structures and Analysis (1.5-1.7)
Thu 11 Sep L04  StringLogs: Specifying, One Implementation (2.1-2.4)
Mon 15 Sep D02  Programming Dog Teams
Tue 16 Sep L05  StringLogs: Another Implementation, A Case Study (2.5-2.8)
Thu 18 Sep L06  Stacks: The Abstraction (3.1-3.3)
Mon 22 Sep D03  Sorting With Two Stacks
Tue 23 Sep L07  Stacks: Array Implementation (3.4-3.5)
Thu 25 Sep L08  Stacks: Linked Implementation (3.7)
Mon 29 Sep D04  Infix and Postfix Expressions
Tue 30 Sep L09  Stacks: Evaluating Expressions (3.6, 3.8)
Tue 30 Sep X01  Midterm Exam #1, 7-9 p.m., location TBA

PART II: Recursion, Queues, and Lists

Thu 02 Oct L10  Thinking Recursively (4.1-4.4)
Mon 06 Oct D05  Fibonacci Numbers
Tue 07 Oct L11  Thinking About Recursion (4.5-4.7)
Thu 09 Oct L12  Queues: The Abstraction (5.1, 5.2)
Tue 14 Oct D06  (MONDAY SCHEDULE) Playing With Deques
Thu 16 Oct L13  Queues: Two Implementations (5.3-5.6)
Mon 20 Oct D07  Implementing Deques
Tue 21 Oct L14  Queues: A Case Study (5.7, 5.8) 
Thu 23 Oct L15  Lists: Abstraction and Array Implementation (6.1-6.4)
Mon 27 Oct D08  Binary Search
Tue 28 Oct L16  Lists: Linked Implementations (6.7)
Thu 30 Oct L17  Varieties of Lists (7)
Thu 30 Oct X02  Midterm Exam #2, 7-9 p.m., Mahar 108

PART III: Yet More Data Structures, Sorting and Searching

Mon 03 Nov D09  TBA
Tue 04 Nov L18  Binary Search Trees (8.1-8.4)
Thu 06 Nov L19  Implementing Binary Search Trees (
Mon 10 Nov D10  TBA
Tue 11 Nov ---  NO CLASS (Veteran's Day Holiday)
Wed 12 Nov L20  (TUESDAY SCHEDULE) Using Binary Search Trees (8.10)
Thu 13 Nov L21  Heaps and Priority Queues (9.1, 9.2)
Mon 17 Nov D11  TBA
Tue 18 Nov L22  Graphs (9.3-9.5)
Thu 20 Nov L23  Searching a Graph (9.6)
Mon 24 Nov D12  TBA
Tue 25 Nov L24  Sorting Algorithms (10.1-10.3)
Thu 27 Nov ---  NO CLASS (Thanksgiving Holiday)
Mon 01 Dec D13  Course Evaluations 
Tue 02 Dec L25  More Sorting, Searching, and Selecting (10.4, 10.5)
Thu 04 Dec L26  Hashing (10.6)

FINAL EXAM (cumulative) Thu 11 Dec, 3:30-5:30 p.m., Marcus 131

Last modified 12 October 2014