Undergraduate Academic Program
You can find complete instructions in this guide.
See the “Degree Certification” tab in the Undergraduate Advising Manual.
Other departments will ask to put their courses in the computer science semester listings to attract students, but this does not necessarily mean they can be used for computer science credit. For details, please click here.
A faculty sponsor affiliated with the department must agree to supervise your work (i.e., someone who has a section number for the relevant course). They will determine how many credits will be given for the proposed work (1–3) and will grade your work at the end. For more information, please see our Research Opportunities page.
AP Statistics credits are equivalent to 550.111 Statistical Analysis I. As such, they may be used towards the BA math credit requirements, but not the BS math credits. (The BS math credits must be 200-level or above, beyond the required core courses.) However, AP Statistics may partially fulfill the probability and statistics requirement for the BS. A probability course will still be necessary.
The BS requirement for both probability and statistics can be satisfied a number of ways. For students planning to take Machine Learning or other reasoning courses, it is strongly recommended that you take 553.420 Intro Probability and 553.430 Intro Statistics (or the honors versions).
Otherwise, any combined prob/stat course may be used, but 553.310 Prob/Stat for Physical Sciences & Engineering or 553.311 Prob/Stat for Biological Sciences & Engineering are strongly recommended.
Lastly, 553.211 Prob/Stat for Life Sciences counts toward the requirement, but is not necessarily included in the pre-req lists of all CS courses.
Students are expected to take an introductory programming course (currently 500.112 Gateway Computing: Java or CS Exam “A” AP credit), followed by 601.220 Intermediate Programming and then 601.226 Data Structures. Intermediate Programming and Data Structures are not strictly sequenced, which means you can take them in the opposite order; however, you should avoid taking them simultaneously, as they are both very programming-intensive.
If you do not have formal credit for the required introductory programming course and instead went straight into Intermediate Programming, you have two options:
- Take a Bootcamp course (EN.500.132, EN.500.133, EN.500.134) to meet the proficiency requirement. This will require explicit approval to enroll without AP credit and will only earn you 1 S/U credit toward your CS requirements. You will still need to make up the other 2 credits to meet the 40/33 (BS/BA) CS credits total.
- Document that the course requirement was waived for you. You will still need to take another CS course(s) for a total of 3 credits to meet the 40/33 (BS/BA) CS credits total. You must document the requirement waiver using this pre-filled formal exception form as follows:
- Download the form, add your personal information, and sign where it says “Student Signature.”
- Send the form to your CS major advisor for their signature.
- Send the completed form to advising@cs.jhu.edu for final departmental approval. The form will be kept for our records.
See the Office of the Registrar’s website for this and related information.
They do count toward your basic science required credits.
Yes. Each Physics AP exam includes only that associated lab. For Physics and Biology, using AP credits will give you fewer total credits than if you take separate lecture and lab courses at JHU, so make sure you are still meeting the total science credit requirement.
If there is sufficient evidence of your proficiency, you do not. This may include completing an intermediate or higher-level foreign language course, at least 6 AP language credits, or a letter of proficiency from a JHU language department.