Questions about undergraduate academic programs? Contact advising@cs.jhu.edu.
Undergraduate Advising
Academic resources, policies and procedures, and opportunities.
The Department of Computer Science offers three types of undergraduate programs. For those who intend to pursue a mainstream career in computer science, we recommend the Bachelor of Science degree, which is accredited by the Computing Accreditation Commission of ABET. Students who entered JHU prior to 2025 may choose a Bachelor of Arts program option. Students in other majors may also choose to complete a Minor in computer science. This advising manual applies to students in these programs. For specific major program degree requirements, please see below. CS Minor program requirements can be found here.
Students interested in focusing their CS studies in particular areas of strength may do so, but it is not required. See this document for information on course groupings for selected research and career directions: Robotics, Natural Language Processing, Systems & Networking, Fundamentals of Computing, Big Data, Information Security, Computational Biology, Software Engineering & Entrepreneurship.
There are several other closely related degree options that might interest you; however, they are not addressed in this manual. The Department of Computer Science and the Department of Electrical and Computer Engineering jointly offer a bachelor’s degree in Computer Engineering. There is also a minor in Computer-Integrated Surgery managed by the Engineering Research Center for Computer-Integrated Surgical Systems and Technology and a minor in Robotics offered through the Laboratory for Computational Sensing and Robotics (LCSR). We also encourage you to learn about the Department of Computer Science and the Information Security Institute‘s Master’s in Information Security (MSSI) program, the Master’s in Data Science, and the LCSR’s MSE in Robotics. These master’s programs are distinct from the department’s MSE and PhD programs in computer science. General information on the combined BS/MSE program can be found here.
The first step toward declaring a first or second major or a minor in computer science is submitting a form through SIS. You can do so by logging into SIS and choosing “Registration” > “Online Forms” > “Add Major/Minor.” You will then need to prepare a completion plan for the program, and meet with a departmental staff member for review and approval. Detailed instructions along with office hours and locations are available on this website. You also can email the CS advising team.
All CS majors will be assigned a WSE Academic Advisor upon declaration approval. They will be your primary resource for degree requirements and course registration, as well as all school-wide policies and opportunities, transfer and study abroad approvals, and special help and support for academic struggles. We strongly advise all students to register with the Life Design Lab as early as possible to learn about upcoming events and receive counseling related to events, career goals, internships, and job opportunities.
Within the Computer Science Department, there is an undergraduate team consisting of the Director of Undergraduate Studies and Senior Academic Program Coordinators who can provide guidance on degree requirements, student groups, and other departmental matters. Their office hours and locations are available on this website and you can reach them collectively with this CS advising team email.
CS first majors are all assigned a CS faculty member as a mentor. It is your responsibility to schedule a meeting with your mentor at least once a semester to discuss your general well-being, academic progress, and career interests, including research opportunities and graduate school options. Please keep in mind that our faculty do travel for conferences and other activities, so you should try to schedule meetings at least one week in advance. 2nd majors and minors should reach out to Joanne Selinski or Sara More for discipline-specific guidance.
Students are expected to follow the degree requirements that are in effect at the time they matriculate at JHU. However, students also have the option to instead satisfy requirements that go into effect after they matriculate. Whichever option you choose, it is imperative that you follow only that one complete set of requirements and do not “mix and match” from different years. Students should consult with their advisor about their program of study, but ultimately it is each student’s responsibility (not the advisor’s) to make sure that they meet all degree requirements. Under special circumstances, a student may request a waiver for or substitution of a departmental requirement, which will require several approvals and documentation.
CS majors must keep track of their degree progress using a departmental worksheet. You can access sample worksheets for general studies in CS or several customized versions in the first section of this page. Majors should share updated copies of this worksheet with their advisor prior to each semester’s advising meeting, as well as whenever registration changes are made. All students are required to submit a Graduation Application Form through SIS when registering for their last semester, listing all degrees and programs they expect to complete. Majors also are required to complete a departmental Senior Exit Survey distributed via email.
Note that the First-Year Seminar and Foundational Abilities requirements listed below only apply to first majors in CS. All others must follow the relevant requirements from their first major/school instead. See this catalogue policy for more details.
The CS IT team provides two computer labs for its undergraduates, located in Malone 122 and G61. Malone 122 is a large collaboration room with conference tables meant for laptop use, as well as several smaller breakout rooms for team meetings and study. Malone G61 provides a quiet environment with individual workstations. Students have 24/7 secure access to the labs through their J-Cards once validated. (This also includes your undergraduate Unix server account—see below.) Additional computing facilities are available on the Homewood campus, including general-purpose computing labs and the Digital Media Center.
All CS students are eligible to receive accounts to access the department’s undergraduate Linux server. In order to gain access, you must submit an Account Request Form, which generally takes a few days to process. You will need to bring your J-Card to Steve DeBlasio (in G61A between 12:30 and 2:30 p.m. most days) to get your login and password information and set up access to the computer lab and building.
The Linux server includes software you will use in many of your courses and your CS email. The department maintains several mailing lists for communicating with students. Make sure that the support staff and the Director of Undergraduate Studies have your preferred email address. If you are not going to use your CS account for email, you should set up an automatic forward to your email of choice. Please consult the CS IT Support Wiki to learn how to perform these common tasks. If you have questions or problems regarding the CS computing facilities at any point, please email support@cs.jhu.edu and be as specific as possible regarding the problem.
Students will receive the Honors with Thesis designation only if the faculty vote to accept their thesis after successful completion of the steps outlined below. (Note: General departmental honors are awarded to all graduating majors who earn a GPA of 3.5 or above in their computer science courses.)
Requirements:
- Students must be computer science majors with at least a 3.5 GPA in CS courses after the spring of their third year.
- Students must submit a thesis proposal in the spring of their third year to the faculty member with whom they intend to work. Proposals must have signed faculty acceptances before thesis course registration; copies will be held by the department administrator.
- Students must sign up for two 3-credit courses (601.519-520) while doing thesis work, one per semester.
- Progress checkpoints will be administered by individual faculty supervisors.
- A first draft of the written thesis must be completed by May 1.
- An oral presentation of the thesis work, open to all, must be held before the spring semester exam period.
- A subcommittee of CS faculty will decide whether to accept each thesis for honors (i.e., successful completion of the agreed-upon work does guarantee credits, but does not guarantee the Honors with Thesis designation).
- A final written thesis must be submitted to the department by May 15.
- BS students may count at most 3 additional independent-type credits toward their CS credit requirements. (BA students can only count 6 total independent credits, including their senior thesis.)
- If a student would like to submit their thesis to the MSE Library (not required), their thesis advisor or department will pay for the binding.
See our research areas to explore opportunities within the department and their associated faculty members.
Please click here to learn more.
Information about the combined bachelor’s/master’s program can be found here.
Major Degree Requirements—Effective Fall 2025
Requirements for the BS in the Department of Computer Science for students entering in Fall 2025 and beyond can be found below. Students who entered in Fall 2021 through Spring 2025 should see this alternate page for prior degree requirements. All students should also consult the official Academic Catalogue for their entering year for more explicit requirement details. Some of the computer science, math, and basic science requirements overlap with university-wide Foundational Abilities course requirements, as noted by the [FA#] designation below.
Required Courses
- Ethics [FA5]—choose one of:
- 601.104 Computer Ethics (1)
- 601.124 Ethics of Artificial Intelligence & Automation (3)
- 601.164 Human and Machine Intelligence Alignment (3)
- 500.112/113/114 Gateway Computing [C+ or better grade] or AP Computer Science A exam credit (3)
- 601.220 Intermediate Programming (4) [FA2]
- 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, not CS or math)
- 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, 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, 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 POS tags in SIS: CSCI-APPL, CSCI-RSNG, CSCI-SOFT, CSCI-SYST.
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 [Spring 2025]
- 601.290 User Interfaces & Mobile Apps
- 601.411 CSIE II
- 601.421 Object Oriented Software Engineering
- 601.423 AI-Enabled 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 Human-Computer Interaction
- 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)
Additional rules regarding the CS course requirements:
- At most 3 credits of customized academic learning (CAL)—courses numbered 601.5xx—may be counted towards the upper-level course requirement and at most 6 CAL credits may count towards the CS total. However, students doing the Senior Honors Thesis (601.519-520) may use an additional 3 credits of independent work toward their CS requirements.
- 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.
- 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.
- 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 earning at least a C- grade in each:
- 110.108/106 Calculus I or AP equivalent (4) [FA2]
- 110.109/107 Calculus II or AP equivalent (4) [FA2]
- Probability and Statistics Course(s) (4-8) [FA2]
- One Combined Course Option: 553.211/311 (4) — OR —
- Two Separate Courses Option:
- Probability 553.420/421 (4) — AND —
- Statistics: 553.430/431 (4) or 553.413 (4) or 553.111 (does not count towards math credit requirements)
The total math credits must be at least 16; these courses must 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.) All math courses other than Calculus I and Calculus II must be 200-level or above. Some highly recommended math electives are Linear Algebra, Calculus III, and 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 must be taken for a grade; students must earn at least C- grades in one semester in order to fulfill an FA2 requirement. 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.
All WSE primary majors are required to complete a First-Year Seminar or a Design Cornerstone class with a grade of Satisfactory (S). The first-year seminar requirement is waived for students who transfer into the university after the first year. These students must still complete the minimum number of required credits to graduate.
In addition to the FA requirements noted in the categories above, students whose primary major is in WSE must take courses to satisfy Foundational Abilities in communications (FA1), creative expression (FA3) and engagement with society (FA4) as follows, earning at least a C- grade in each:
- [FA1.1] AS.004.101 Reintroduction to Writing or EN.661.110 Professional Writing and Ethics (3)
- [FA1.2] EN.661.250 Oral Presentations (3)
- [FA3] A course with EN Foundational Ability tag FA3 (3)
- [FA4] A course with EN Foundational Ability tag FA4 (3)
- [FA3/4] 6 more credits from courses with EN tag FA3 or EN tag FA4 (6)
Students with a primary major in WSE must also satisfy requirements to include artifacts in their ePortfolio that have been graded as “proficient” or better in each of four areas. It is the student’s responsibility to request evaluation of their work for ePortfolio designated assignments and upload artifacts assessed as proficient or better to their ePortfolio to meet these requirements. Courses that provide an opportunity for ePortfolio assignments will be designated by the following WSE course tags:
- EN FA1.1eP – Writing (1 artifact)
- EN FA1.2eP – Oral Communication (1 artifact)
- EN FA5eP – Ethical Reflection (1 artifact)
- EN FA6eP – Conceiving of and Realizing Projects (2 artifacts)
The total number of credits required for the BS 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, leaving room for many electives. Except for pure electives and where noted above, courses should not be taken on an S/U basis.