Reading assignments are from Lewis and Chase, Java Software Structures, third edition.
Lecture meetings are Mondays, Wednesdays, and Fridays 1:25-2:15 in Hasbrouck 134, and discussion meetings are either 9:05-9:55 (section 2) or 10:10-11:00 (section 1) on Wednesdays, both in ELAB 323. Discussion attendance is required and will form a small portion of the final grade.
This is a course under construction! The syllabus may change as the term progresses. In particular, the discussion period activities are not yet finally decided.
PART I: Overview, Collections, and Stacks Wed 07 Sep --- NO DISCUSSION Wed 07 Sep L01 Course Overview Fri 09 Sep L02 Java Overview, Primitive Java (App. B, as needed) Mon 12 Sep L03 Software Engineering Overview (1.1) Wed 14 Sep D01 Playing With Stacks Wed 14 Sep L04 Data Structures Overview (1.2) Fri 16 Sep L05 Analysis Overview (2) Mon 19 Sep L06 Collections and Abstract Stacks (3.1, 3.2) (END OF ADD/DROP) Wed 21 Sep D02 A Jukebox With Two Stacks Wed 21 Sep L07 Java:Inheritance and Class Hierarchies (3.3) Fri 23 Sep L08 Java: Polymorphism, Generics, Exceptions (3.3, 3.6) Mon 26 Sep L09 The Evaluator Example (3.4-3.6) Wed 28 Sep D03 Playing With the Evaluator Wed 28 Sep --- Optional Review Session for Exam 1 Thu 29 Sep X01 Midterm Exam #1, 7-9 p.m., room TBA PART II: Stacks, Queues, and Implementations Fri 30 Sep L10 The ArrayStack Class (3.7, 3.8) Mon 03 Oct L11 Linked Lists (4.1, 4.2) Wed 05 Oct D04 Hacking Linked Lists Wed 05 Oct L12 Implementing Stacks With Lists (4.3, 4.4) Fri 07 Oct L13 Stacks as in Collections (4.6) Mon 10 Oct --- NO CLASS (Columbus Day Holiday) Tue 11 Oct L14 (MONDAY SCHEDULE) The Queue ADT, Breadth-First Search (5.1) Wed 12 Oct D05 Double-Ended Queues Wed 12 Oct L15 Implementing Queues (5.4, 5.5) Fri 14 Oct L16 Two Queue Applications (5.2, 5.3) Mon 17 Oct --- Optional Review for Midterm #2 Tue 18 Oct X02 Midterm Exam #2, 7-9 p.m., room TBA PART III: Lists, Recursion, Sorting, and Searching Wed 19 Oct D06 Coding Double-Ended Queues Wed 19 Oct L17 The List ADT (6.1) Thu 20 Oct --- MID-SEMESTER DATE (last chance to W-drop or P/F) Fri 21 Oct L18 List Examples (6.2, 6.3) Mon 24 Oct L19 Implementing Lists With Arrays (6.4) Wed 26 Oct D07 Ordered Lists With Holes Wed 26 Oct L20 Implementing Linked Lists (6.5) Fri 28 Oct L21 Lists as in Collections (6.6) Mon 31 Oct --- NO CLASS -- Power Failure Wed 02 Nov D08 Computing Fibonacci Numbers Wed 02 Nov L22 Recursive Thinking and Programming (7.1, 7.2) Fri 04 Nov L23 Using and Analyzing Recursion (7.3, 7.4) Mon 07 Nov L24 Linear and Binary Searching (8.1) Wed 09 Nov D09 The Sorting Lower Bound Wed 09 Nov L25 Some Sorting Algorithms (8.2) Fri 11 Nov --- NO CLASS (Veteran's Day Holiday) Mon 14 Nov --- Optional Review for Exam #3 Mon 14 Nov X03 Midterm Exam #3, 7-9 p.m., room TBA PART IV: Additional Data Structures Wed 16 Nov --- (FRIDAY SCHEDULE) NO DISCUSSION Wed 16 Nov L26 Trees and their Implementation (9.1, 9.2. 9.6, 9.7) Fri 18 Nov L27 Expression Trees (9.4, 9.5) Mon 21 Nov L28 Binary Search Trees (10.1, 10.2, 10.3) Wed 23 Nov D10 Tree Traversals (9.3) Wed 23 Nov L29 Using Binary Search Trees (10.4) Fri 25 Nov --- NO CLASS (Thanksgiving Holiday) Mon 28 Nov L30 Defining and Implementing Heaps (11.1, 11.3, 11.4) Wed 30 Nov D11 Shortest Paths in a Maze Wed 30 Nov L31 Using Heaps: Priority Queues, Heapsort (11.2, 11.5) Fri 02 Dec L32 Hashing (14.1, 14.2 (part), 14.3) Mon 05 Dec L33 Hashing in Collections (14.5) Wed 07 Dec D12 Course Evaluations (University's and Mine) Wed 07 Dec L34 Set Collections (15.1, 15.3) Fri 09 Dec L35 Maps in Java (15.5) FINAL EXAM (cumulative) Tuesday 13 December, 1:30-3:30, ECSC 119
Last modified 1 November 2011