CSE 312: Foundations of Computing II