This document contains solutions to exam problems related to recursion, induction, and object-oriented programming concepts in Java. It includes code for recursive methods to reverse a Word class, a proof of correctness for the reverse method using structural induction, code for Instrument, StringInstrument and PercussionInstrument classes in an inheritance hierarchy, and short answers explaining concepts like encapsulation, access modifiers, and abstract classes and methods.