csc372 code