The requirements for graduation are as follows:
(a) Admission to the Department and enrollment and attendance in courses for at least eight semesters.
(b) Successfully passing all core courses (see table 1 below). As shown in table 1, the core requirements include a Bachelor's thesis (see Bachelor's Thesis Requirement, section III.4).
(c) Successfully passing at least two courses from the "Other Sciences" group of electives (E1) (table 2 below). In the case of similar courses, grouped together in table 2 with an "or", only one course from each such set may count toward this requirement.
(d) Successfully passing at least seven courses from the group of Computer Science electives (E2) (see table 4 below), except CS-400. Up to two of these seven courses may alternatively be from the Graduate Program of the Computer Science Department, under the condition that these have at least 3 CCs each, and also under the enrollment restriction mentioned below.
(e) Successfully passing at least 158 course credits in total.
Notice that the core courses and the electives mentioned above correspond to fewer than 160 CCs in total. It is recommended that the remainder of the courses taken to satisfy the CC requirement be comprised of courses of economic, educational, legal, social, philosophical, historical, or other content.
It is also permissible for an undergraduate student to enroll in graduate courses offered by the Department, however only after prior consultation with and permission from the current instructor. The CCs of graduate courses that a student successfully passes count normally towards his/her total CC requirement.