Assignment 1 for computing software construction.