|CS 635 Object-Oriented Design & Programming|
1. A table is a two dimensional array. We need the ability to access each element of the table and the ability to access individual rows and columns of the table. A labeled table is a table in which the elements of the table can be accessed by strings. That is each row is given a string label, and each column is given a label. Then one can access the element in the third row in second column by using the labels for the given row and column. Provide a complete set of primitive methods for the public interface of a table and a labeled table class. Note the table and labeled table classes in the SDSU java library do not have a complete set of primitive methods. See http://www.eli.sdsu.edu/java-SDSU/sdsu.util.Table.html and http://www.eli.sdsu.edu/java-SDSU/sdsu.util.LabeledTable.html
2. We have a number of different data structures that are containers which support a find operation: arrays, hash tables, linked lists, binary search trees, sorted lists. Normally when we use such a data structure our program becomes coupled to the particular data structure. Explain how to decouple a program from the type of container used. Give an example. Provide the details of your example.
3. Discuss the type of cohesion found in math libraries. For example see the java math library at: http://www.sdsu.edu/doc/jdk1.1/docs/api/java.lang.Math.html. Is there a way to improve the cohesion?