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 27 (Th) About the course (Notes) 1  
September 1 (T) Objects and classes; a little about Java basics (Notes) 2  
September 3 (Th) Java basics, continued (Notes) 3.1-3.7  
September 8 (T) Inheritance in Java (Notes) 3.8-3.9  
September 10 (Th) No class    
September 15 (T) Inner classes; generics; enumerations (Notes) 3.10-3.12 Homework 1 (design)
September 17 (Th) Exceptions (Notes) 3.13-3.16  
September 22 (T) Strings and arrays (Notes) 4-5 Quiz 1; Homework 1 (code)
September 24 (Th) Sorting, searching, and manipulating arrays (Notes) 6 Homework 2 (design)
September 29 (T) No class    
October 1 (Th) No class    
October 6 (T) Sorting and searching, continued (Notes)   Quiz 2; Homework 2 (code)
October 8 (Th) Array-based stacks and queues (Notes) 9  
October 13 (T) Linked lists (Notes) 10 Homework 3 (design)
October 15 (Th) Midterm exam (Review in HTML, PDF)    
October 20 (T) Iterators (Notes) 11 Homework 3 (code)
October 22 (Th) List-based stacks and queues; priority queues (Notes) 13-14 Homework 4 (design)
October 27 (T) GUIs in Java (Notes) 7 Quiz 3; Homework 4 (code)
October 29 (Th) Multithreading (Notes) 8 Homework 5 (design)
November 3 (T) No class    
November 5 (Th) More about GUIs (Notes)   Quiz 4; Homework 5 (code)
November 10 (T) Graphics in Java (Jotes) 12 Homework 6 (design)
November 12 (Th) Recursion (Notes) 16  
November 17 (T) No class    
November 19 (Th) Trees; binary search trees; heaps (Notes) 17, 18, 23; also the Wikipedia articles on binary search trees and heaps Homework 6 (code)
November 24 (T) Tree-based data structures, continued; command-line arguments (Notes)   Quiz 5
November 26 (Th) Holiday    
December 1 (T) Files and I/O (Notes) 20 Homework 7 (design)
December 3 (Th) Networking and sockets in Java; RMI (Notes) 21 Quiz 6
December 8 (T) Course wrap-up and evaluations (Notes)   Homework 7 (code)
December 16 (W), 8:30am Final exam (Review in HTML, PDF)   Homework 8 (design and code)