Course material for CSC 275