Study Guide for CS 303E Test 3 (Fall 2006) The focus of Test 3 will be on object oriented programming concepts and the development of algorithms. Here are some specific topics that you will be tested on: * Definition of terms in OOP: abstraction, encapsulation, information hiding, inheritance, polymorphism * Explanation of terms like: static, final, abstract, overriding, overloading, hiding, runtime binding * UML diagram to illustrate inheritance hierarchy * Write code to set up an inheritance hierarchy. Study programming assignment 10. * Explain and illustrate polymorphism through inheritance and polymorphism through interfaces. * Given pieces of code involving objects decide whether they are legal or not and explain why. * Given a method you should be able to determine its output for a given input parameter. The method could be recursive or non-recursive. * Write a method given the specifications. Study the array programming problems given in Study Guide 2. * Given a set of pre-defined methods, write code using them. * Extra Credit: You will be given an algorithm in English and you will have to write the code in Java. There will be no surprises in the test. It will be strictly based on the topics mentioned in this study guide. The best way to prepare yourself for the test is to write short programs that fulfill the requirements of the bulleted items.