CS 427: Object-Oriented Programming