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 126 credits, which must include the following:
- Forty-two (42) credits in Computer Engineering, which must include a minimum of 15 ECE and 15 CS credits and include the following:
Code | Title | Credits |
---|---|---|
Electrical and Computer Engineering Courses * | ||
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 |
Computer Science Courses * 7 | ||
EN.601.220 | Intermediate Programming | 4 |
EN.601.226 | Data Structures | 4 |
EN.601.229 | Computer System Fundamentals 8 | 3 |
or EN.520.225 | Advanced Digital Systems | |
Select at least 4 more credits from CS if you select EN.520.225. EN.500.113 Gateway Computing: Python & EN.500.132 Bootcamp: Java are highly recommended. | 4 | |
12 additional credits are needed from ECE or CS. This can be fulfilled by taking Advanced Labs in ECE or CS. | 12 | |
Advanced Laboratory and Design Experience Component * | ||
Select 6 credits of ECE (520) or CS (601) courses from the Advanced Labs checklist 1a | 6 | |
Select 6 credits of ECE, CS, or Other Engineering Advanced Labs from the check list. 1b | 6 | |
"Other" Engineering Courses * | ||
Select six (6) credits of engineering courses (with an E designation) from KSAS or School of Engineering departments other than Computer Science, ECE, Applied Mathematics and Statistics, or General Engineering 2 | 6 | |
Mathematics Courses * 3 | ||
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 | |
EN.553.171 | Discrete Mathematics | 4 |
EN.553.311 | Probability and Statistics for the Biological Sciences and Engineering | 4 |
or EN.553.310 | Probability & Statistics for the Physical Sciences & Engineering | |
or EN.553.420 | Introduction to Probability | |
Q Elective from Mathematics or Applied Math & Statistics | 4 | |
Basic Sciences * 4 | ||
Courses coded NS are not allowed. Must include the following: | ||
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 |
AS.030.101 | Introductory Chemistry I | 3 |
N Elective: Any course coded N or EN or QN | 3 | |
Humanities and Social Sciences 5 | ||
Select at least five (5), three-credit courses in humanities (H) and social sciences (S) and the following courses: | 15 | |
EN.660.400 | Practical Ethics for Future Leaders | 2 |
EN.520.404 | Engineering solutions in a global, economic, environmental, and societal context | 1 |
Writing Intensive Courses * | ||
Two (2) writing intensive courses are required (at least 3 credits each). 6 | 6 | |
Electives | 3 | |
Total Credits | 127 |
- *
Must be taken for a letter grade.
- 1a.
Course Options EN. 520.412, 520.424,520.433, 520.440, 520.448, 520.450, 520.452, 520.453, 520.454, 520.462, 520.463, 520.483, 520.491, 520.492, 520.495, 520.498, 520.499, 601.315, 601.411, 601.415, 601.417, 601.421, 601.443, 601.447, 601.454, 601.456, 601.461, 601.466, 601.468, 601.476, 601.482, and 601.496.
- 1b.
Courses include all courses from 1a and EN. 510.433, 510.434, 530.420, 530.421, 530.474, 530.495, 540.400, 540.418, 540.419, 540.421, 580.311, 580.312, 580.411, 580.412, 580.437, 580.438, 580.457, 580.471, 580.480, 580.481, and 580.493
- 2
Students can fulfill this requirement by taking 6 credits of approved non-CS/ECE advanced design labs. If this requirement is fulfilled using advanced labs, student should take 6 credits of electives. Courses in this group may not be taken Satisfactory/ Unsatisfactory. Note: Entrepreneurship and Management courses in the Center for Leadership Education CANNOT be counted as “other engineering courses”.
- 3
Specific courses listed are the only courses accepted. (Calculus I may be waived through an examination taken during freshman orientation. If not waived, it must be taken as a prerequisite to Calculus II.) Courses in this category may not be taken Satisfactory/Unsatisfactory.
- 4
Courses in this category may not be taken Satisfactory/Unsatisfactory.
- 5
ECE students beginning prior to Fall 2018 will be permitted to fulfill this requirement by six (6), three credit courses, or by the guidelines provided above. The humanities and social sciences courses are one of the strengths of the academic programs at Johns Hopkins. They represent opportunities for students to appreciate some of the global and societal impacts of engineering, to understand contemporary issues, and to exchange ideas with scholars in other fields. Some of the courses will help students to communicate more effectively, to understand economic issues, or to analyze problems in an increasingly international world. The selection of courses should not consist solely of introductory courses, but should have both depth and breadth. Typically, this means that students should take at least three (3) courses in a specific area or theme, with at least one of them at an advanced level (300 level or higher).
- 6
These courses may not be taken Satisfactory/Unsatisfactory and require a grade of C- or better. Students may wish to consider a course in Technical Communications to fulfill one of the writing intensive requirements.
- 7
If you take EN.500.113 Gateway Computing: Python it will count as a CS credit even though it has a general engineering number (EN.500.XXX). Please register for the ECE section of Gateway Computing. EN.500.132 Bootcamp: Java will also count towards CS requirements, not General Engineering.
- 8
NOTE: Students can take either EN.601.229 Computer System Fundamentals or EN.520.225 Advanced Digital Systems to fulfill this requirement, but shouldn't take both courses.
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 course work (42 credits) along with "other engineering" course work (3 credits of the additional 6 credits required by ECE). Additional details concerning advising and degree requirements are in the Computer Engineering Advising Manual. The B.S. in Computer Engineering degree program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.
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 course5 | 0-1 | EN.601.220 | 4 |
15-16 | 16 | ||
Second Year | |||
First Semester | Credits | Second Semester | Credits |
AS.110.201 | 4 | AS.110.202 or 211 | 4 |
AS.030.101 | 3 | 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 2253 | 3 | H&S 2 | 3 |
H&S 1 | 3 | ||
18 | 18 | ||
Third Year | |||
First Semester | Credits | Second Semester | Credits |
EN.553.171 | 4 | Select one of the following: | 4 |
EN.520.340 | 3 | ||
EN.520.349 | 3 | ||
EN.520.404 | 1 | ||
EN.660.400 | 2 | ECE Elective | 2 |
ECE Elective | 3 | CS Elective 2 | 3 |
Basic Science Elective (N) | 3 | ||
H&S 4 | 3 | ||
16 | 15 | ||
Fourth Year | |||
First Semester | Credits | Second Semester | Credits |
Advanced ECE Lab 1 | 3 | Advanced Lab 34 | 3 |
Advanced ECE Lab 2 | 3 | Advanced Lab 44 | 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 take EN.520.225 Advanced Digital Systems, be sure to take enough CS electives to reach a minimum of 15 CS credits.
- 4
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.
- 5
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.
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.