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

Date Topics Reading Due dates and quizzes
January 17 About the course    
January 22 Object, classes, and UML 0, 1  
January 24 Java basics 2, 3, 5, 6  
January 27 Java basics, continued; inheritance and polymorphism in Java 4.5  
January 29 Java basics, inheritance, and polymorphism, continued   Homework 1 (design)
January 31 Java basics, inheritance, and polymorphism, continued   Homework 1 (code)
February 3 Java basics, continued; string processing 7  
February 5 String processing, continued; arrays 8 Quiz 1
February 7 Arrays, continued    
February 10 Sorting and searching arrays    
February 12 Discussion of homework project   Homework 2 (design)
February 14 Sorting and searching arrays, continued   Homework 2 (code)
February 17 No class    
February 19 Sorting and searching arrays, continued    
February 21 Array-based stacks and queues   Quiz 2
February 24 Array-based stacks and queues, continued; linked lists 16.1, 16.2  
February 26 Linked lists and iterators   Quiz 3
February 28 Linked lists and iterators, continued   Homework 3 (design)
March 3 Linked lists and iterators, continued; GUIs in Java 9 Homework 3 (code)
March 5 Midterm exam (Review)    
March 7 GUIs in Java, continued    
March 17 No class    
March 19 Stacks and queues using linked lists; priority queues 16.3, 16.4 Homework 4 (design, really due 3/20)
March 21 GUIs in Java, continued   Homework 4 (code)
March 24 GUIs in Java, continued    
March 26 Exceptions in Java 11 Quiz 4
March 28 Graphics in Java 10  
March 31 Graphics in Java, continued   Homework 5 (design)
April 2 Graphics in Java, continued 12 Homework 5 (code)
April 4 Recursion    
April 7 Recursion, continued    
April 9 Recursion, continued; binary trees   Quiz 5
April 11 Binary trees, continued    
April 14 Binary trees, continued   Homework 6 (design)
April 16 Heap-based priority queues   Homework 6 (code)
April 21 Threads 13  
April 23 Files and streams 14 Quiz 6
April 25 Files and streams, continued    
April 28 Sockets and networking 15 Homework 7 (design)
April 30 Sockets and networking, continued   Homework 7 (code)
May 2 Course wrap-up    
May 7 (2pm) Final exam (section 4, MWF 11:30am) (Review)    
May 10 (2pm) Final exam (section 3, MWF 10:30am) (Review)    
May 12 (noon)     Homework 8 (design and code)