Part of CS:2820, Object-Oriented Software Development, Fall 2015 by Douglas W. Jones THE UNIVERSITY OF IOWA Department of Computer Science