CSC 412/2506 midterm