10-152-313 - Object-Oriented Programming 3

Oral Final

The oral final will consist of a one-on-one, 25-30 minute discussion in which I will assess your knowledge of object-oriented programming. The exam will take place in the A113 area of the Wausau campus. Dress professionally (business casual or better), arrive 5 minutes before your scheduled appointment, and wait in the A113 lobby. If you are in one of the regional campuses, your attendance in Wausau is optional, but preferred, as it may be easier in a face-to-face format (and it would be nice to meet you/see you again). Please let me know if you wish for me to connect with you by phone or Adobe Connect instead.

Select a time slot for your individual final using this Doodle poll. Sign up early for the best selection of a time slot, as it is "first-come, first serve".

Be prepared to answer the following questions, of which I will choose several to discuss with you:

  1. Justify the object-oriented design principle, favor composition over inheritance" by identifying several potential limitations of over-using inheritance.
  2. Which of the object-oriented basics (inheritance, polymorphism, encapsulation, abstraction) does an n-tier architecture best achieve? Explain.
  3. Define and explain the Single Responsibility Principle.
  4. Define and explain the Open-Closed Principle.
  5. Define and explain the Dependency Inversion Principle.
  6. Define polymorphism and explain how both inheritance and interfaces can be used to achieve it.
  7. Explain the purpose of attributes.
  8. Describe reflection. Be prepared to give an outline/pseudo code of how might you use it to programmatically generate a document of all classes and their members within an assembly.
  9. Which design pattern(s) are incorporated in the MVC architecture? Explain.
  10. Be prepared to identify errors in C# code relating to inheritance, interfaces, fields, properties, constructors, and methods.

You may use any means of researching/preparing for this exam, including discussing it with your classmates. Study groups are welcome and supported! You can bring one sheet of notes with you to the final, but since the final is intended to measure your understanding of concepts rather than memorization, you may find that notes are not needed. If you do bring notes, please submit them here at least 24 hours in advance of your final. Keep in mind that you will not have time to thoroughly read from them during the final, so be sure they are concise and easy to reference quickly. While not required, submitting well-researched notes can you in aid me in better assessing your knowledge level.