CS558: Homework 1