Study Guide - 810:053 Java OOP

  1. Study chapters 1, 4 and 10 from Budd. Questions from the readings in those chapters will be fair game. Other chapters you can reread or refer to only when needed to help you better understand the lectures and examples and assignments we did.

  2. Know the Iterator pattern. How do you create one in Java? What are the methods it uses? How does it help you remember and understand StringTokenizer class and methods better?

  3. Know how to do all the basics with the StringTokenizer class. See #1 above. Know how to include special characters, such as the double quote, as one of the list of separators.

  4. Know the Adapter pattern. Be able to implement an Adapter pattern. Be knowledgeable about WHEN you would use an Adapter pattern, and recognize the situation that calls for this pattern. Use the electrical outlet analogy to understand the Adapter pattern intuitively.

  5. Be able to write a simple class from scratch, like our last quiz, for example. Be able to do this on the first part of the final exam, when you do NOT have access to part 2 of the exam and cannot see any Java syntax. The 2nd portion of the exam will include existing classes that you have to modify or extend and inherit from. So, be able to take a portion of the exam without having access to any Java code or class examples.

  6. Know the Decorator pattern and how to use it. What are its advantages? Be able to do the tasks with it such as we did in class as group exercises so well you don't have to think about it or look at any notes whatsoever. Simulate test or job interview conditions when you study.

  7. Know how to apply and implment a TEMPLATE pattern.

  8. Know how to apply and implment a STRATEGY pattern. Shakespeare plays and words that startWith a certain character, that have a certain length, that have palindrome feature.

  9. Review the lecture notes and the Java code examples. Don't study with the narrow focus on just this study guide. Use the examples and concepts from one lecture or day to throw light on other days and lectures and concepts from the class.

  10. Know the preincrement, postincrement and conditional operators. Basically, learn some Java.

  11. Know every example in the class that used Vectors. Be able to write some code that requires a Vector.

  12. Study the Ball class and all the classes that extended it and its subclasses. Study the DeceleratingBall and the ExpandingBall classes. MovableBall, CannonBall.

  13. Interfaces in Java.

  14. Study the PinBall game techniques and classes.

  15. Study the Object Recursion pattern that was used with binary trees. How was it done? What Java language features did it utilize to simplify the code?