Bachelor of Science Electives

While the curriculum carefully prescribes most CS courses, you have many choices for non-CS courses and for some CS tracks and electives. This page is intended to help you with those choices. Nonetheless, you must always consult with your advisor before finalizing any curriculum choices.

Math Requirements:
Take either the sequence Math 1220-1221-1232, or the sequence Math 1231-1232. All students must take 2 math courses not counting Math 1220, so if you take Math 1220, it will count for one of your unrestricted electives, while 1221 and 1232 will count towards the two math courses

Humanities and Social Science Electives:
The HSS course menu-prior to 2015 for students following curriculum years prior to 2015;  You should choose two humanities courses in the same field and one in a different field, and two social science courses in the same field and one in a different field, for a total of four fields.

The HSS course menu-2015 to 2017 for students following curriculum years between 2015/16 to 2016/17.  You should choose two humanities courses in the same field and one in a different field, and two social science courses in the same field and one in a different field, for a total of four fields. University-wide requirements pose additional constraints on which courses may be chosen. Some flexibility is possible here, if you are taking a minor (Secondary Field) program; see your advisor.  Note: you can satisfy the 2-course humanities selection with an introductory sequence in a foreign language (including American Sign Language) if this language is not your native language. (There is no restriction against taking advanced courses in your native language.)
the guidelines listed here for students following curriculum years 2017/18 onward.

Natural Science Requirements:
To meet the natural science requirements, choose three courses from Physics (PHYS) 1021 and 1022, Biology (BISC) 1115+1125 (formerly BISC 1111) and BISC 1116+1126 (formerly BISC 1112), and Chemistry (CHEM) 1111 and 1112. Two of your three courses must form a sequence in one of the science disciplines. Thus, for example, you could satisfy the requirements by taking BISC 1115+1125, BISC 1116+1126 and PHYS 1021.

Statistics Requirement:
Choose one from CSCI 4341, CSCI 3362 / 6362, ApSc 3115, or Stat 4157. Note that CSCI 4341 and CSCI 3362 / 6362 can count towards the Statistics Requirement or the Math/Science Elective (below) but not both.

Math or Science Elective:
In this category you choose one course in mathematics or natural science. If you choose math, here are some possibilities: ApSc 2113, CSCI 4341 or 4314, CSCI 3362 / 6362, EMSE 2705, Math 2233, or 3125, Phil 3121. If you choose science, you can take the second course in your second science above, or choose another natural science like astronomy, earth science, or forensic science.

CS Technical Track Electives:
To meet this requirement, select courses that meet one of the approved technical tracks. Please see your advisor for the current list of approved technical tracks.

Non-technical Track Electives:
Choose courses from the department's approved list of non-technical track courses. Please see your advisor for the current list of approved non-technical tracks.

Unrestricted Electives:
Unrestricted electives are intended to encourage students to explore further topics in computer science, pursue independent research or take courses in other departments. To take more CSCI courses, you may take any course numbered above 2461; research and independent study courses are limited to a total of two in the program and require documentation of output---such as papers, presentations, or software. For courses from other departments, you must obtain adviser approval.

As a guideline, we will approve courses from the HSS lists, and from those courses explicitly listed in non-technical track lists on the department website. You should not assume that any other non-CS courses will be approved without explicit documented approval from your adviser, even when such courses are required for a minor or have transferred through AP credit. 

In particular, note that a computer science course taught by another department will generally not count. Further, we will not allow courses that significantly overlap with---or are not as advanced as---the required content for the CS degree program. For example, we will not allow courses such as (but not limited to) the following: EMSE 4197; ISTM 3119, 4120, 4121, 4123; BADM 2301; STAT 1051, 1053, 1091, 1129. Finally, some courses may be approved for one student and not for another, based on other courses the student has taken. For example, if a student is using PHYS 1021 towards the science, math/science or unrestricted elective requirement, PHYS 1011 is not permitted, but it would be permitted for students who have not taken PHYS 1021. Finally, no courses, independent of which department they are from, will be allowed if they overlap significantly with any other course(s) used towards the computer science program.