CSCI 1321 (Principles of Algorithm Design II):
Lecture Topics and Assignments

The table below shows what we will be discussing in each class meeting, readings, dates of exams, and due dates for homeworks. Dates of exams are fixed; other items are subject to change. Readings are from Dr. Lewis's Object-Oriented Programming with Java unless otherwise indicated. Homework is due at 11:59pm on the date shown, unless otherwise indicated.

Date Topics Reading Due dates
August 26 (Th) About the course (Notes)    
August 31 (T) Objects and classes; a little about Java basics (Notes) 1, 2  
September 2 (Th) Java basics, continued (Notes) 3.1-3.7  
September 7 (T) Java basics, continued; inheritance in Java (Notes) 3.8-3.9  
September 9 (Th) Strings and arrays in Java (Notes) 4-5  
September 14 (T) Inner classes; generics; enumerations (Notes) 3.10-3.12  
September 16 (Th) Inheritance in Java, continued (Notes)   Quiz 1
September 21 (T) No class   Homework 1 (design)
September 23 (Th) No class    
September 28 (T) Exceptions (Notes) 3.13-3.16 Homework 1 (code)
September 30 (Th) Miscellaneous review (o-o concepts, strings, arrays) (Notes)   Quiz 2
October 5 (T) Sorting and searching (Notes) 6 Homework 2 (design)
October 7 (Th) Sorting and searching, continued (Notes)   Homework 2 (code)
October 12 (T) No class    
October 14 (Th) Array-based stacks and queues (Notes) 9 Quiz 3; Homework 3 (design)
October 19 (T) Linked lists and iterators (Notes) 10, 11 Homework 3 (code)  
October 21 (Th) Midterm exam (Review in HTML, PDF)    
October 26 (T) Linked lists and iterators, continued (Notes)   Homework 4 (design)
October 28 (Th) List-based stacks and queues; priority queues (Notes) 13,14 Homework 4 (code)
November 2 (T) No class    
November 4 (Th) GUIs in Java (Notes) 7 Homework 5 (design)
November 9 (T) Graphics in Java (Notes) 12 Quiz 4; Homework 5 (code)
November 11 (Th) Multithreading (Notes) 8  
November 16 (T) Recursion (Notes) 16 Homework 6 (design)
November 18 (Th) Trees; binary search trees (Notes) 17, 18; also the Wikipedia article on binary search trees Quiz 5; Homework 6 (code)
November 23 (T) Heaps (Notes) 23; also the Wikipedia article on heaps    
November 25 (Th) Holiday    
November 30 (T) No class    
December 2 (Th) Files and I/O; a little about networking and sockets in Java (Notes) 20, 21 Quiz 6; Homework 7 (design)
December 7 (T) More about networking and RMI in Java; course wrap-up and evaluations (Notes)   Homework 7 (code)
December 15 (W), 8:30am Final exam (Review in HTML, PDF)   Homework 8 (design and code)