cis580-textbook