Overview
The Electrical and Computer Engineering (ECE) Department takes a human-centric approach to research and education, with a focus on applications in speech processing, medical imaging, bio-photonics, computer-integrated surgery, renewable energy, human inspired electronic systems for perception and cognition, and other cutting-edge technologies that address real-world problems. Our courses cover wide-ranging topics in three broad areas: signal, systems, and control; electro-physics; and computational systems.
Mission
The Computer Engineering Program at Johns Hopkins is supported by faculty in the Department of Electrical and Computer Engineering and the Department of Computer Science, who are committed to providing a rigorous educational experience that prepares students for further study and to professionally and ethically practice engineering in a competitive global environment. The mission of the program is to provide students with a broad, integrated education in the fundamentals and advanced topics in computer engineering, basic sciences, mathematics, and humanities in an environment that fosters the development of analytical, computational, and experimental skills, and that involves students in design projects and research experiences; and to provide our computer engineering graduates with the tools, skills and competencies necessary to understand and apply today’s technologies and become leaders in developing and deploying tomorrow’s technologies.
Educational Objectives
The Program Educational Objectives (PEOs) for computer engineering (CE) at the Johns Hopkins University describe what CE graduates are expected to attain within a few years of graduation. The PEOs are determined in consultation with the Electrical and Computer Engineering External Advisory Committee and approved by the ECE faculty.
The educational objectives of the CE program are:
- Our graduates will become successful practitioners in engineering and other diverse careers.
- Some graduates will pursue advanced degree programs in engineering and other disciplines.
ECE Focus Areas for Undergraduate Studies
ECE Students have a lot of flexibility as it relates to their studies. They have the ability to craft a program that is as broad or as specific as they wish. Students who want to deepen their knowledge can do so in seven different areas of the discipline. They are:
- Computing Systems
- Integrated Circuits and Microsystems
- Machine Learning and Artificial Intelligence
- Medical Imaging
- Photonics and Optoelectronics
- Robotics
- Signals, Systems, and Communication
Classes that fall under each category can be found at https://engineering.jhu.edu/ece/academics/undergraduate-studies/degree-options/study-focus-areas-for-undergraduates/ .
Program Requirements
The Bachelor of Science degree in Computer Engineering requires a minimum of one hundred and twenty-six (126) credits and a cumulative GPA of 2.0 in ECE coursework. Forty-two (42) credits in Computer Engineering, which must include a minimum of 15 ECE credits, 15 CS credits, and 12 credits of ECE/CS electives. Additional details concerning degree requirements can be found in the Computer Engineering Advising Manual available at https://engineering.jhu.edu/ece/academics/advising/academics-and-advising/. The B.S. in Computer Engineering degree program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org. The following chart outlines the program requirements.
Code | Title | Credits |
---|---|---|
Core Electrical & Computer Engineering Courses * | 15 | |
Must include the following: | ||
EN.520.123 | Computational Modeling for Electrical and Computer Engineering | 3 |
EN.520.142 | Digital Systems Fundamentals | 3 |
EN.520.214 | Signals and Systems | 4 |
EN.520.230 | Mastering Electronics | 3 |
EN.520.231 | Mastering Electronics Laboratory | 2 |
Core Computer Science Courses *, 1 | 15 | |
Must include the following: | ||
EN.601.220 | Intermediate Programming | 4 |
EN.601.226 | Data Structures | 4 |
EN.601.229 | Computer System Fundamentals 2 | 3 |
or EN.520.225 | Advanced Digital Systems | |
Additional Required ECE & CS Electives* | 6-12 | |
Advanced Laboratory and Design Experience Component * | ||
Select 6 credits of ECE (520) or CS (601) courses from the ECE & CS Advanced Labs (see below). | 6 | |
Select 6 credits of ECE, CS, or Other Engineering Advanced Labs (see below). | 6 | |
"Other" Engineering Courses * | ||
Courses with E area designation from KSAS or other School of Engineering departments other than ECE, CS, AMS, CLE or General Engineering. Check with the department for any exceptions. If advanced labs are taken outside of ECE/CS, those credits will count to fulfill this requirement as well. | 6 | |
Mathematics Courses * | 24 | |
Must include the following: | ||
AS.110.109 | Calculus II (For Physical Sciences and Engineering) | 4 |
AS.110.202 | Calculus III | 4 |
AS.110.201 | Linear Algebra | 4 |
or EN.553.291 | Linear Algebra and Differential Equations | |
or EN.553.295 | Linear Algebra for Data Science | |
EN.553.171 | Discrete Mathematics 3 | 4 |
or EN.601.230 | Mathematical Foundations for Computer Science | |
EN.553.311 | Intermediate Probability and Statistics | 4 |
or EN.553.420 | Probability | |
Q Elective from Mathematics or Applied Math & Statistics | 4 | |
Basic Sciences * | 16 | |
Courses coded NS are not allowed. Introduction to Computing courses may not be used to fulfill the requirement. If a requirement is waived and no credits are awarded, students must take additional N courses to reach 16 credits of Basic Sciences. This must include the following: | ||
AS.030.101 | Introductory Chemistry I | 3 |
AS.171.101 | General Physics: Physical Science Major I | 4 |
AS.171.102 | General Physics: Physical Science Major II | 4 |
AS.173.111 | General Physics Laboratory I | 1 |
AS.173.112 | General Physics Laboratory II | 1 |
N Elective: Any course coded N or EN or QN | 3 | |
Humanities and Social Sciences | 18 | |
Select at least six (6), three-credit courses in Humanities or Social Sciences (H/S) including: | ||
Breadth & Depth Requirement | 9 | |
At least three courses with H/S designation, in a specific area or theme, with at least one course at 300 level or higher. | ||
Writing-Intensive Courses * | 6 | |
At least 2 courses/6 credits are required. Courses coded as a H/S can count towards the 18 credit requirement. | ||
Ethics Requirement * | 3 | |
Students must take one of these courses. EN.661.315 can also be used to fulfill H/S, Breadth/Depth, and Writing Intensive requirements. EN.660.310 can also be used to fulfill H/S & Breadth/Depth. 660.455 & EN.660.463 can only be used to fulfill the Ethics requirement. | ||
EN.660.310 | Cases in Workplace Ethics | 3 |
EN.660.455 | Reimagining The City to Resist Climate Change (No designation code, elective only) | 3 |
EN.660.463 | Engineering Management & Leadership (No designation code, elective only) | 3 |
EN.661.315 | Culture of the Engineering Profession (Students must take one of these courses. EN.661.315 is the only class that has an H/S designation that can also be used to fulfill Breadth/Depth, and Writing Intensive requirements. ) | 3 |
Electives | ||
Additional credits to reach 126 credits |
Electrical & Computer Engineering or Computer Science Advanced Labs*
A total of 12 credits of advanced lab must be taken. A minimum of six (6) credits must come from ECE (520) or CS (601). The following courses have been approved for use.
Code | Title | Credits |
---|---|---|
EN.520.363 | ECE Ideation and Design Lab | 3 |
EN.520.412 | Machine Learning for Signal Processing | 3 |
EN.520.415 | Image Process & Analysis II | 3 |
EN.520.424 | FPGA Synthesis Lab | 3 |
EN.520.427 | Design of Advanced Instruments and Systems | 3 |
EN.520.433 | Medical Image Analysis | 3 |
EN.520.440 | Machine Intelligence on Embedded Systems | 3 |
EN.520.448 | Electronics Design Lab | 3 |
EN.520.450 | Advanced Micro-Processor Lab | 3 |
EN.520.454 | Control Systems Design | 3 |
EN.520.463 | ECE Ideation and Design Lab | 3 |
EN.520.483 | Bio-Photonics Laboratory | 3 |
EN.520.491 | CAD Design of Digital VLSI Systems I (Juniors/Seniors) | 3 |
EN.520.492 | Mixed-Mode VLSI Systems | 3 |
EN.520.495 | Microfabrication Laboratory ( ) 4 | 4 |
EN.520.498 | Senior Design Project | 3 |
EN.601.315 | Databases | 3 |
EN.601.411 | Computer Science Innovation & Entrepreneurship II | 3 |
EN.601.417 | Distributed Systems | 3 |
EN.601.421 | Object Oriented Software Engineering | 3 |
EN.601.443 | Security & Privacy in Computing | 3 |
EN.601.447 | Computational Genomics: Sequences | 3 |
EN.601.451 | Introduction to Computational Immunogenomics | 3 |
EN.601.454 | Introduction to Augmented Reality | 3 |
EN.601.456 | Computer Integrated Surgery II | 3 |
EN.601.461 | Computer Vision | 3 |
EN.601.466 | Information Retrieval and Web Agents | 3 |
EN.601.468 | Machine Translation | 3 |
EN.601.471 | Natural Language Processing: Self-Supervised Models | 3 |
EN.601.476 | Machine Learning: Data to Models | 3 |
EN.601.482 | Machine Learning: Deep Learning | 4 |
EN.601.496 | Computer Integrated Surgery II - Teams | 3 |
Other Engineering Advanced Labs*
Students can take up to six credits of the "Other Engineering" Advanced Labs listed below to satisfy the requirement. These courses can also count towards the "Other Engineering" requirement (6 credits) for the major.
Code | Title | Credits |
---|---|---|
EN.510.433 | Senior Design Research | 3 |
EN.510.434 | Senior Design/Research II | 3 |
EN.530.420 | Robot Sensors/Actuators | 4 |
EN.530.421 | Mechatronics | 3 |
EN.530.474 | Effective and Economic Design for Biomedical Instrumentation | 4 |
EN.540.418 | Projects in the Design of a Chemical Car | 2 |
EN.540.419 | Projects in the Design of a Chemical Car | 2 |
EN.540.421 | Project in Design: Pharmacodynamics | 3 |
EN.540.432 | Project in Design: Pharmacokinetics | 3 |
EN.580.311 | Design Team Health-Tech Project I | 3 |
EN.580.312 | Design Team Health-Tech Project II | 3 |
EN.580.411 | Design Team Health-Tech Project I | 3 |
EN.580.412 | Design Team Health-Tech Project II | 3 |
EN.580.437 | Biomedical Data Design | 4 |
EN.580.438 | Biomedical Data Design II | 4 |
EN.580.457 | Introduction to Rehabilitation Engineering: Design Lab | 3 |
EN.580.471 | Principles of Design of BME Instrumentation | 4 |
EN.580.480 | Precision Care Medicine I | 4 |
EN.580.481 | Precision Care Medicine II | 4 |
EN.580.493 | Imaging Instrumentation | 4 |
EN.580.571 | Honors Instrumentation | 2 |
- *
Must be taken for a letter grade.
- 1
All Gateway Computing and Computing Bootcamp courses will be counted as CS credits. Gateway classes must be taken for a grade. Bootcamp classes can only be taken as S/U but can be used towards core requirements. Please register for the ECE section of Gateway Computing. It is highly recommended that CE students also take EN.500.132 Bootcamp: Java. If a student transferring into an ECE major has already taken Gateway Computing: Java or Gateway Computing: Matlab, student must take EN.500.133 Bootcamp: Python.
- 2
Students can take either EN.601.229 Computer System Fundamentals or EN.520.225 Advanced Digital Systems to fulfill this requirement, but should not take both courses. If EN.520.225 is used, take additional credits from CS to reach the 15 minimum credit requirement.
- 3
EN.601.230 Mathematical Foundations for Computer Science can only be used to fulfill either Discrete Math (Q) or CS electives (E), but not both.
- 4
EN.520.495 can also be counted as EN.530.495 to be used as an "Other Engineering" Advanced Lab. Please notify the APC or professional academic advisor to adjust the degree audit.
Please note that all EAC ABET-accredited programs require 45 credits of engineering coursework. The credit requirement for this program is met by combining major coursework (42 credits) along with "other engineering" coursework (3 more credits than ABET requires).
The sample program shown is very general. Other sample programs focusing on Microsystems, Computer Integrated Surgery, Software, or Robotics can be found in the advising manual.
First Year | |||
---|---|---|---|
First Semester | Credits | Second Semester | Credits |
AS.110.1091 | 4 | AS.171.102 or 108 | 4 |
AS.171.101 or 1072a | 4 | AS.173.112 | 1 |
AS.173.111 | 1 | EN.500.132 | 1 |
EN.500.113 (CS Elective #1) | 3 | EN.520.123 | 3 |
EN.520.137 | 3 | EN.520.142 | 3 |
Optional HEART course3 | 0-1 | EN.601.220 | 4 |
15-16 | 16 | ||
Second Year | |||
First Semester | Credits | Second Semester | Credits |
AS.030.101 | 3 | AS.110.202 or 211 | 4 |
AS.110.201 | 4 | EN.520.2142b | 4 |
EN.520.231 | 2 | EN.520.216 | 3 |
EN.520.230 | 3 | EN.601.226 | 4 |
EN.601.229 or EN.520 2254 | 3 | H&S 2 | 3 |
H&S 1 | 3 | ||
18 | 18 | ||
Third Year | |||
First Semester | Credits | Second Semester | Credits |
EN.500.132 | 1 | EN.553.311 or 420 | 4 |
EN.520.349 | 3 | ECE Elective | 3 |
EN.553.171 | 4 | CS Elective 2 | 3 |
EN.661.315 | 3 | Basic Science Elective (N) | 3 |
ECE Elective | 4 | H&S 4 | 3 |
15 | 16 | ||
Fourth Year | |||
First Semester | Credits | Second Semester | Credits |
Advanced ECE Lab 1 | 3 | Advanced Lab 35 | 3 |
Advanced ECE Lab 2 | 3 | Advanced Lab 45 | 3 |
"Other Engineering" Elective 1 | 3 | "Other Engineering" Elective 2 | 3 |
Math Elective | 4 | H&S 6 | 3 |
H&S 5 | 3 | ||
16 | 12 | ||
Total Credits 126-127 |
- 1
Most students will take one of the required math courses each semester for the first two to three years. Students can adjust if they have transferred in or earned credit for math courses through AP exams.
- 2a
Students beginning at the Calculus I level should discuss when to take Physics I and lab with an academic advisor.
- 2b
Please note Calculus III is a prerequisite of EN.520.214: Signals & Systems (second year spring) but it can also be taken as a co-requisite, in the same semester. Please plan schedules with this in mind.
- 3
If you are bringing in exam or transfer credit that affords you space in the recommended schedule shown below, you may consider enrolling in an optional HEART or First-Year Seminar (FYS) course during the fall semester. FYS courses carry course numbers EN.501.XXX.
- 4
If you take EN.520.225 Advanced Digital Systems, be sure to take enough CS electives to reach a minimum of 15 CS credits.
- 5
ECE/CS or non-ECE/CS Engineering Adv. Lab from checklist can be used here. If a non-ECE/CS Advanced Lab is completed, this also fulfills the "Other Engineering" requirement. Students can replace the "Other Engineering" Elective with any other class.
Learning Outcomes
Students graduating with a B.S. in computer engineering will have demonstrated:
- an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
- an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
- an ability to communicate effectively with a range of audiences
- an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
- an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
- an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
- an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
Each student and faculty advisor must consider these objectives in planning a set of courses and projects that will satisfy degree requirements. The sample programs and the program checklist included in this advising manual illustrate course selections that will help students meet the program objectives.
Faculty and others will assess student performance to ensure that our educational objectives are met. Students will have opportunities to assess their own educational progress and achievements in several ways, including exit interviews and alumni surveys. Through regular review processes, including Academic Council departmental reviews, visits by the departmental external advisory board, course evaluations, and ABET visits; students will have opportunities to discuss their educational experiences and expectations. The outcomes of these assessment processes will be used by the faculty to improve the content and delivery of the educational program.
The success of each student’s program will depend on effective faculty advising. Every undergraduate student in the Computer Engineering Program must follow a program approved by a faculty advisor.