UPenn CIS-191 Homework 4