either a 200- or 300-level science or mathematics course (of at least 3 credit hours) that has CS 106 or CS 108 as a prerequisite; or a significant programming project in a 200- or 300-level science or mathematics course (of at least 3 credit hours) that does not require computation of all its students; or an approved interim.