Please see below for requirements for the BS and BA in the Department of Computer Science for students entering from Fall 2021 through Spring 2025. Please visit the Academic Catalogue archive for your entering class year for explicit requirement details. (Students entering in Fall 2025 and beyond should return to the previous page.)

Required Courses

  • Ethics (BS only)—choose one of:
    • 601.104 Computer Ethics (1)
    • 601.124 Ethics of Artificial Intelligence & Automation (3)
  • 500.112/113/114 Gateway Computing [C+ or better grade] or AP Computer Science A exam credit (3)
  • 601.220 Intermediate Programming (4)
  • 601.226 Data Structures (4)
  • 601.229 Computer System Fundamentals (3)
  • 601.230 Mathematical Foundations for Computer Science (4) or both of the following:
    • 553.171/172 Discrete Mathematics (4 credits count as pure elective)
    • 601.431 Theory of Computation (3) [or 601.231 Automata & Computation Theory equivalent]
  • 601.433 Algorithms (3)

The total number of CS credits must be at least 40 for the BS and 33 for the BA, including the required courses and upper-level courses (601.≥300). Students must take at least 12 upper-level CS credits in addition to the required Algorithms [Theory] course. Furthermore, BS students must have at least one upper-level course in two of these four different classification areas: Applications, Reasoning, Software, Systems. Upper-level CS courses are those numbered 601.3xx-601.7xx or courses with a CS area POS tag. An exhaustive list of the area classifications for each of our courses may be found here and are coded as these specific POS tags in SIS: CSCI-APPL, CSCI-RSNG, CSCI-SOFT, CSCI-SYST.

BS students must also take at least one Team-designated course, carrying POS tag CSCI-TEAM. This Team course may overlap with other course requirements; for example, it may count as both Team and upper-level or elective CS credit, according to the course number. Here is a current list of TEAM courses:

  • 601.257 Computer Graphics and 3D Game Programming [added Fall 2024]
  • 601.264 Practical Generative AI [added Spring 2025]
  • 601.290 User Interfaces & Mobile Apps
  • 601.411 CSIE II
  • 601.421 Object Oriented Software Engineering
  • 601.443 Security and Privacy [added Fall 2024]
  • 601.444 Medical Device Cybersecurity [added Spring 2025]
  • 601.447 Computational Genomics: Sequences
  • 601.452 Computational Biomedical Research
  • 601.453 Applications of Augmented Reality [added Spring 2023]
  • 601.486 ML: AI System Design & Development [added Fall 2023]
  • 601.490 Intro HCI
  • 601.496 CIS II – Teams (note that 601.456 CIS II is not approved for the Team designation; you must take 601.496 instead)
  • 580.437/438 Neuro/Biomedical Data Design (only counts as CS “Other” credit)

These additional rules regarding the CS course requirements apply to students in both the BS and BA programs:

  • The limits on total Customized Academic Learning (CAL) credits are 6 for the BS and 3 for the BA. However, students doing the Senior Honors Thesis (601.519-520) may use an additional 3 credits of independent work toward their CS requirements. For students entering Fall 2024 and beyond, at most 3 credits of CAL—courses numbered 601.5xx—may be counted towards the upper-level course requirement.
  • No courses with grades below C- or with S/U grades can be used to fulfill the CS course requirements unless the course cannot be taken for a letter grade. Furthermore, at most 4 S/U credits may be applied to the CS credit requirements, regardless of course type.
  • BS students may count up to 6 of the 40 required credits from an approved list of relevant “CS Other” courses in other departments, which includes some courses cross-listed in CS. These are coded with POS tag CSCI-OTHER in SIS.
  • 601.124 Ethics of AI & Automation and 601.164 Human & Machine Alignment may count as CS elective credits or H/S credits, but not both.
  • At most 3 credits of short courses (1-credit special topics courses) can be counted toward this requirement.

CS majors must take the following courses:

  • 110.108 Calculus I or AP equivalent (4)
  • 110.109 Calculus II or AP equivalent (4)

The total math credits must be at least 16 for both the BS and the BA; these courses should be taken for a grade. All courses in this category must be from one of the two math departments on campus: Mathematics or Applied Mathematics and Statistics. (Q-designated courses in other departments cannot be counted here.) For the BS, all remaining math courses must be 200-level or above. For the BA, at least one course must be 200-level or above.

Lastly, BS math courses must include coverage of both probability and statistics, which can be satisfied in many ways, including taking any of the 553.xxx combined Probability and Statistics courses. For BS students, AP Statistics credit covers the need for statistics but not probability, and may not be counted toward the math credit requirements.

Note that 553.171 Discrete Mathematics may not count towards the BS math requirements. Some highly recommended math electives are Linear Algebra, Probability, Mathematical Statistics, and Calculus III, as well as various analysis and algebra courses.

Students must take two semesters of core science courses (any combination of physics, chemistry, and biology) with the associated labs, totaling at least 8 credits. These courses should be taken for a grade. However, AP credit is an acceptable substitute for these courses and labs.

Students using AP Biology credit to meet this requirement will need to take two more science credits in order to reach the 8-credit minimum. These can come from any N-designated course except AS.250.205 Introduction to Computing and must be taken for a grade.

[For students entering JHU in Fall 2024 through Spring 2025.] As per school policy, all students are required to take either a 3-credit First-Year Seminar or the 2-credit course EN.501.124 First-Year Seminar: Design Cornerstone (WSE first majors only). Fulfillment of this requirement is dependent on your primary major.

The liberal arts requirements can be divided into three groups: H/S courses, writing courses, and foreign language.

  • Six courses, at least 3 credits each, in the humanities and social sciences must be taken. These courses must have either an H or S area designator, but can be from any department. For the BS degree, at most two of these courses may be taken S/U (if not counted towards the writing requirement). For the BA degree, at least two of these courses must be at the 300-level or above, and all must be taken for a grade.
  • The university requires writing (W) designated courses, each at least 3 credits and taken for a grade, for all degree programs. The school (WSE or KSAS) of your primary major and degree type dictates which requirement applies to you. WSE BS students must take at least two of these courses and BA first majors must take at least four. The courses used to satisfy this requirement may overlap with other categories, such as H/S credits (if designated as such) or electives. Students must receive at least a C- grade or better in these writing courses. At least one course with a primary focus on writing in English must be chosen. Courses that satisfy this requirement are: EN.661.110, EN.661.111, EN.661.250, EN.661.251, EN.661.306, EN.661.315, EN.661.355, AS.220.105/106/108, AS.180.248, AS.290.303, AS.360.133, AS.004.101. [Also no longer offered course Expository Writing (any version).]
  • BA students are required to demonstrate proficiency at the intermediate level or take at least 6 credits in one foreign language in addition to the six H/S required courses. BS students are not required to take a foreign language, but they may count foreign language courses toward electives (see below) or toward the H/S requirement above even if they don’t carry an H or S designator. However, students must still have at least six ≥3-credit courses to fulfill the H/S requirement.

Note: The H/S and writing requirements above apply to first majors only. Second majors must follow the related requirements of their first major instead. However, the foreign language requirement applies to all those following the CS BA path, whether as a first or second major.

The total number of credits required for the BS or BA degree is 120. By university policy, no more than 18 D or D+ credits can be counted toward the total credit requirements for a degree. The requirements above add up to 84–85 credits for the BS and 83–84 credits for the BA, leaving room for many electives. Except for pure electives and where noted above, courses should not be taken on an S/U basis.