CSC 241 -- OUTLINE

Mohammadi

Summer 1996

                                                      Classes          Reading
                                                      -------          -------

I.  Software life cycle.                                   #1          C1,C2,
    OOD and TDD.                                                       T1,T2
    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         #2,#3        C3,T3,T4
    files that run them.
    Discuss the stack and queue data structures.
    Implement an integer stack with an array.
    Discuss some applications.
    Begin discussion on algorithm efficiency.

III.Recursion                                           #4         ????

IV. Encapsulation+Inheritance                           #5,#6      ????
    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.

V.  Introduce algorithm analysis and the big-O          #7        C6,T7,T8
    notation.
    Learn more about O(n2)) and O(n log n)
    sorting techniques and compare them analytically 
    and empirically.  
    See a graphic illustration in Java.

VI. Check out a list class                              #8         C4,C5
    Continue discussion on algorithm efficiency.
    Use of lists in applications.
    Check out some of the neat classes in Java.       
    More on applets.
    (Note: Only lab+exam on July 24th, no lecture)

VII.Discuss binary trees.                               #9          C7
    Show their implementation and application.
    Evaluate their efficiency in searching and
    updates.


VII.Discuss Hash tables .                               #10          
    Discuss interfaces.
    Develop a keyed interface.
    Implement as hash table and binary search tree. 
    Show applications.


T--The Java Programming Language
C--Concepts in Data Structures and Software Development

Examples for correct interpretation of the Reading column:
C1--means chapter 1 of Con. in Data ... book
T3--means chapter 3 of The Java ... book