CS253 semester assignment