CSE 331: Software Design and Implementation (taught by Michael Ernst)