CSC 241 -- OUTLINE

Mohammadi

Spring 1997

I.   Software life cycle.
     OOD and TDD.         
     Revisit classes/objects/packages in Java.
     Learn about pre/post conditions.                       
     Discuss exception handling.
     Learn to develop test case.

II.  Develop simple java applets along with HTML files that run them.
     Extend existing class to create displayable objects for applets.

III. Discuss the stack and queue data structures.
     Implement an integer stack with an array.
     Discuss some applications.
     Begin discussion on algorithm efficiency.

IV.  Inheritance                     
     Discuss a class hierarchy for queues.  
     Show an abstract class for a queue.
     Discuss dynamic space allocation with variations of linked lists, 
     single, double, and circular kinds.
     Show an array and a linked list implementation of the abstract Queue.
     Use stacks and queues in applets.

V.   Recursion.

VI.  Introduce algorithm analysis and the big-O notation.
     Learn more about O(n^2) and O(n log n) sorting techniques and compare 
     them analytically and empirically.   
     See a graphic illustration in Java.

VII. Consider a list class.
     Continue discussion on algorithm efficiency.
     Use of lists in applications.
     Check out some of the neat classes in Java.         
     More on applets.

VIII.Discuss binary trees.
     Show their implementation and application.
     Evaluate their efficiency in searching and updates.

IX.  Discuss Hash tables.
     Discuss interfaces in Java.
     Develop a keyed interface.
     Implement as hash table and binary search tree.  
     Show applications.