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.

Date Topics Reading Due dates
January 15 (Th) No class    
January 20 (T) About the course (Notes) 1  
January 22 (Th) Objects and classes; a little about Java basics (Notes) 2  
January 27 (T) Java basics, continued (Notes) 3.1-3.7  
January 29 (Th) Inheritance in Java (Notes) 3.8-3.9  
February 3 (T) Inner classes; generics; enumerations (Notes) 3.10-3.12  
February 5 (Th) Exceptions (Notes) 3.13-3.16 Quiz 1; Homework 1 (design)
February 10 (T) No class    
February 12 (Th) No class    
February 17 (T) Strings and arrays (Notes) 4-5 Homework 1 (code)
February 19 (Th) Sorting, searching, and manipulating arrays (Notes) 6 Quiz 2; Homework 2 (design)
February 24 (T) Sorting and searching, continued; GUIs in Java (introduction) (Notes) 7 Homework 2 (code)
February 26 (Th) Multithreading (introduction) (Notes) 8  
March 3 (T) Midterm exam (Review in HTML, PDF)    
March 5 (Th) No class    
March 10 (T) Spring break    
March 12 (Th) Spring break    
March 17 (T) Array-based stacks and queues (Notes) 9 Homework 3 (design)
March 19 (Th) No class    
March 24 (T) Linked lists (Notes) 10 Homework 3 (code)
March 26 (Th) Iterators (Notes) 11 Quiz 3; Homework 4 (design)
March 31 (T) Graphics in Java (Notes) 12 Homework 4 (code)
April 2 (Th) List-based stacks and queues; priority queues (Notes) 13-14 Quiz 4
April 7 (T) No class    
April 9 (Th) No class   Homework 5 (design)
April 14 (T) Recursion (Notes) 16  
April 16 (Th) More recursion; trees (Notes) 17 Quiz 5; Homework 5 (code)
April 21 (T) Binary search trees; heaps (Notes) 18, 23 Homework 6 (design)
April 23 (Th) Files and I/O (Notes) 20 Quiz 6; Homework 6 (code)
April 28 (T) Networking and sockets in Java; RMI (Notes) 21 Homework 7 (design)
April 30 (Th) Course wrap-up and evaluations (Notes) 15, 19, 22 (skim) Homework 7 (code)
May 7 (Th), 8:30am Final exam (Review in HTML, PDF)    
May 11 (M)     Homework 8 (design and code)