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

   
Date Topics Reading Due dates and quizzes
August 29 About the course    
September 3 Objects; classes; UML 0, 1  
September 5 Java basics 2, 3, 5, 6 Homework 1 (design)
September 10 Java basics, continued; inheritance in Java 4.5 Homework 1 (code)  
September 12 Inheritance and polymorphism    
September 17 String processing 7 Quiz 1
September 19 Arrays 8 Homework 2 (design)
September 24 Arrays, continued   Homework 2 (code)
September 26 Arrays, continued   Quiz 2
October 1 Arrays, continued   Homework 3 (design)
October 3 Stacks and queues (using arrays) 16.1, 16.2 Homework 3 (code)
October 8 Stacks and queues, continued; linked lists   Quiz 3
October 10 Linked lists, continued   Homework 4 (design)
October 15 GUIs in Java 9 Homework 4 (code)
October 17 Midterm exam (Review)    
October 22 GUIs in Java, continued    
October 24 Stacks, queues, and priority queues (using linked lists) 16.3, 16.4  
October 29 Exceptions 11 Homework 5 (design)
October 31 Graphics in Java 10 Quiz 4; Homework 5 (code)
November 5 Graphics in Java, continued   Homework 6 (design)
November 7 Recursion 12  
November 12 Recursion, continued   Homework 6 (code)
November 14 Binary trees   Quiz 5
November 19 Heap-based priority queues    
November 21 Threads 13 Homework 7 (design)
November 26 Threads, continued; files and streams 14 Homework 7 (code)
December 3 Files and streams, continued   Quiz 6
December 5 Files and streams, continued; sockets and networking 15 Homework 8 (design -- really due December 6)
December 10 Sockets and networking, continued; course wrap-up    
       
December 14 (2pm) Final exam (Review)   Homework 8 (code -- really due December 16)