Admission Requirements
Applicants (degree seeking and special student) must meet the general requirements for admission to graduate study. The applicant’s prior education must include the following prerequisites:
- Three semesters or five quarters of calculus, which includes multivariate calculus;
- One semester/term of advanced math (discrete mathematics is strongly preferred but linear algebra or differential equations will be accepted);
- One semester/term of Java or Python (C++ will be accepted but the student must be at least also somewhat knowledgeable in Java or Python);
Linear Algebra or Differential Equations will be accepted in lieu of Discrete Mathematics. A grade of B– or better must have been earned in each of the prerequisite courses. Applicants whose prior education does not include the prerequisites listed above may still enroll under provisional status, followed by full admission status once they have completed the missing prerequisites. Missing prerequisites may be completed with Johns Hopkins Engineering (all prerequisites are available) or at another regionally accredited institution. Admitted students typically have earned a grade point average of at least 3.0 on a 4.0 scale (B or above) in the latter half of their undergraduate studies. Applicants may submit a detailed résumé if they would like their academic and professional background to be considered.
Undergraduate courses are offered to satisfy computer science and mathematics beyond calculus requirements.
Program Requirements
Ten courses must be completed within five years. The curriculum consists of seven required courses, two Applied and Computational Mathematics (EN.625.6xx) and (EN.625.7XX) electives, at least one of which must be at the 700-level, and one Computer Science elective (EN.605.7xx) at the 700-level. Only one C-range grade (C+, C, or C–) can count toward the master’s degree. Any grade for a course lower than a C- will not be counted toward the degree. Course selections outside of the foundational, required, and elective course lists below are subject to advisor approval.
Courses applied toward undergraduate or graduate degrees at other institutions (non-JHU) are not eligible for transfer or double counting to a Data Science master’s degree or post-master’s certificate. Up to two graduate courses taken outside of JHU after an undergraduate degree was conferred and not applied toward a graduate degree may be considered toward the Data Science master’s degree subject to advisor approval.
Non-degree students in Data Science should consult with their advisor to determine which courses must be successfully completed before 600- or 700-level Data Science courses may be taken.
Undergraduate Courses
Code | Title | Credits |
---|---|---|
Undergraduate Courses (or approved equivalent) 1 | Credits | |
EN.605.206 | Introduction to Programming Using Python | 3 |
EN.625.250 | Multivariable Calculus and Complex Analysis | 3 |
EN.605.203 | Discrete Mathematics | 3 |
or EN.625.251 | Introduction to Ordinary and Partial Differential Equations | |
or EN.625.252 | Linear Algebra and Its Applications |
- 1
Applicants whose prior education does not include the prerequisites listed under Admission Requirements may still enroll under provisional status, followed by full admission once they have completed the missing prerequisites. All prerequisite courses beyond calculus are available at Johns Hopkins Engineering and can be found above under the Undergraduate Courses heading. These courses do not count toward the degree or certificate requirements.
Foundational Courses
Code | Title | Credits |
---|---|---|
Foundation Courses | Credits | |
EN.685.621 | Algorithms for Data Science 2 | 3 |
EN.625.603 | Statistical Methods and Data Analysis 2 | 3 |
Required Courses | Credits | |
EN.685.648 | Data Science | 3 |
EN.685.652 | Data Engineering Principles and Practice | 3 |
EN.685.662 | Data Patterns and Representations | 3 |
EN.625.661 | Statistical Models and Regression | 3 |
EN.625.615 | Introduction to Optimization 3 | 3 |
or EN.625.664 | Computational Statistics | |
Applied and Computational Mathematics Electives | ||
Select 2 of the following (One from Group 1 AND One from Group 2): | ||
Group 1 | Credits | |
EN.625.601 | Real Analysis | 3 |
EN.625.609 | Matrix Theory | 3 |
EN.625.611 | Computational Methods | 3 |
EN.625.615 | Introduction to Optimization | 3 |
EN.625.618 | Discrete Hybrid Optimization | 3 |
EN.625.620 | Mathematical Methods for Signal Processing | 3 |
EN.625.623 | Introduction to Operations Research: Probabilistic Models | 3 |
EN.625.633 | Monte Carlo Methods | 3 |
EN.625.636 | Graph Theory | 3 |
EN.625.638 | Foundations of Neural Networks | 3 |
EN.625.641 | Mathematics of Finance | 3 |
EN.625.642 | Mathematics of Risk, Options, and Financial Derivatives | 3 |
EN.625.663 | Multivariate Statistics and Stochastic Analysis | 3 |
EN.625.664 | Computational Statistics | 3 |
EN.625.665 | Bayesian Statistics | 3 |
EN.625.680 | Cryptography | 3 |
EN.625.687 | Applied Topology | 3 |
EN.625.690 | Computational Complexity and Approximation | 3 |
EN.625.692 | Probabilistic Graphical Models | 3 |
EN.625.695 | Time Series Analysis | 3 |
EN.625.717 | Advanced Differential Equations: Partial Differential Equations | 3 |
EN.625.718 | Advanced Differential Equations: Nonlinear Differential Equations and Dynamical Systems | 3 |
EN.625.728 | Theory of Probability | 3 |
Group 2 | Credits | |
EN.625.714 | Introductory Stochastic Differential Equations with Applications | 3 |
EN.625.721 | Probability and Stochastic Processes I | 3 |
EN.625.722 | Probability and Stochastic Processes II | 3 |
EN.625.725 | Theory Of Statistics I | 3 |
EN.625.726 | Theory of Statistics II | 3 |
EN.625.734 | Queuing Theory with Applications to Computer Science | 3 |
EN.625.740 | Data Mining | 3 |
EN.625.741 | Game Theory | 3 |
EN.625.742 | Theory of Machine Learning | 3 |
EN.625.743 | Stochastic Optimization & Control | 3 |
EN.625.744 | Modeling, Simulation, and Monte Carlo | 3 |
Computer Science Electives | Credits | |
Select one of the following: | ||
EN.605.741 | Large-Scale Database Systems | 3 |
EN.605.742 | Deep Neural Networks | 3 |
EN.605.744 | Information Retrieval | 3 |
EN.605.745 | Reasoning Under Uncertainty | 3 |
EN.605.746 | Advanced Machine Learning | 3 |
EN.605.747 | Evolutionary and Swarm Intelligence | 3 |
EN.605.788 | Big Data Processing Using Hadoop | 3 |
EN.685.701 | Data Science: Modeling and Analytics | 3 |
EN.705.742 | Advanced Applied Machine Learning | 3 |
- 2
Students must successfully complete or waive all foundational courses before enrolling in any other course.
- 3
EN.625.616 Optimization in Finance may be substituted.
Students who have been waived from foundation or required courses may replace the courses with the same number of other graduate courses. EN.605.xxx courses must be replaced with EN.605.xxx courses and EN.625.xxx courses must be replaced with EN.625.xxx courses. Students who waive EN.605.641 Principles of Database Systems must replace it with EN.605.741 Large-Scale Database Systems. Students who waive EN.685.621 Algorithms for Data Science must replace it with EN.605.641 Principles of Database Systems or EN.605.649 Principles and Methods in Machine Learning. Students who take outside electives from other programs must meet the specific course prerequisites listed.
Additional Selections
Students waiving required courses may choose from the list of 700-level electives or from the courses below. The replacement course should be from the same field (EN.605.xxx or EN.625.xxx) as the waived course.
Code | Title | Credits |
---|---|---|
Additional Selections | Credits | |
EN.605.632 | Graph Analytics | 3 |
EN.605.633 | Social Media Analytics | 3 |
EN.605.634 | Crowdsourcing and Human Computation | 3 |
EN.605.635 | Cloud Computing | 3 |
EN.605.645 | Artificial Intelligence | 3 |
EN.605.647 | Neural Networks | 3 |
EN.605.649 | Principles and Methods in Machine Learning | 3 |
EN.605.724 | Applied Game Theory | 3 |
EN.625.601 | Real Analysis | 3 |
EN.625.609 | Matrix Theory | 3 |
EN.625.611 | Computational Methods | 3 |
EN.625.618 | Discrete Hybrid Optimization | 3 |
EN.625.620 | Mathematical Methods for Signal Processing | 3 |
EN.625.623 | Introduction to Operations Research: Probabilistic Models | 3 |
EN.625.633 | Monte Carlo Methods | 3 |
EN.625.636 | Graph Theory | 3 |
EN.625.641 | Mathematics of Finance | 3 |
EN.625.642 | Mathematics of Risk, Options, and Financial Derivatives | 3 |
EN.625.662 | Design and Analysis of Experiments | 3 |
EN.625.663 | Multivariate Statistics and Stochastic Analysis | 3 |
EN.625.665 | Bayesian Statistics | 3 |
EN.625.680 | Cryptography | 3 |
EN.625.687 | Applied Topology | 3 |
EN.625.690 | Computational Complexity and Approximation | 3 |
EN.625.692 | Probabilistic Graphical Models | 3 |
EN.625.695 | Time Series Analysis | 3 |
EN.625.717 | Advanced Differential Equations: Partial Differential Equations | 3 |
EN.625.718 | Advanced Differential Equations: Nonlinear Differential Equations and Dynamical Systems | 3 |
EN.625.728 | Theory of Probability | 3 |
EN.705.601 | Applied Machine Learning | 3 |
Independent Study | Credits | |
EN.685.795 | Capstone Project in Data Science | 3 |
EN.685.801 | Independent Study in Data Science I | 3 |
EN.685.802 | Independent Study in Data Science II | 3 |
Please refer to the course schedule published each term for exact dates, times, locations, fees, and instructors.