CIS307: Homeworks