Study Guide for CS 312 Test 3 (Spring 2013) Here are some specific topics that you will be tested on: * Use the algorithms discussed in class on Selection Sort, Sequential Search, Binary Search and Merging * Same set of problems from Study Guide 2 on 1-D and 2-D arrays * Same set of problems from Study Guide 2 on Strings and String Buffer * Recursion problems including permutations and combinations * Definition of terms in OOP: abstraction, encapsulation, information hiding, inheritance, polymorphism * Define a class having: - a list of attributes - default and non-default constructors - accessors - mutators - any other method that is called for * Work with arrays of objects, use objects from user-defined classes as input parameters to a method as well as the return type for a method * Explanation of terms like: static, final, abstract, overriding, overloading, hiding (shadowing), runtime (late) binding * UML diagram to illustrate inheritance hierarchy * Write code to set up an inheritance hierarchy. * 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 programming scenario be able to create a class or classes to represent that scenario. 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.