Reading assignments are from Dale, Joyce, and Weems, Object-Oriented Data Structures Using Java, third edition.
Lecture meetings are Mondays, Wednesdays, and Fridays 1:25-2:15 in Morrill I N375, and discussion meetings are either 9:05-9:55 (section 2), 10:10-11:00 (section 1), 11:15-12:05 (section 3), or 12:20-1:10 (section 4) on Wednesdays, all in LGRT 223. Discussion attendance is required and will form a small portion of the final grade.
PART I: Overview, Abstract Data Types, and Stacks Wed 05 Sep --- NO DISCUSSION Wed 05 Sep L01 Course Overview Fri 07 Sep L02 Software Engineering Overview (1.1) Mon 10 Sep L03 Java Overview, Primitive Java (1.2-1.4) Wed 12 Sep D01 Intro to Unix Wed 12 Sep L04 Data Structures Overview (1.5, 1.6) Fri 14 Sep L05 Analysis Overview (1.7) Mon 17 Sep L06 An Abstraction: StringLogs (2.1, 2.2) (END OF ADD/DROP) Wed 19 Sep D02 Throwing a Million Dice Wed 19 Sep L07 Array-Based StringLogs (2.3, 2.4) Fri 21 Sep L08 Linked StringLogs (2.5, 2.6) Mon 24 Sep L09 Case Study: A Trivia Game (2.7, 2.8) Wed 26 Sep D03 Sorting With Two Stacks Wed 26 Sep L10 Stacks in the Abstract (3.1-3.3) Fri 28 Sep L11 Array-Based Stacks (3.4, 3.5) Mon 01 Oct L12 Stacks and Expressions (3.5, 3.6) Wed 03 Oct D04 Infix and Postfix Expressions Wed 03 Oct L13 Linked Stacks (3.7) Fri 05 Oct L14 Case Study: A Postfix Evaluator (3.8) Mon 08 Oct --- NO CLASS (Columbus Day Holiday) Tue 09 Oct --- (MONDAY SCHEDULE) --- Optional Review Session for Exam #1 Tue 09 Oct X01 Midterm Exam #1, 7-9 p.m., Goessman 20 (A-L) and 64 (M-Z) PART II: Recursion, Queues, and Lists Wed 10 Oct D05 Hacking Linked Lists Wed 10 Oct L15 Thinking Recursively (4.1-4.4) Fri 12 Oct L16 Thinking About Recursion (4.5-4.7) Mon 15 Oct --- NO LECTURE (DAVE AWAY) Wed 17 Oct D06 Equality For Trees Wed 17 Oct L17 Queues (5.1, 5.2) (DAVE AWAY) Thu 18 Oct --- MID-SEMESTER DATE (last chance to W-drop or P/F) Fri 19 Oct L18 Array-Based Queues (5.3, 5.4) (DAVE AWAY) Mon 22 Oct L19 Linked Queues (5.5, 5.6) Wed 24 Oct D07 Using Double-Ended Queues Wed 24 Oct L20 Concurrency and a Case Study (5.7, 5.8) Fri 26 Oct L21 Array-Based Lists (6.1-6.4) Mon 29 Oct --- NO CLASS (WEATHER) Wed 31 Oct D08 Guessing A Number Wed 31 Oct L22 Binary Search (6.5, 6.6) Fri 02 Nov L23 Linked Lists (6.7) Mon 05 Nov L24/5 Files, More Kinds of Lists (6.8, 7.1-7.6) Wed 07 Nov D09 Implementing Double-Ended Queues Wed 07 Nov --- Optional review for Exam #2 Wed 07 Nov X02 Midterm Exam #2, 7-9 p.m., Marcus 131 PART III: Yet More Data Structures, Sorting and Searching Fri 09 Nov L26 (8.1-8.4) Binary Search Trees Mon 12 Nov --- NO CLASS (Veteran's Day Holiday) Wed 14 Nov --- (MONDAY SCHEDULE) NO DISCUSSION Wed 14 Nov L27 (MONDAY SCHEDULE) Implementing Binary Search Trees (8.5, 8.6) Fri 16 Nov L28 More on Binary Search Trees (8.7-8.9) Mon 19 Nov L29 Case Study: Word Frequencies (8.10) Wed 21 Nov D10 Finding Average Depth Wed 21 Nov L30 Heaps and Priority Queues (9.1, 9.2) Fri 23 Nov --- NO CLASS (Thanksgiving Holiday) Mon 26 Nov L31 Graphs (9.3-9.5) Wed 28 Nov D11 Decision Trees for Sorting Wed 28 Nov L32 Searching a Graph (9.6) Fri 30 Nov L33 Simple Sorting Algorithms (10.1, 10.2) Mon 03 Dec L34 Efficient Sorting Algorithms (10.3, 10.4) Wed 05 Dec D12 Course Evaluations (University's and Mine) Wed 05 Dec L35 Searching and Selecting (10.5) Fri 07 Dec L36 Hashing (10.6) FINAL EXAM (cumulative) Thursday 13 December 4-6 p.m., Marcus 131
Last modified 11 December 2012