Department of Electrical and Computer Engineering

Lawrence Pileggi, Coraluppi Head and Tanoto Professor

James Bain, Associate Head, Academic Affairs

Shawn Blanton, Associate Head, Research

Tamal Mukherjee, Associate Head, Students
www.ece.cmu.edu

The field of electrical and computer engineering encompasses a remarkably diverse and expanding set of technologies, including embedded systems, intelligent physical systems, real-time software, distributed computing, mobile computing, cloud computing, digital signal processing, integrated circuits and electronics, computer architecture, intelligent robotic systems, computer-based control systems, telecommunications, computer networking, wireless communication systems, signal and information processing, multimedia systems, solid state physics and devices, microelectromechanical systems (MEMS), electromagnetic and electromechanical systems, and data storage systems. The extraordinary advances in these technologies during the last fifty years have impacted nearly every aspect of society and human activity. These advances have created new products and markets such as “smart” cars, cell phones and mobile computing systems, video games, and advanced medical systems for imaging, diagnosis, testing, and monitoring. These systems and products have served to enhance our quality of life and have also fueled the global economy. In short, the field of electrical and computer engineering has become central to society as we know it.

The Department of Electrical and Computer Engineering at Carnegie Mellon is actively engaged in education and research at the forefront of the existing and emerging technologies. Because of the diverse and broad nature of the field and the significant growth in knowledge in each of its sub areas, it is no longer possible for any single individual to know all aspects of electrical and computer engineering. Nevertheless, it is important that all electrical and computer engineers have a solid knowledge of the fundamentals with sufficient depth and breadth. Society is placing increasing demands on our graduates to apply their skills in new contexts. It is also placing increasing value on engineers who can cross traditional boundaries between disciplines and who can intelligently evaluate the broader consequences of their actions. Our curriculum is designed to produce world-class engineers who can meet these challenges.

Educational Outcomes and Objectives

The B.S. in Electrical and Computer Engineering is a broad and highly flexible degree program structured to provide students with a rich and comprehensive view of the profession. Minimal curriculum constraints enable every student to construct their own unique program of study that fits their professional goals. Students are encouraged to explore multiple areas of theory and application. Our program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org. The Faculty of Electrical and Computer Engineering have adopted the following outcomes from ABET and have established the following objectives for the B.S. in Electrical and Computer Engineering curriculum:

Educational Outcomes

  1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  2. 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
  3. An ability to communicate effectively with a range of audiences
  4. 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
  5. 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
  6. An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  7. An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

ECE Education Objectives

The ECE program objectives are shown below. They represent our vision for what our students will be doing in their engineering careers five years after they have graduated. The principal behaviors we seek to foster in our students are expertise, innovation and leadership.
Our graduates will be:

Experts
  • They will solve problems by applying ECE fundamentals
  • Their solutions will reflect depth of understanding in their sophistication.
  • Their solutions will reflect breadth of understanding by drawing on multiple disciplines.
Innovators
  • They will demonstrate creativity in their engineering practice.
  • They will consider holistic systems-oriented approaches in their designs.
  • They will think strategically in their planning and execution.
Leaders
  • They will take initiative, and demonstrate resourcefulness.
  • They will collaborate in multidisciplinary teams.
  • They will be leaders in their organizations, their profession and in society.
Three dimensions of objectives for our graduates: Leaders, Experts, and Innovators

Three dimensions of objectives for our graduates.

 

Curriculum Overview

The B.S. in Electrical and Computer Engineering is a broad and highly flexible ABET-accredited degree program structured to provide students with the smallest set of constraints consistent with a rich and comprehensive view of the profession. Students are encouraged and stimulated to explore multiple areas of theory and application from across the 5 principal undergraduate areas of Electrical and Computer Engineering. The sample curriculum highlights the flexibility of our curriculum while meeting the requirements listed below

Minimum total units required for B.S. in Electrical and Computer Engineering379

For detailed information and regulations of the curriculum along with the degree requirements and the most recent version of the ECE curriculum and course descriptions, please refer to the ECE Academic Guide.

University Requirement

Units
99-101Computing @ Carnegie Mellon3
 3

CIT Requirements (see CIT section of the catalog for specifics):

Units
CIT General Education72
21-120Differential and Integral Calculus10
21-122Integration and Approximation10
One other introductory engineering course (generally taken during the freshman year)12
33-141Physics I for Engineering Students12
33-142Physics II for Engineering and Physics Students12
15-112Fundamentals of Programming and Computer Science12
 140

GENERAL TECHNICAL REQUIREMENTS:

Units
Two Math/Science electives 118
Probability Requirement
21-325Probability9
or 36-219 Probability Theory and Random Processes
or 36-225 Introduction to Probability Theory
18-202Mathematical Foundations of Electrical Engineering 212
21-127Concepts of Mathematics 312
or 21-128 Mathematical Concepts and Proofs
15-122Principles of Imperative Computation10
 61

1The Math/Science Electives may be satisfied by any course in The Mellon College of Science or the Department of Statistics except for: 100-level courses in Mathematics or Statistics, and courses designed for non-science or engineering majors, such as (but not limited to) 09-103, 09-104, 21-240, 21-257, 33-115, 33-120, 33-124, 36-201, 36-202, 36-203, 36-207, 36-208, 36-209, 36-210, 36-247, 36-309, 36-310. Mathematics courses of particular interest to students in ECE are: 21-228 Discrete Mathematics, 21-241 Matrices and Linear Transformations, 21-259 Calculus in Three Dimensions, 21-260 Differential Equations.

2This course can also be substituted by a combination of two of the following courses: 21-254, 21-259, 21-260, 21-241, 21-242, 21-268.  Note that the combined total will therefore be 18 units.

3Effective Fall 2022. Prior to Fall 2022, 21-127 was 10 units.

ECE COURSE requirements:

For detailed information and regulations along with the degree requirements and the most recent version of the ECE curriculum and course descriptions, please refer to the ECE Academic Guide.

Units
ECE CORE COURSES
18-100Introduction to Electrical and Computer Engineering12
18-200ECE Sophomore Seminar1
18-213Introduction to Computer Systems12
18-220Electronic Devices and Analog Circuits12
18-240Structure and Design of Digital Systems12
18-290Signals and Systems12
ECE AREA COURSES
Two Area Courses from 1 of the 5 Areas within ECE24
One additional Area Course from a second Area12
ECE COVERAGE COURSES
One Coverage Course (any additional ECE course or Approved CS course as listed on the ECE web site) 12
ECE CAPSTONE DESIGN
Any 18-5xx course12
 121
FREE ELECTIVES54 units (typ)*

*For most students, the curriculum above will result in a remainder of 54 units of free electives to achieve the 379 required total units.

A Free Elective is defined as any graded course offered by any academic unit of the university (including research institutes such as the Robotics Institute and S3D).

Up to 9 units of Student Taught Courses (StuCO) and Physical Education courses, or other courses taken as Pass/Fail, may also be used toward Free Electives.

Transfer of courses from other high-quality universities may be accepted through submission of the Transfer Credit Request form on the CIT web page. Please see the CIT website for further information regarding the process.

The large number of units without categorical constraints provides the student, in consultation with their Advisor or Mentor, with the flexibility to design a rich educational program.

Sample Curriculum

The table below shows a possible roadmap through our broad and flexible curriculum. The ECE Academic Guide provides further alternatives.

For First-Year requirements, please see CIT section of the catalog for specifics.

First-YearSecond-Year
FallSpringFallSpring
18-100 Introduction to Electrical and Computer EngineeringIntroductory Engineering Course18-200 ECE Sophomore Seminar18-2xx ECE Core course
15-112 Fundamentals of Programming and Computer Science33-141 Physics I for Engineering Students18-2xx ECE Core Course21-127 Concepts of Mathematics or 18-202 Mathematical Foundations of Electrical Engineering
21-120 Differential and Integral Calculus21-122 Integration and Approximation18-202 Mathematical Foundations of Electrical Engineering15-122 Principles of Imperative Computation
76-101 Interpretation and ArgumentGeneral Education courseGeneral Education course36-219 Probability Theory and Random Processes
99-101 Computing @ Carnegie Mellon33-142 Physics II for Engineering and Physics StudentsGeneral Education course
39-210 Experiential Learning I39-220 Experiential Learning II

Third-YearFourth-Year
FallSpringFallSpring
18-2xx ECE Core course18-2xx ECE Core course18-xxx ECE Coverage course18-5xx ECE Capstone Design course
18-3xx/4xx ECE Area 1 course (first course in Area)18-3xx/4xx ECE Area course (either 2nd course from Area 1 or the Area 2 course)18-3xx/4xx ECE Area course (either 2nd course from Area 1 or the Area 2 course)General Education course
General Education courseMath/Science Elective 2General Education courseFree Elective
Math/Science Elective 1General Education courseFree ElectiveFree Elective
Free ElectiveFree ElectiveFree ElectiveFree Elective
39-310 Experiential Learning III

Academic Policies

Policy on ECE Coverage Courses with Fewer than 12 Units

The basic curriculum requirements for Area courses, Coverage and Capstone Design are stated in terms of courses rather than units. The nominal total of 60 units for these categories is determined by assuming that each course is 12 units. In the event that courses with fewer than 12 units are used to satisfy some or all of these requirements, additional courses from the ECE coverage lists must be taken until the total units in ECE courses beyond the core meets or exceeds 60 units. Any ECE coverage course is acceptable, and any excess units beyond the required 60 may be counted as free elective credit.

Prerequisite Grade Requirements

Many ECE courses require a prerequisite course or courses. In most cases, the minimum grade required in a prerequisite to proceed on to the next course is a C. All prerequisites are listed in the registration system.

QPA Requirement and Overload Policy

An overload is defined as any schedule with more than 54 units in one semester.  A student will only be permitted to overload by 12 units if she or he achieved an overall QPA of at least 3.5 out of 4.0. If the student's overall QPA is below a 3.5, then the QPA of the previous semester for which he or she is registering will instead be utilized. If that QPA is at least a 3.5 then the student will be permitted to Overload.

Grade Policy for Math Courses

1. CIT states that all mathematics (21-xxx) courses required* for the engineering degree taken at Carnegie Mellon must have a minimum grade of C in order to be counted toward the graduation requirement for the BS engineering degree.

2. A minimum grade of C must be achieved in any required mathematics (21-xxx) course that is a prerequisite for the next higher level required mathematics (21-xxx) course.

3. In addition, ECE requires that 18-202 Mathematical Foundations of Electrical Engineering must be completed with a grade of C or better.

*Elective mathematics courses (like the math/science electives required for ECE) are not included in this policy

Pass/Fail policy

Up to 9 units of StuCo and/or Physical Education courses or other courses taken as Pass/Fail may be used toward Free Electives.  ECE core courses may not be taken as pass/fail.  ECE project-based courses (including capstone design courses) may not be taken pass/fail.  No ECE requirements may be fulfilled using a pass/fail course (except for 99-10x and 18-200)

Other Graduation Requirements

To be eligible to graduate, undergraduate students must complete all course requirements for their program with a cumulative Quality Point Average of at least 2.0. For undergraduate students who enrolled at Carnegie Mellon as freshmen and whose freshman grades cause the cumulative QPA to fall below 2.0, this requirement is modified to be a cumulative QPA of at least 2.0 for all courses taken after the freshman year. Note, however, the cumulative QPA that appears on the student's final transcript will be calculated based on all grades in all courses taken, including freshman year. Students are encouraged to confirm all graduation requirements with their academic advisor.

CIT has the following requirement for graduation. “Students must complete the requirements for their specified degrees with a cumulative quality point average of 2.00 or higher for all courses taken after the freshman year [this is the CIT QPA on the Academic Audit]. In addition, a student is expected to achieve a cumulative quality point average of 2.00 in a series of core departmental courses.” 

In ECE, this means that the student must complete 18-100 Introduction to Electrical and Computer Engineering, ECE Core, Area Courses, Coverage, and Capstone Design courses with a minimum QPA of 2.0 to graduate. When more than one possibility exists for meeting a specific requirement (e.g., Area Course), the courses used for calculating the ECE QPA will be chosen so as to maximize the QPA. Similarly, when an ECE course is retaken, the better grade will be used in the computation of the minimum QPA for the ECE QPA requirement to graduate.

Other Opportunities in ECE

ECE Cooperative Education Program

Our Cooperative Education Program invites students to gain valuable experience in employment that relates directly to their major and career goals. At the same time, it provides employers with opportunities to evaluate students as potential full-time employees, while having them complete meaningful projects. Participation in this program is voluntary, and obtaining a cooperative education assignment is competitive.

Due to federal restrictions on student work experiences, international students are not eligible for co-ops. Please visit the ECE CPT page for information regarding international student internships.

The co-op experience

We require a minimum of eight months of co-op experience to identify the work experience as a co-op. Students must have minimally completed their sophomore year to qualify for application to a co-op and should connect with their Academic Advisor for information on how to apply. While on co-op assignment, students are participating in a recognized CIT educational program, retaining their full-time student status, akin to our students who study abroad in established exchange programs (such as EPFL) for one or two semesters. The Cooperative Education Program agreement may be discontinued if the employers do not provide the students with career-related work experience or if the students do not meet the accepted level of performance as defined by the employers. 

Upon returning to Carnegie Mellon, the students are required to submit for approval the following two documents to the ECE Undergraduate Office: a three to five page technical report of the Co-Op work, and a one page assessment and evaluation of the Co-Op experience.

Students may obtain more detailed information through the ECE department or the Career and Professional Development Center.

Teaching Assistantships

Teaching Assistants are a vital part of successful ECE course delivery. All ECE students will receive an email each semester when applications open for the upcoming semester, typically around the date the Schedule of Classes is published. Students are encouraged to communicate with the faculty of any course(s) they are interested in supporting, who can discuss the course expectations and staffing needs. Please see the ECE Teaching Assistantship website for further information regarding these opportunities and how to apply.

Integrated M.S./B.S. Degrees Program

The Integrated Master’s/Bachelor’s program (otherwise known as the IMB program) is an exciting opportunity for students who excel academically to achieve not just a Bachelor’s degree in ECE, but also a Master’s degree- through our Professional MS degree program-without needing to apply separately.  This means no application fee, and no need to take the GRE (Graduate Record Exam). In order to be awarded the MS degree in the IMB program, the student must also earn their BS degree, either simultaneously with the MS degree or at least one semester prior to the awarding of the MS degree. If a course is eligible for the MS degree but must be used to complete the BS degree, the BS degree takes priority over the MS degree.

If a student is at least a 2nd semester junior, has completed at least 270 units and has at least an overall 3.00 QPA, he or she is guaranteed admission into the Professional MS degree in ECE through the IMB program. To be officially admitted, the student must complete the IMB Program form.

If a student does not meet the exact overall 3.00 QPA requirement, he or she is eligible to petition for his or her admission into the IMB program during his or her senior year. Students may obtain the petition forms through a meeting with their assigned academic advisor.
 

Professional MS Degree Requirements:

Please see the ECE web site for the requirements for the Professional MS degree.  For students in the ECE IMB program, all requirements for the Professional MS degree are in addition to the requirements for the BS in ECE.  No requirements for the MS degree may be used in any way toward the BS degree, including minors, additional majors or dual degrees.
 

Residency requirements and financial impacts:

Once a student in the IMB program has completed all of the requirements for the BS degree and it is certified, the student will officially graduate with the BS degree and the student will be in graduate status for the subsequent term of enrollment. Once a student’s undergraduate degree has been certified, no more courses may then be applied toward the BS degree. This includes courses toward minors and additional majors, although students pursuing an undergraduate dual degree with another department may still continue to apply additional coursework toward that second degree. Students should consult with Enrollment Services to understand how entering graduate status will affect financial aid, and with their academic advisor to determine a course schedule.

If a student takes more than 8 semesters to complete both the BS and MS degrees, then he or she must be in graduate status for at least one semester before graduating with the MS degree.

Course Descriptions

About Course Numbers:

Each Carnegie Mellon course number begins with a two-digit prefix that designates the department offering the course (i.e., 76-xxx courses are offered by the Department of English). Although each department maintains its own course numbering practices, typically, the first digit after the prefix indicates the class level: xx-1xx courses are freshmen-level, xx-2xx courses are sophomore level, etc. Depending on the department, xx-6xx courses may be either undergraduate senior-level or graduate-level, and xx-7xx courses and higher are graduate-level. Consult the Schedule of Classes each semester for course offerings and for any necessary pre-requisites or co-requisites.


18-059 Introduction to Amateur Radio
Fall and Spring: 3 units
Amateur radio is a pursuit that encompasses equal parts technology, communication, and public safety. It began in the US with the Radio Act of 1912, which guaranteed use of the electromagnetic spectrum to the people, provided they demonstrated the requisite technical competence. These privileges have persisted to the present day, with a vibrant global community of radio amateurs (hams) utilizing the spectrum to tinker and experiment with wireless communications for satellites, drone control, low-power communication, radio astronomy, and so on! This course will introduce students to the history, art, and science of radio with emphasis on hands-on demonstrations and in-class projects, including soldering a low-power FM transmitter and building a directional antenna. Students will also self-study to pass an amateur radio licensing exam administered on campus, which unlocks the electromagnetic spectrum for personal, non-commercial use. Radio service for public safety is tightly woven into the cultural fabric of the Buggy tradition at Carnegie Mellon, and becoming licensed is the first step to getting involved! Topics covered include: Radio signal fundamentals; Basic electronics; Antennas; Radio wave propagation; Radio equipment; Norms and culture of amateur radio communication; Operating regulations and safety Anyone interested in becoming a licensed amateur radio user is welcome regardless of major or prior background!
18-090 Twisted Signals: Multimedia Processing for the Arts
Fall: 10 units
[IDeATe portal course] - This course presents an overview on manipulating and synthesizing sound, video, and control signals. Signals are the raw materials used in many forms of electronic art and design - electronic music, interactive art, video art, kinetic sculpture, and more. In these fields, signals are used to represent information about sound, images, sensors, and movement. By transforming and manipulating these types of signals, we are able to create powerful new tools for digital art, multimedia applications, music, responsive environments, video and sound installation, smart products, and beyond. In this course we will study Signal Processing from a practical point-of-view, developing tools that can be easily integrated into art-making using the graphical programming environment Max (a.k.a. Max/MSP/Jitter). We will present a survey of Signal Processing techniques used in the sonic and visual arts, and will discuss the mathematical theories underlying these techniques. Students will be encouraged to combine, modify, and extend working examples of software to create original digital artworks.
18-095 Getting Started in Electronics: An Experiential Approach
Fall and Spring: 9 units
Electronics are ubiquitous and have transformed life many times over. Building circuits as a hobby has been a reliable introduction to a career in engineering for many decades, providing essential context and motivation for the mathematics and analysis techniques developed in the canonical ECE curriculum. For those with little prior knowledge of electronics, building circuits provides useful context and practical skills that lead to success in the rigorous engineering core. For those pursuing other career paths, exploring electronics develops technical literacy that will supplement and enhance their pursuits. Nowadays, the growth of maker culture has provided a wealth of tools that make electronics more accessible than ever before. This class uses an experiential learning approach to develop skills in circuit design, prototyping, and debugging. Every lecture is integrated with a hands-on laboratory experiment, punctuating each lesson with physical inquiry. The course will be based on two experiential learning texts: Getting Started in Electronics by Forrest Mims III, which has launched many engineering careers since the 1980s, and the modern classic Make: Electronics by Charles Platt. Principles of analog circuits, digital circuits, microcontrollers, and measurement equipment will be explored one experiment at a time, through twice-weekly integrated lecture/circuit builds and once-weekly self-guided builds.
18-100 Introduction to Electrical and Computer Engineering
Fall and Spring: 12 units
The goals of this freshman engineering course are: * To introduce basic concepts in electrical and computer engineering in an integrated manner; * To motivate basic concepts in the context of real applications; * To illustrate a logical way of thinking about problems and their solutions, and; * To convey the excitement of the profession. These goals are attained through analysis, construction and testing of an electromechanical system (e.g., a robot) that incorporates concepts from a broad range of areas within Electrical and Computer Engineering. Some of the specific topics that will be covered include system decomposition, ideal and real sources, Kirchhoff's Current and Voltage Laws, Ohm's Law, piecewise linear modeling of nonlinear circuit elements, Ideal Op-Amp characteristics, combinational logic circuits, Karnaugh Maps, Flip-Flops, sequential logic circuits, and finite state machines. 3 hrs. lec., 1 hr. rec., 3 hr. lab.
18-200 ECE Sophomore Seminar
Fall: 1 unit
The class comprises of a series of lectures from our own faculty and alumni, Department and University staff, and student groups. Students are required to attend each lecture. The lectures are designed to serve the following purposes: 1. Introduce to students to the faculty member's research field and the most current world advancements in engineering and technology in that area; 2. Provide students a good understanding of our curriculum structure and the courses in various areas; 3. Present correlations between the present technological developments and our courses for each course area; 4. Introduce new undergraduate courses; 5. Advertise on-campus/off-campus research opportunities for undergraduate students and explain the corresponding research projects; 6. Motivate students with positive presentations on the importance of obtaining education and gaining self-learning ability; 7. Provide basic education on learning and working ethics.
18-202 Mathematical Foundations of Electrical Engineering
Fall and Spring: 12 units
This course covers topics from engineering mathematics that serve as foundations for descriptions of electrical engineering devices and systems. It is the corequisite mathematics course for 18-220, Fundamentals of Electrical Engineering. The topics include: 1.MATLAB as a robust computational tool, used to reinforce, enrich and integrate ideas throughout the course, including software exercises and projects in combination with homework assignments; 2.Complex Analysis, including rectangular and polar representations in the complex plane with associated forms of complex arithmetic, powers, roots and complex logarithms, complex differentiation, analytic functions and Cauchy-Riemann equations, complex Taylor series, complex exponential, sinusoidal and hyperbolic functions, and Euler's formula; 3.Fourier Analysis, including orthogonality of sinusoids, trigonometric and exponential forms of Fourier series, Fourier integrals and Fourier transforms; 4.Linear, Constant-Coefficient Differential Equations, including complex exponential solutions to homogeneous equations and particular solutions with polynomial and sinusoidal driving functions described by phasors; 5.Difference Equations, with emphasis upon their relationship to differential equations, and; 6.Linear Algebra and Matrices, including matrix arithmetic, linear systems of equations and Gaussian elimination, vector spaces and rank of matrices, matrix inverses and determinants, eigenvalue problems and their relationship to systems of homogeneous differential equations.
Prerequisite: 21-122 Min. grade C
18-213 Introduction to Computer Systems
Spring and Summer: 12 units
This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course.
Prerequisite: 15-122 Min. grade C
18-220 Electronic Devices and Analog Circuits
Fall and Spring: 12 units
This course covers fundamental topics that are common to a wide variety of electrical engineering devices and systems. The topics include an introduction to semiconductor devices and technology, DC circuit analysis techniques, operational amplifiers, energy storage elements, sinusoidal steady-state response, frequency domain analysis, filters, and transient response of first- and second-order systems. The laboratories allow students to use modern electronic instrumentation and to build and operate circuits that address specific concepts covered in the lectures, including semiconductor devices and sensors, layout, operational amplifiers, filters, signal detection and processing, power converters and circuit transients. 3 hrs. lec., 1 hr. rec., 3 hrs. lab.
Prerequisite: 18-100 Min. grade C
18-224 Special Topics in Chip Design
Spring
Please refer to the ECE website for descriptions of each topic: https://courses.ece.cmu.edu/
18-240 Structure and Design of Digital Systems
Fall and Spring: 12 units
This course introduces basic issues in design and verification of modern digital systems. Topics include: Boolean algebra, digital number systems and computer arithmetic, combinational logic design and simplification, sequential logic design and optimization, register-transfer design of digital systems, basic processor organization and instruction set issues, assembly language programming and debugging, and a hardware description language. Emphasis is on the fundamentals: the levels of abstraction and hardware description language methods that allow designers to cope with hugely complex systems, and connections to practical hardware implementation problems. Students will use computer-aided digital design software and actual hardware implementation laboratories to learn about real digital systems. 3 hr. lec., 1 hr. rec., 3 hr. lab.
Prerequisite: 18-100 Min. grade C
18-290 Signals and Systems
Fall and Spring: 12 units
This course develops the mathematical foundation and computational tools for processing continuous-time and discrete-time signals in both time and frequency domain. Key concepts and tools introduced and discussed in this class include linear time-invariant systems, impulse response, frequency response, convolution, filtering, sampling, and Fourier transform. Efficient algorithms like the fast Fourier transform (FFT) will be covered. The course provides background to a wide range of applications including speech, image, and multimedia processing, bio and medical imaging, sensor networks, communication systems, and control systems. This course serves as entry and prerequisite for any higher level course in the fields of signal processing, communications, and control.
18-300 Fundamentals of Electromagnetics
Fall: 12 units
This course introduces electromagnetic principles and describes ways in which those principles are applied in engineering devices and systems. Topics include: vector calculus as a mathematical foundation for field descriptions, Maxwell's equations in integral and differential forms with associated boundary conditions as descriptions of all electromagnetic principles, quasistatic electric fields in free space and in materials, superposition for known charge sources, conduction and polarization, resistance and capacitance, charge relaxation, analytic and numerical methods for electric field boundary value problems, quasistatic magnetic fields in free space and in materials, superposition for known current sources, magnetization, inductance, magnetic diffusion, and analytic and numerical methods for magnetic field boundary value problems. 4 hrs. lec.
Prerequisite: 18-220 Min. grade C
18-310 Fundamentals of Semiconductor Devices
Spring: 12 units
This course replaced 18311 in Spring 2005. In this course you will receive an introduction to the operation and fabrication of the most important semiconductor devices used in integrated circuit technology together with device design and layout. At the end of the course you will have a basic understanding of pn diodes, bipolar transistors, and MOSFETs as well as some light emitting and light detecting devices such as photodiodes, LEDs and solar cells. You will also receive an introduction to the fundamental concepts of semiconductor physics such as doping, electron and hole transport, and band diagrams. In the laboratory you will learn how to lay out both bipolar and MOS devices and you will design small (2-3 transistor) circuits. The laboratory portion of the course emphasizes the relation between device design and layout and circuit performance. You will also experimentally evaluate the operation of amplifier and gate circuits fabricated with discrete devices. This course will give you an excellent understanding of the operation and fabrication of the devices which is necessary for high-performance analog and digital circuit design. 3 hrs. lec. (Note: the prerequisite is typically waived for MSE students who intend to pursue the Electronic Materials Minor.)
Prerequisite: 18-220 Min. grade C
18-320 Microelectronic Circuits
Spring: 12 units
18-320 introduces students to the fundamentals of microelectronic circuits. The course will emphasize the analysis and design of basic analog and digital integrated circuits in preparation for further study in analog, digital, mixed-signal, and radio-frequency integrated circuit design. Additionally, students will learn to design and analyze microelectronic circuits using industry standard computer aided design (CAD) software. Topics to be covered include: MOSFET fabrication and layout MOSFET models for analog and digital design Analysis and design of digital CMOS logic gates Analysis and design of clocked storage elements (e.g., flip-flops, latches, memory cells) Delay optimization of digital circuits Circuit topologies for arithmetic and logical functional units Analysis and design of single-stage MOS amplifiers Frequency response characteristics of single-stage amplifiers Differential amplifiers and simple operational amplifiers Analog filters using operational amplifiers The course includes a lab component which will give students hands-on experience in the design and implementation of analog and digital circuits. Labs will employ both design using discrete, SSI, and MSI parts, as well as using CAD design tools.
Prerequisite: 18-220 Min. grade C
18-330 Introduction to Computer Security
Fall and Spring: 12 units
Security is becoming one of the core requirements in the design of critical systems. This course will introduce students to the intro-level fundamental knowledge of computer security and applied cryptography. Students will learn the basic concepts in computer security including software vulnerability analysis and defense, networking and wireless security, and applied cryptography. Students will also learn the fundamental methodology for how to design and analyze security critical systems.
Prerequisite: 18-213 Min. grade C
18-334 Network Security
Spring: 12 units
Some of today's most damaging attacks on computer systems involve exploitation of network infrastructure, either as the target of attack or as a vehicle to advance attacks on end systems. This course provides an in-depth study of network attack techniques and methods to defend against them. The course will cover topics spanning five broad themes: (1) infrastructure topics such as firewalls, network intrusion detection, secure routing protocols, and recent advances such as software-defined networking; (2)network attacks such as denial of service (DoS) and distributed denial-of-service (DDoS) attacks, worm and virus propagation; (3)analysis and inference topics such as network forensics and attack economics; (4) user related topics such as authentication, anonymity and censorship resilience; and (5) new technologies related to next-generation networks, and cellular and wireless networks. Students in 18-334 will share lectures and homeworks with students in 18-731. However, 18-731 will have additional requirements not shared by 18-334, including the requirement to produce scribe notes and to practice and demonstrate the ability to read and summarize scientific papers on the topics covered by the course.
Prerequisites: 15-330 Min. grade C or 18-330 Min. grade C
18-335 Secure Software Systems
Spring: 12 units
Poor software design and engineering are the root causes of most security vulnerabilities in deployed systems today. Moreover, with code mobility now commonplace and #8212;particularly in the context of web technologies and digital rights management and #8212;system designers are increasingly faced with protecting hosts from foreign software and protecting software from foreign hosts running it. This class takes a close look at software as a mechanism for attack, as a tool for protecting resources, and as a resource to be defended. Topics covered include the software design process; choices of programming languages, operating systems, databases and distributed object platforms for building secure systems; common software vulnerabilities, such as buffer overflows and race conditions; auditing software; proving properties of software; software and data watermarking; code obfuscation; tamper resistant software; and the benefits of open and closed source development. Students in 18-335 will share lectures and homeworks with students in 18-732. However, 18-732 has additional requirements not shared by 18-335, including the requirement to produce scribe notes and to practice and demonstrate the ability to read and summarize scientific papers on the topics covered by the course.
Prerequisites: (18-631 Min. grade C or 18-330 Min. grade C or 15-330 Min. grade C or 14-741 Min. grade C or 18-730 Min. grade C) and (14-513 Min. grade C or 18-213 Min. grade C or 15-513 Min. grade C or 18-613 Min. grade C or 15-213 Min. grade C)
18-340 Hardware Arithmetic for Machine Learning
Fall: 12 units
In this course, students explore the techniques for designing high-performance digital circuits for computation along with methods for evaluating their characteristics. We begin by reviewing number systems and digital arithmetic along with basic arithmetic circuits such as ripple-carry adders. From there, we move to more complex adders (carry-look-ahead, carry-skip, carry-bypass, etc.), multipliers, dividers, and floating-point units. For each circuit introduced, we will develop techniques and present theory for evaluating their functionality and speed. Other methods will be described for analyzing a circuit's power consumption, testability, silicon area requirements, correctness, and cost. In addition, we will utilize various CAD tools to evaluate the circuits described. Finally, advanced timing and clocking concepts will be investigated. For example, the notion of clock skew will be introduced and its impact on clock period for sequential circuits will be analyzed. We will also learn how to analyze and design asynchronous circuits, a class of sequential circuits that do not utilize a clock signal. Course projects focus on key arithmetic aspects of various machine learning algorithms including: K-nearest neighbors, neural networks, decision trees, and support vector machines. *Note: Although students in 18-340 and 18-640 will share lectures, labs, and recitations, students in 18-340 and 18-640 will receive different homework assignments, design projects, and exams. In some cases 18-640 students will also have different or additional lab sessions. The homework assignments, design projects, and exams that are given to the students registered for 18-640 will be more challenging than those given to the students registered for 18-340 in that they will have more complex designs, involve additional theoretical analysis, and have more stringent specifications (e.g., in area, power, performance, and robustness).
Prerequisite: 18-240 Min. grade C
18-341 Logic Design and Verification
Fall: 12 units
This course is a second level logic design course, studying the techniques of designing at the register-transfer and logic levels of complex digital systems using modern modeling, simulation, synthesis, and verification tools. Topics include register-transfer level systems (i.e., finite state machines and data paths), bus and communication system interfacing (such as a simplified USB interface), discrete-event simulation, testbench organization, assertion-based verification and functional coverage. Design examples will be drawn from bus and communication interfaces, and computation systems, emphasizing how these systems are designed and how their functionality can be verified. A modern hardware description language, such as SystemVerilog, will serve as the basis for uniting these topics. Quizzes, homeworks and design projects will serve to exercise these topics.
Prerequisite: 18-240 Min. grade C
18-344 Computer Systems and the Hardware-Software Interface
Fall: 12 units
This course covers the design and implementation of computer systems from the perspective of the hardware software interface. The purpose of this course is for students to understand the relationship between the operating system, software, and computer architecture. Students that complete the course will have learned operating system fundamentals, computer architecture fundamentals, compilation to hardware abstractions, and how software actually executes from the perspective of the hardware/software boundary. The course will focus especially on understanding the relationships between software and hardware, and how those relationships influence the design of a computer system's software and hardware. The course will convey these topics through a series of practical, implementation-oriented lab assignments.
Prerequisites: 18-213 Min. grade C and 18-240 Min. grade C
18-349 Introduction to Embedded Systems
Fall and Spring: 12 units
This practical, hands-on course introduces the various building blocks and underlying scientific and engineering principles behind embedded real-time systems. The course covers the integrated hardware and software aspects of embedded processor architectures, along with advanced topics such as real-time, resource/device and memory management. Students can expect to learn how to program with the embedded architecture that is ubiquitous in cell-phones, portable gaming devices, robots, PDAs, etc. Students will then go on to learn and apply real-time principles that are used to drive critical embedded systems like automobiles, avionics, medical equipment, the Mars rover, etc. Topics covered include embedded architectures (building up to modern 16/32/64-bit embedded processors); interaction with devices (buses, memory architectures, memory management, device drivers); concurrency (software and hardware interrupts, timers); real-time principles (multi-tasking, scheduling, synchronization); implementation trade-offs, profiling and code optimization (for performance and memory); embedded software (exception handling, loading, mode-switching, programming embedded systems). Through a series of laboratory exercises with state-of-the-art embedded processors and industry-strength development tools, students will acquire skills in the design/implementation/debugging of core embedded real-time functionality.
Prerequisites: 18-213 Min. grade C and 18-240 Min. grade C
18-351 Full Stack Skills for Engineers
Fall: 6 units
This course will introduce the principles, concepts, technologies, and practices of full-stack software development for creating end-to-end web applications using a classical client-server architecture and the model-view-controller pattern. Students will acquire basic front-end and back-end skills and learn how to apply modern development practices in the context of an individual hands-on project using the plain web stack for the front-end, TypeScript and a NoSQL database layer for the back-end, and other common libraries, light-weight frameworks, and tools as adjuncts. They will practice how to version-control the codebase, manage a small project, transform requirements expressed as user stories into working software in an incremental manner, maintain code quality, build their application on an integration server, and deploy it on the cloud. To enroll in this course, students must already be proficient in coding using multiple programming languages and familiar with the basics of algorithms, data structures, databases, and software design principles, including object-orientation. Each student will need their own laptop computer to use in the course.
Prerequisites: 18-213 Min. grade C or 15-213 Min. grade C or 17-214 Min. grade C
18-352 Software Engineering Essentials
Spring: 12 units
In this course, students will learn about and apply software engineering paradigms that have shaped the software industry over the past few decades. They will be exposed to fundamental disciplines of software engineering as well as central engineering practices that crosscut system, project, and user perspectives. They will iteratively analyze and implement user requirements in the presence of a customer proxy, and architect, design, implement, integrate, test, and deploy an evolving solution that balances multiple engineering and user constraints. The course is organized around a semester-long team project with frequent milestones, deliverables, demonstrations, and assessments. Newly introduced course topics are immediately applied to the team project. The team project starts right away and relies on several software technologies, tools, and stacks: prior knowledge of these elements is therefore paramount. To enroll, students must have substantial programming experience and be already familiar with these elements. This course can replace 18652 to satisfy a core requirement of ECEs MS-SE program.
Prerequisites: 18-351 Min. grade C or 17-437
18-358 Special Topics in Communications
Spring: 6 units
Please go to the ECE website to view "Special Topics in Communications" course descriptions.

Course Website: https://courses.ece.cmu.edu/
18-370 Fundamentals of Control
Fall: 12 units
This junior/senior-level undergraduate course introduces the fundamental principles and methodologies of classical feedback control of linear systems and its applications. Emphasis is on understanding physical principles in feedback systems, practical problem formulation and the analysis and synthesis of feedback control systems using frequency and time domain techniques. The covered material provides a foundation for further studies toward careers in motion control, automation, control electronics, robotics, systems science and engineering. The practical knowledge in this course represents necessary tools to design a broad variety of systems such as robots, servo and tracking systems, feedback circuits, phase-locked loops, and microelectromechanical systems. Topics include analytical, graphical and computer-aided techniques (MATLAB/Simulink) for analyzing, designing and realizing of feedback control systems; Laplace transforms and associated transfer function modeling; root-locus and frequency response (Bode plot) design; pole-zero synthesis techniques; analysis of trade-offs in performance: stability, transient response, steady-state error, disturbance rejection, and robustness; design and implementation of PID, lead-lag, and loop shaping compensators. If time permits, the course will include a cursory introduction to state space modeling, systems with delay and computer control systems.
Prerequisites: 18-290 Min. grade C or 24-352 Min. grade C or 18-220 Min. grade C
18-372 Fundamental Electrical Power Systems
Fall: 12 units
This course introduces the fundamentals in electric energy systems which will enable you to understand current issues and challenges in electric power systems ("smart grid") and what it takes for you to have a reliable electric power supply at your house. First, the general structure of an electric power system (current and future trends) will be introduced. This includes electric power plants (renewable and non-renewable); transmission and distribution; and consumers. Then, electric power is addressed from a mathematical point of view. The mathematical formulae for AC power and models for the above mentioned elements are derived which will enable you to calculate how much power is flowing over which lines on its way from the power plant to the consumer. Maintaining the balance between generation and consumption is important to avoid catastrophic blackout events. Hence, the notion of stability and available control concepts will be introduced.
Prerequisites: 18-202 Min. grade C and 18-220 Min. grade C
18-390 ECE CO-OP
Fall and Spring
The Department of Electrical and Computer Engineering at Carnegie Mellon considers experiential learning opportunities important educational options for its undergraduate students. One such option is cooperative education, which provides a student with an extended period of exposure with a company. To participate, students must work with their academic advisor to complete an ECE Co-op Approval form and submit for approval. Students must possess at least junior status and have an overall grade point average of 3.0 or above. All co-ops must be approximately 8 months in uninterrupted length. If the co-op is approved, the ECE Undergraduate Studies Office will add the course to the student's schedule. Upon completion of the co-op experience, students must submit a 1-2 page report of their work experience, and a 1-2 page evaluation from the company supervisor to the ECE Undergraduate Office. International students should also be authorized by the Office of International Education (OIE). More information regarding CPT is available on OIE's website.
18-399 Special Topics in Signal Processing
Intermittent: 3 units
Please refer to the ECE website to view "Special Topics in Signal Processing" course descriptions. http://www.ece.cmu.edu/courses/index.html
18-401 Electromechanics
12 units
This course provides a broadly based introduction to interactions between mechanical media and electromagnetic fields. Attention is focused on the electromechanical dynamics of lumped-parameter systems, wherein electrical and mechanical subsystems may be modeled in terms of discrete elements. Interactions of quasistatic electric and magnetic fields with moving media are described and exemplified. Unifying examples are drawn from a wide range of technological applications, including energy conversion in synchronous, induction, and commutator rotating machines, electromechanical relays, a capacitor microphone and speaker, and a feedback-controlled magnetic levitation system. 4.5 hrs. rec.
Prerequisite: 18-300
18-402 Applied Electrodynamics
Spring: 12 units
This course builds upon the electric and magnetic field foundations established in 18-300 to describe phenomena and devices where electromagnetic waves are a central issue. Topics include: review of Maxwell's equations, propagation of uniform plane waves in lossless and lossy media, energy conservation as described by the Poynting Theorem, reflection and transmission with normal and oblique incidence upon boundaries, sinusoidal steady state and transients on 2-conductor transmission lines, modal descriptions of waveguides, radiation and antennas. 4 hrs. lec.
Prerequisite: 18-300
18-403 Microfabrication Methods and Technology
Fall: 12 units
This course is a laboratory-based introduction to the theory and practice of microfabrication. Lectures and laboratory sessions cover fundamental processing techniques such as photo-mask creation, lithographic patterning, thin film vacuum deposition processes, wet-chemical and dry-etching processes. This is primarily a hands-on laboratory course which brings students into the microfabrication facility and device testing laboratories. Students will fabricate electronic and opto-electronic devices such the metal-oxide-semiconductor (MOS) capacitor, the Schottky diode, the MOS transistor, the solar cell, and the light-emitting diode. An understanding of the operation of these building block devices will be gained by performing measurements of their electrical and opto-electronic characteristics. Emphasis is placed on understanding the interrelationships between the materials properties, processing, device structure, and the electrical and optical behavior of the devices. The course is intended to provide a background for a deeper appreciation of solid state electronic devices and integrated circuits. 2 lecture periods per week and a minimum of 4 laboratory hours.
Prerequisite: 18-310
18-411 Computational Techniques for Data Science and Engineering
Spring: 12 units
This course covers mathematical techniques that permit formulation of equations that often emerge out of engineering and science problems or experimental data in a manner that makes them computationally tractable for numerical solutions and analysis. Numerical approaches to solving engineering or science equations allow one to perform computer simulations that can often answer key questions without actual experimentation (which can be costly and time-consuming). The course is divided into two major modules. The first develops foundational background in modeling, computers, error analysis, linear algebra, regression, and curve fitting. To illustrate applications of the main concepts of the first module, we discuss how to use them in machine learning, specifically in deep learning. Students carry out a deep learning project of their choosing to sharpen their comprehension of both the mathematics behind deep learning, and the machine learning algorithms that enable the most common applications of deep learning. The second module builds on the first to develop skills in numerical differentiation and integration and continues with techniques for computational solution of ordinary and partial differential equations that arise from physical or engineering problems. Students learn how to set up these equations in a manner that allows numerical solutions to be obtained by either writing simple computer code or macros that interface with open-source Python code or commercially available software packages such as MATLAB or Mathematica.
Prerequisites: (15-110 Min. grade C or 15-112) and 21-120
18-416 Nano-Bio-Photonics
Spring: 12 units
Light can penetrate biological tissues non-invasively. Most of the available bio-optic tools are bulky. With the advent of novel nanotechnologies, building on-chip integrated photonic devices for applications such as sensing, imaging, neural stimulation, and monitoring is now a possibility. These devices can be embedded in portable electronic devices such as cell phones for point of care diagnostics. This course is designed to convey the concepts of nano-bio-photonics in a practical way to prepare students to engage in emerging photonic technologies. The course starts with a review of electrodynamics of lightwaves. The appropriate choice of wavelength and material platform is the next topic. Then optical waveguides and resonators are discussed. Resonance-based sensing is introduced followed by a discussion of the Figure of Merits (FOMs) used to design on-chip sensors. Silicon photonics is introduced as an example of a CMOS-compatible platform. On-chip spectroscopy is the next topic. The second part covers nano-plasmonics for bio-detection and therapy. The design methods are discussed, followed by an overview of nanofabrication and chemical synthesis, and then a discussion of applications. The last part of this course will be dedicated to a review of recent applications such as Optogenetic neural stimulation, Calcium imaging, Cancer Imaging and Therapy. Senior or graduate standing required. This course is cross-listed with 18616. Although students in 18-616 and 18-416 will share the same lectures and recitations, students in 18-616 will receive distinct course projects. Students in 18-416 and 18-616 will be graded on separate curves.
Prerequisite: 18-300 Min. grade C
18-421 Analog Integrated Circuit Design
Spring: 12 units
Some form of analog circuit design is a critical step in the creation of every modern IC. First and foremost, analog circuits act as the interface between digital systems and the real world. They act to amplify and filter analog signals, and to convert signals from analog to digital and back again. In addition, high performance digital cell design (either high speed or low power) also invokes significant analog circuit design issues. The goal of this course is to teach students some of the methods used in the design and analysis of analog integrated circuits, to illustrate how one approaches design problems in general, and to expose students to a broad cross-section of important analog circuit topologies. The course will focus on learning design through carrying out design projects. Design and implementation details of wide-band amplifiers, operational amplifiers, filters and basic data converters will be covered. Example topics to be covered include transistor large- and small-signal device models, small-signal characteristics of transistor-based amplifiers, large-signal amplifier characteristics and nonidealities, operational amplifier design, basic feedback amplifier stability analysis and compensation, and comparator design. The course will focus primarily on analog CMOS, but some aspects of BJT design will be discussed. 18-290 and 18-320 or equivalent background material with permission of the instructor. Although students in 18-623 will share Lectures and Recitations with students in 18-421, students in 18-623 will receive distinct homework assignments, distinct design problems, and distinct exams from the ones given to students in 18-421 and will be graded on a separate curve from students taking 18-421.
Prerequisites: 18-320 Min. grade C and 18-290 Min. grade C
18-422 Digital Integrated Circuit Design
Fall: 12 units
This course covers the design and implementation of digital circuits in a modern VLSI process technology. Topics will include logic gate design, functional unit design, latch/flip-flop design, system clocking, memory design, clock distribution, power supply distribution, design for test, and design for manufacturing. The lab component of the course will focus on using modern computer aided design (CAD) software to design, simulate, and lay out digital circuits. The final project for the course involves the design and implementation to the layout level of a small microprocessor. 18-240 and 18-320 or equivalent background material with permission of the instructor. Although students in 18-422 and 18-622 will share lectures, labs, and recitations, students in 18-422 and 18-622 will receive different homework assignments, design projects, and exams, and in some cases 18-622 students will also have different or additional lab sessions.
Prerequisites: 18-240 Min. grade C and 18-320 Min. grade C
18-435 Foundations of Blockchains
Fall: 12 units
In this course, students will learn the mathematical foundations of blockchains, including how to construct distributed consensus protocols and prove them secure, cryptography for blockchains, and mechanism design for blockchains. This course will take a mathematically rigorous approach. Students are expected to have mathematical maturity and be able to write formal mathematical proofs. Students may also be expected to implement some consensus or cryptographic algorithms. This course is crosslisted with 18635. ECE graduate students will be prioritized for 18635, and ECE undergraduate students will be prioritized for 18435. Although students in 18435 will share lectures with students in 18635, students in 18435 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18635. Specifically, the homework assignments, programming projects, and exams that are given to the 18635 students will be more challenging than those given to the 18435 students.
Prerequisites: 18-334 Min. grade C or 18-335 Min. grade C or 18-465 Min. grade C or 18-733 Min. grade C or (18-202 Min. grade C and 18-213 Min. grade C) or (18-202 Min. grade C and 15-513 Min. grade C) or (18-202 Min. grade C and 18-613 Min. grade C) or (18-202 Min. grade C and 14-513 Min. grade C)
18-441 Computer Networks
Fall: 12 units
The Internet has transformed our everyday lives, bringing people closer together and powering multi-billion dollar industries. The mobile revolution has brought Internet connectivity to the last-mile, connecting billions of users worldwide. But how does the Internet work? What do oft repeated acronyms like "LTE", "TCP", "WWW" or a "HTTP" actually mean and how do they work? This course introduces fundamental concepts of computer networks that form the building blocks of the Internet. We trace the journey of messages sent over the Internet from bits in a computer or phone to packets and eventually signals over the air or wires. We describe concepts that are common to and differentiate traditional wired computer networks from wireless and mobile networks. Finally, we build up to exciting new trends in computer networks such as the Internet of Things, 5-G and software defined networking. Topics include: physical layer and coding (CDMA, OFDM, etc.); data link protocol; flow control, congestion control, routing; local area networks (Ethernet, Wi-Fi, etc.); transport layer; and introduction to cellular (LTE) and 5-G networks. A final project asks you to a build a HTTP video server of your own. This course is cross-listed with 18-741 - both editions will share Lectures and Recitations. However, students in the two courses will receive different exams and will have a different project. The students in the two versions of the course will be graded on a separate curve.
Prerequisites: (36-225 Min. grade C or 36-226 Min. grade C or 36-212 Min. grade C or 36-217 Min. grade C) and 18-213 Min. grade C
18-447 Introduction to Computer Architecture
Spring: 12 units
Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course introduces the basic hardware structure of a modern programmable computer, including the basic laws underlying performance evaluation. We will learn, for example, how to design the control and data path hardware for a MIPS-like processor, how to make machine instructions execute simultaneously through pipelining and simple superscalar execution, and how to design fast memory and storage systems. The principles presented in the lecture are reinforced in the laboratory through the design and simulation of a register transfer (RT) implementation of a MIPS-like pipelined superscalar in Verilog. Learning to design programmable systems requires that you already have the knowledge of building RT systems, the knowledge of the behavior storage hierarchies (e.g., cache memories) and virtual memory, and the knowledge of assembly language programming.
Prerequisites: 18-240 Min. grade C and (18-213 Min. grade C or 15-213 Min. grade C) and (18-349 Min. grade C or 18-320 Min. grade C or 18-340 Min. grade C or 18-330 Min. grade C or 18-341 Min. grade C or 18-344 Min. grade C)
18-448 Special Topics in Embedded Systems
Intermittent: 12 units
Please refer to the ECE website for descriptions of each topic: https://courses.ece.cmu.edu/
18-452 Wireless Networking and Applications
Spring: 12 units
This course introduces fundamental concepts of wireless networks. The design of wireless networks is influenced heavily by how signals travel through space, so the course starts with an introduction to the wireless physical layer, presented in a way that is accessible to a broad range of students. The focus of the course is on wireless MAC concepts including CSMA, TDMA/FDMA, and CDMA. It also covers a broad range of wireless networking standards, and reviews important wireless network application areas (e.g., sensor networks, vehicular) and other applications of wireless technologies (e.g., GPS, RFID, sensing, etc.). Finally, we will touch on public policy issues, e.g., as related to spectrum use. The course will specifically cover: Wireless networking challenges Wireless communication overview Wireless MAC concepts Overview of cellular standards and LTE Overview of wireless MAC protocols WiFi, bluetooth and personal area networks, etc. Wireless in today's Internet: TCP over wireless, mobility, security, etc. Advanced topics, e.g., mesh and vehicular networks, sensor networks, DTNs, localization, sensing, etc. Although students in 18-750 will share Lectures and Recitations with students in 18-452, they will receive distinct homework assignments and exams from students in 18-452. The main project will also be different. The students in the two version of the course will also be graded on a separate curve.
Prerequisites: 15-213 Min. grade C or 18-613 Min. grade C or 18-213 Min. grade C
18-453 Introduction to XR Systems
Fall: 12 units
Digitization of reality is at the cusp of widespread adoption; it also embodies a unique convergence of techniques that span the gamut of electrical and computer engineering. This course introduces students to augmented/virtual/mixed reality systems, or what is broadly referred to as extended reality (XR). The course covers hardware and software topics central to XR systems, namely, content capture, streaming, and display, looking at both commercial and research- grade systems. A course project will allow students to experience and innovate in this space.
Prerequisites: 18-213 Min. grade C or 18-290 Min. grade C
18-460 Optimization
Spring: 12 units
Many design problems in engineering (e.g., machine learning, finance, circuit design, etc.) involve minimizing (or maximizing) a cost (or reward) function. However, solving these problems analytically is often challenging. Optimization is the study of algorithms and theory for numerically solving such problems, and it underpins many of the technologies we use today. This course is an introduction to optimization. Students will: (1)learn about common classes of optimization problems, (2) study (and implement) algorithms for solving them, and (3) gain hands-on experience with standard optimization tools. We will focus on convex optimization problems, but will also discuss the growing role of non-convex optimization, as well as some more general numerical methods. The course will emphasize connections to real-world applications including machine learning, networking, and finance. The course will involve lectures, homework, exams, and a project. This course is crosslisted with 18660. Although students in 18460 will share lectures with students in 18660, students in 18460 will receive distinct homework assignments, distinct design problems, and distinct exams from the ones given to students in 18660. Specifically, the homework assignments, design problems and exams that are given to the 18660 students will be more challenging than those given to the 18460 students.
Prerequisites: (21-254 Min. grade C or 21-259 Min. grade C or 21-260 Min. grade C or 18-202 Min. grade C) and (36-217 Min. grade C or 21-325 Min. grade C or 36-225 Min. grade C or 36-218 Min. grade C or 36-219 Min. grade C) and 21-241 Min. grade C
18-461 Introduction to Machine Learning for Engineers
Fall: 12 units
This course provides an introduction to machine learning with a special focus on engineering applications. The course starts with a mathematical background required for machine learning and covers approaches for supervised learning (linear models, kernel methods, decision trees, neural networks) and unsupervised learning (clustering, dimensionality reduction), as well as theoretical foundations of machine learning (learning theory, optimization). Evaluation will consist of mathematical problem sets and programming projects targeting real-world engineering applications. This course provides an introduction to machine learning with a special focus on engineering applications. The course starts with a mathematical background required for machine learning and covers approaches for supervised learning (linear models, kernel methods, decision trees, neural networks) and unsupervised learning (clustering, dimensionality reduction), as well as theoretical foundations of machine learning (learning theory, optimization). Evaluation will consist of mathematical problem sets and programming projects targeting real-world engineering applications. This course is crosslisted with 18661. ECE graduate students will be prioritized for 18661, and ECE undergraduate students will be prioritized for 18461. Although students in 18461 will share lectures with students in 18661, students in 18461 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18661. Specifically, the homework assignments, programming projects, and exams that are given to the 18661 students will be more challenging than those given to the 18461 students.
Prerequisites: 18-202 Min. grade C and 21-127 Min. grade C and 15-122 Min. grade C and (36-225 Min. grade C or 36-218 Min. grade C or 21-325 Min. grade C or 36-217 Min. grade C or 36-219 Min. grade C)
18-462 Principles and Engineering Applications of AI
Spring: 12 units
This is a first-year graduate course in Principles and Engineering Applications of AI. The course will review the basic principles of AI. Some of the specific topics that will be covered are the following: 1) Intelligent Agents; 2) Single-Agents and Multi-Agent Systems (MAS); 3) Uncertain Knowledge and Reasoning (Probabilistic Reasoning and Probabilistic Reasoning over Time, Bayesian Networks, Dynamic Bayesian Networks, Hidden Markov Models, Kalman Filters, MCMC algorithms, etc.); 4) Learning; 5) Communicating, Perceiving, and Acting; 6) Robotics. The course will involve completing a set of challenging engineering applications of AI that will include: Medical applications, Video Games, Autonomous driving, Autonomous Robots, Finance and Economics, Military, Art, Advertising. Students should have a good background in basic probability theory, maturity in mathematical topics, and good programming skills. For seniors who would like to take the course but do not have the necessary prerequisites, instructor's permission will be required. Although students in 18462 will share lectures with students in 18662, students in 18462 will receive distinct homework assignments, distinct projects, and distinct exams from the ones given to students in 18662. Specifically, the homework assignments, projects, and exams that are given to the 18662 students will be more challenging than those given to the 18462 students.
Prerequisites: 18-751 Min. grade B or 36-218 Min. grade B or 36-217 Min. grade B or 36-219 Min. grade B
18-464 ULSI Technology Status and Roadmap for System on Chips and System in Package
Fall and Spring: 12 units
This course will provide the necessary background for the state-of-the art technologies utilized by the leading edge products covering full spectrum of market drivers from mobile platforms, microprocessors, game chips to the highest performance systems for enterprise solutions computing. We will present all key components of such systems, i.e., logic, analog/RF and embedded memories. Then we present the technology roadmap for the upcoming generations in terms of device architecture options for logic devices (FinFET, Nanowire and Tunnel FET) and memories (Phase Change Memory , Resistive RAM and Magnetic RAM/Spin-Transfer Torque RAM) from the device level all the way to the system level specifications. The last part of the class will be devoted to the system integration issues, namely 3-dimensional integration approaches. This course is designed for MS and PhD students from diverse areas: System/Hardware Design, Circuits and Devices/Nanofabrication and is aimed at bridging the gap among these areas.
Prerequisites: 18-422 or 18-320
18-465 Advanced Probability & Statistics for Engineers
Spring: 12 units
This course will help masters and undergraduate students to obtain the background necessary for excelling in courses and careers in machine learning, artificial intelligence, and related fields. We will cover basic concepts of probability prerequisite to understanding the material typically taught in a ML course. We will also cover slightly more advanced topics including Markov Chains, hypothesis testing, and maximum-likelihood estimation. The remaining part of the semester will be devoted to introducing machine learning concepts such as supervised/unsupervised learning, model identification, clustering, expectation maximization, etc. Students should be familiar with basic calculus, linear algebra. Although students in 18465 will share lectures with students in 18665, students in 18465 will receive distinct homework assignments, distinct projects, and distinct exams from the ones given to students in 18665. Specifically, the homework assignments, projects, and exams that are given to the 18665 students will be more challenging than those given to the 18465 students.
18-469 Special Topics in Integrated Systems Technology
Fall: 12 units
Please refer to the ECE website for topic descriptions.

Course Website: https://courses.ece.cmu.edu/
18-474 Embedded Control Systems
Spring: 12 units
This course introduces principles for design of embedded controllers. In applications ranging from airplanes, to automobiles, to manufacturing systems, embedded computers now close feedback loops that were previously closed by mechanical devices or by humans in the loop. This course emphasizes practical insight into the tools for modeling and simulating these dynamic physical systems, and methods for designing the real-time software for embedded computers to control them. Lectures cover relevant theory and background from real-time systems and control engineering, including event-based and clock-based sampling, switching control, PWM (pulse-width modulation), PID (proportional-integral-derivative) design, state-variable feedback, state estimation, and methods for setpoint control and trajectory tracking. Basic embedded computing, sensor, and actuator technologies are reviewed, including microcontrollers, DC motors and optical encoders. In the laboratory, students use commercial tools for simulation and automatic code generation to design and implement embedded control system experiments. 3 hrs. lecture, 3 hrs. lab.
Prerequisites: (18-213 or 15-213) and (18-290 or 18-396 or 18-370)
18-482 Telecommunications Technology and Policy for the Internet Age
Spring: 12 units
Modern telecommunications is the nervous system of society. The Internet and wireless communications have transformed every aspect of our modern life. This course provides a comprehensive introduction to basic principles of telecommunications technology and the legal, economic, and regulatory environment of today's networks. Topics covered include the fundamentals of communication network technologies, including video, voice, and data networks; the rising dominance of wireless networks; principles behind telecommunications regulation from common carrier law and natural monopoly to information diversity, privacy and national security; traffic differentiation on the Internet and the debate over network neutrality; universal service and the digital divide; mergers, antitrust, and the changing industrial structure of the communications sector. We will explore current topical questions such as the future of competition; the shift of entertainment video from cable and satellite to Internet delivery; how cloud computing concepts are transforming networks; and communications support for the Internet of Things. Comparison with European approaches to communications regulation. Special emphasis on how new technologies have altered, and are altered by, regulation. Junior, Senior or graduate standing required.
Prerequisite: 73-102
18-487 Introduction to Computer Security
Fall: 12 units
Security is becoming one of the core requirements in the design of critical systems. This course will introduce students to the intro-level fundamental knowledge of computer security and applied cryptography. Students will learn the basic concepts in computer security including software vulnerability analysis and defense, networking and wireless security, and applied cryptography. Students will also learn the fundamental methodology for how to design and analyze security critical systems. Anti-requisites: 18-631 and 18-730
Prerequisite: 18-213
18-490 Electroacoustics
Fall: 12 units
This course provides an introduction to physical, engineering, and architectural acoustics. The course begins with a review of the wave equation and some of its solutions that are relevant to the propagation of sound from planar and spherical sources, and from arrays of simple sources. Lumped-parameter electrical circuit analogies are developed to describe mechanical and acoustical systems, leading to a discussion of the constraints and tradeoffs involved in the design of loudspeakers, microphones, and other transducers. The characteristics of sound in regular and irregular enclosures will be developed and discussed in the context of the acoustical design for rooms and auditoriums. The interaction of sound and man is also discussed, with introductory lectures on auditory perception and the acoustics of speech production, with applications in the areas of efficient perceptually-based coding of music and speech, and virtual acoustical environments.
Prerequisites: 18-290 Min. grade C and 18-220 Min. grade C
18-491 Digital Signal Processing
Fall: 12 units
This course addresses the mathematics, implementation, design and application of the digital signal processing algorithms widely used in areas such as multimedia telecommunications and speech and image processing. Topics include discrete-time signals and systems, discrete-time Fourier transforms and Z-transforms, discrete Fourier transforms and fast Fourier transforms, digital filter design and implementation, and multi-rate signal processing. The course will include introductory discussions of 2-dimensional signal processing, linear prediction, adaptive filtering, and selected application areas. Classroom lectures are supplemented with implementation exercises using MATLAB. Students in 18491 and 18691 will share the same lectures and recitations. Nevertheless, students receiving credit for 18691 will be required to complete an additional capstone project at the end of the semester. Students in 18691 may have additional homework problems on a weekly basis.
Prerequisite: 18-290 Min. grade C
18-495 Speech Processing
Fall: 12 units
Speech Processing offers a practical and theoretical understanding of how human speech can be processed by computers. It covers speech recognition, speech synthesis and spoken dialog systems. The course involves practicals where the student will build working speech recognition systems, speech synthesis systems and integrate them to create a speech interface. This work will be based on existing toolkits. Details of algorithms, techniques and limitations of state of the art speech systems will also be presented. This course is designed for students wishing understand how to process real data for real applications, applying statistical and machine learning techniques as well as working with limitations in the technology.
Prerequisite: 15-211 Min. grade B
18-499 Summer Internship
All Semesters
The Department of Electrical and Computer Engineering at Carnegie Mellon considers experiential learning opportunities important educational options for its undergraduate students. One such option is an internship, normally completed during the summer. Students do not need to officially register for an internship unless they want it listed on their official transcripts. ECE students interested in registering their internship for course credit on their transcript may request to be enrolled in this course. The ECE Undergraduate Office will add the course to the student's schedule, and the student will be assessed tuition for 3 units. This process should be used by international students interested in Curricular Practical Training (CPT) or by any other engineering undergraduate wishing to have their internship experience reflected on their official University transcript. International students should also be authorized by the Office of International Education (OIE). More information regarding CPT is available on OIE's website.
18-500 ECE Design Experience
Fall and Spring: 12 units
The ECE Design Experience is a capstone design course that serves to introduce students to broad- based, practical engineering design and applications through an open-ended design problem. Students will work with a team on a project of their choosing (subject to instructor approval) throughout the semester culminating with a final project presentation, report, and public demonstration. The projects will need to encompass a minimum of two ECE areas. Throughout the semester, teams will need to give both written and oral project proposals and periodic performance updates. Team-building experiences designed to educate students on group dynamics, resource management, deadline planning, Big-picture implications of engineering applications: societal, human, ethical, and long-term impact will be explored. Please note that the full prerequisite list of "All ECE Core Courses plus any two 18-xxx ECE Area Courses" is too long to be put into the registration system. As a result ALL students will be waitlisted for 18-500. Students will be registered once it has been confirmed they have completed the prerequisites, after final grades for the current semester.
18-540 Rapid Prototyping of Computer Systems
Spring: 12 units
This is a project-oriented course which will deal with all four aspects of project development; the application, the artifact, the computer-aided design environment, and the physical prototyping facilities. The class, in conjunction with the instructors, will develop specifications for a mobile computer to assist in inspection and maintenance. The application will be partitioned between human computer interaction, electronics, industrial design, mechanical, and software components. The class will be divided into groups to specify, design, and implement the various subsystems. The goal is to produce a working hardware/software prototype of the system and to evaluate the user acceptability of the system. We will also monitor our progress in the design process by capturing our design escapes (errors) with the Orthogonal Defect Classification (ODC). Upon completion of this course the student will be able to: generate systems specifications from a perceived need; partition functionality between hardware and software; produce interface specifications for a system composed of numerous subsystems; use computer-aided design tools; fabricate, integrate, and debug a hardware/software system; and evaluate the system in the context of an end user application. Senior standing is required. This course is crosslisted as 18745
Prerequisites: (18-491 Min. grade C or 18-320 Min. grade C or 18-370 Min. grade C) and (18-340 Min. grade C or 18-341 Min. grade C or 18-349 Min. grade C) and 18-213 and 18-220 and 18-240 and 18-290
18-555 Entrepreneurial Engineering Project
Fall and Spring: 12 units
In this course, Undergraduate (18555) and MS (18655) students participate in projects to develop exploratory designs of systems for a wide range of applications. Each project is unique to a team of students who will typically be paired with an external investment partner. All the projects will be designed, developed, and led by students. Entry into the course is by invitation from the faculty instructor (typically advised by the external investment partners). Student teams will be invited based on the alignment of their skill sets and experience with a set of posted projects. Teams may also be invited based on a student-initiated pitch of their own ideas and its alignment with external investor interest. Students interested in the course can indicate their interest, qualifications, and project ideas via instructions from departmental advisors or the course instructor. Grades will be assigned by the faculty instructor based on novelty and creativity of the project, engineering process, and weekly progress, not the ultimate success or failure of the project idea or originally proposed solution. Following completion of the course, the external investment partners and students can independently explore subsequent seed funding and/or licensing of successful ideas and projects. Please note that the prerequisite list of "Any 2 18-xxx ECE Area Courses" is too long to be put into the registration system. Students whose applications are selected will be registered once it has been confirmed they have completed the prerequisites, after final grades for the current semester.
18-570 Summer Undergraduate Student-Directed Projects
Summer
Student-directed projects may be available in the summer semester only, allowing a student to explore a topic of their choosing. Students are responsible for pursuing such an option with a faculty member. Enrollment in 18570 precludes earning pay or research credit and requires completing a directed study agreement.
18-578 Mechatronic Design
Spring: 12 units
Mechatronics is the synergistic integration of mechanism, electronics, and computer control to achieve a functional system. Because of the emphasis upon integration, this course will center around system integration in which small teams of students will configure, design, and implement a succession of mechatronic subsystems, leading to a main project. Lectures will complement the laboratory experience with comparative surveys, operational principles, and integrated design issues associated with the spectrum of mechanism, electronics, and control components. Class lectures will cover topics intended to complement the laboratory work, including mechanisms, actuators, motor drives, sensors and electronic interfaces, microcontroller hardware and programming and basic controls. During the first week of class, each student will be asked to complete a questionnaire about their technical background. The class will then be divided into multi-disciplinary teams of three students. During the first half of the class, lab assignments will be made every 1-2 weeks to construct useful subsystems based on material learned in lecture. The lab assignments are geared to build to the main project. This course is cross-listed as 16-778 and 24-778. Students in other departments may take the course upon availability of slots with permission of instructor. Non ECE students may take the course upon availability of slots with permission of the instructor.
Prerequisites: (18-320 and 18-348) or (15-313 and 18-348) or (18-370 and 18-348) or (18-349 and 18-370) or (18-349 and 15-313) or (18-320 and 18-349) or (18-320 and 18-370)
18-580 Undergraduate Projects
All Semesters
The Department of Electrical and Computer Engineering at Carnegie Mellon considers experiential learning opportunities to be important educational options for its undergraduate students. One such option is conducting undergraduate research with a faculty member. Students do not need to officially register for undergraduate research unless they want it listed on their official transcripts. An ECE student who is involved in a research project and is interested in registering this undergraduate research for course credit on the official transcript may request to be enrolled in this course. To do this, the student should first complete the online undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member with whom the student is conducting the research, the ECE Undergraduate Office will add the course to the student's schedule. Typically, credit is granted according to one hour of research per week is equal to one unit of credit.
18-591 ECE Teaching Assistant Experience
Fall and Spring
Students must complete the online Teaching Assistant application to be considered for a position. TAs can expect to work 10-12 hours per week on average. See https://www.ece.cmu.edu/insider/teaching-opportunities.html for further information about applying for a Teaching Assistant position.
18-614 Microelectromechanical Systems
Fall: 12 units
This course introduces fabrication and design fundamentals for Microelectromechanical Systems (MEMS): on-chip sensor and actuator systems having micron-scale dimensions. Basic principles covered include microstructure fabrication, mechanics of silicon and thin-film materials, electrostatic force, capacitive motion detection, fluidic damping, piezoelectricity, piezoresistivity, and thermal micromechanics. Applications covered include pressure sensors, micromirror displays, accelerometers, and gas microsensors. Grades are based on exams and homework assignments. 4 hrs. lec.
Prerequisites: 18-300 Min. grade C or 18-310 Min. grade C or 24-351 Min. grade C or 18-320 Min. grade C
18-681 Power Electronics
Fall: 12 units
This course is aimed at developing Power Electronics expertise in Masters level students to develop knowledge and skills necessary for the formation of a power electronics engineer. Considerations of static and dynamic characteristics of power semiconductor devices including thermal management are followed by the analysis and design of principal types of power converters. Key applications are also considered so that the course provides a broad knowledge and skills in the field of power electronics in wide ranging applications. Assessment is based on assignments and examinations. It is assumed that students will have an understanding of electrical and amp; electronic principles, power systems, and electrical machines. Content includes: Power Semiconductor Devices Static and Dynamic Characteristics; Application of semiconductor devices and components in the medium to high voltage environment: Series and parallel operation, damping components; Spread of device characteristics, Thermal Management; Naturally commutated converters: Single phase and three phase up to 12 pulse, analysis and operation; Effect of supply side reactance; Grid applications; DC-DC Converters and energy storage: step up and step down operation, application to electric vehicles, battery management and PV systems; Self-commutated converters; Pulsewidth modulation; Multilevel converters; HVDC light; Voltage source converter based HVDC; AC to AC Converters: grid applications.
18-866 Off-Grid Electricity Systems
Spring: 6 units
Over one billion people in the world still lack access to electricity, many of them out of reach of the electricity grid in the near term. This course will explore the technologies and architectures used to provide electricity services in off-grid regions of the developing world. Basic system design principles will be discussed and applied. Students will use energy modeling software to characterize the performance and economic viability of off-grid electricity systems. In addition to studying off-grid technologies, the course will also explore the context in which these systems are deployed and their role in enabling development.
18-867 Applied Smart Grid Telecoms
Spring: 6 units
This course examines applications of standards for communications protocols in smart grids, covering relevant standards such as IEC61850 and DNP3. Participants will complete assignments based on real world examples that explore the implementation and limitations of smart grids telecommunications. Appropriate for communications engineers wanting to understand the power grid, and power engineers wanting to develop their applied knowledge of communications.

Faculty

GEORGE AMVROSIADIS, Assistant Research Professor of Electrical and Computer Engineering – Ph.D., University of Toronto, Canada; Carnegie Mellon, 2018–

JIM BAIN, Associate Department Head for Academic Affairs and Professor of Electrical and Computer Engineering and Materials Science Engineering; Associate Director, DSSC – Ph.D., Stanford University; Carnegie Mellon, 1993–

LUJO BAUER, Professor of Electrical and Computer Engineering – Ph.D., Princeton University; Carnegie Mellon, 2005–

THEO BENSON, Professor of Electrical and Computer Engineering – Ph.D., University of Wisconsin-Madison; Carnegie Mellon, 2022–

VIJAYAKUMAR BHAGAVATULA, U.A. and Helen Witaker Professor of Electrical and Computer Engineering, Affiliated Faculty, DSSC – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1982–

SHAWN BLANTON, Associate Department Head for Research; Joseph F. and Nancy Keithley Professor of Electrical and Computer Engineering – Ph.D., University of Michigan; Carnegie Mellon, 1995–

DAVID BRUMLEY, Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2008–

MARK BUDNIK, Teaching Professor of Electrical and Computer Engineering – Ph.D., Purdue University; Carnegie Mellon, 2021–

L. RICHARD CARLEY, Professor of Electrical and Computer Engineering; Affiliated Faculty, DSSC – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 1984–

MAYSAM CHAMANZAR, Dr. William D. and Nancy W. Strecker Career Development Associate Professor, Electrical and Computer Engineering – Ph.D., Georgia Institute of Technology; Carnegie Mellon, 2015–

VANESSA CHEN, Assistant Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2019–

YUEJIE CHI, Professor of Electrical and Computer Engineering – Ph.D., Princeton University; Carnegie Mellon, 2018–

MARC DANDIN, Assistant Professor of Electrical and Computer Engineering – Ph.D., University of Maryland, College Park; Carnegie Mellon, 2019–

HAKAN ERDOGMUS, Teaching Professor of Electrical and Computer Engineering; Carnegie Mellon University Silicon Valley – Ph.D., Université du Québec; Carnegie Mellon, 2014–

GIULIA FANTI, Assistant Professor of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2017–

GARY FEDDER, Howard M. Wilkoff Professor of Electrical and Computer Engineering; Co-Director MEMS, Affiliated Faculty DSSC – Ph.D., University of California at Berkeley; Carnegie Mellon, 1994–

FRANZ FRANCHETTI, Kavčić-Moura Professor of Electrical and Computer Engineering; Associate Dean for Research, College of Engineering, Director Engineering Research Accelerator – Ph.D., Vienna University of Technology; Carnegie Mellon, 2001–

GREGORY R. GANGER, Jatras Professor of Electrical and Computer Engineering; Director Parallel Data Lab – Ph.D., University of Michigan; Carnegie Mellon, 1997–

PHILLIP GIBBONS, Professor of Electrical and Computer Engineering and Computer Science – Ph.D., University of California at Berkeley; Carnegie Mellon, 2015–

VIRGIL GLIGOR, Professor of Electrical and Computer Engineering; Co-Director CyLab – Ph.D., University of California at Berkeley; Carnegie Mellon, 2008–

PULKIT GROVER, Angel Jordan Professor of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2013–

ASSANE GUEYE, Assistant Teaching Faculty Professor of Electrical and Computer Engineering; Carnegie Mellon University Africia – Ph.D., University of California at Berkeley; Carnegie Mellon, 2020–

JAMES HOE, Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2000–

LIMIN JIA, Associate Research Professor of Electrical and Computer Engineering; Affiliated Faculty CyLab – Ph.D., Princeton University; Carnegie Mellon, 2013–

CARLEE JOE-WONG, Robert E. Doherty Career Development Professor of Electrical and Computer Engineering – Ph.D., Princeton University; Carnegie Mellon, 2016–

GAURI JOSHI, Associate Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2017–

SOUMMYA KAR, Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2011–

GREGORY KESDEN, Teaching Professor of Electrical and Computer Engineering – MCS, Clemson University; Carnegie Mellon, 2017–

HYONG S. KIM, Drew D. Perkins Professor of Electrical and Computer Engineering; Director CMU-Thailand – Ph.D., University of Toronto; Carnegie Mellon, 1990–

PHILIP J. KOOPMAN, Associate Professor of Electrical and Computer Engineering and Computer Science – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1989–

SWARUN S. KUMAR, Associate Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2015–

QING LI, Associate Professor of Electrical and Computer Engineering – Ph.D., Georgia Institute of Technology; Carnegie Mellon, 2018–

TZE MENG LOW, Associate Research Professor of Electrical and Computer Engineering – Ph.D., University of Texas at Austin; Carnegie Mellon, 2013–

BRANDON LUCIA, Sathaye Family Foundation Career Development Professor of Electrical and Computer Engineering – Ph.D., University of Washington; Carnegie Mellon, 2014–

KEN MAI, Principal Systems Scientist of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2005–

CRAIG MILLER, Research Professor of Electrical and Computer Engineering – Ph.D., University of Michigan; Carnegie Mellon, 2020–

M. GRANGER MORGAN, Professor of Electrical and Computer Engineering; Hamerschlag University Professor of Engineering and Public Policy – Ph.D., University of California at San Diego; Carnegie Mellon, 1974–

JOSÉ M. F. MOURA, Philip L. and Marsha Dowd University Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 1986–

TAMAL MUKHERJEE, Associate Department Head for Students and Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1996–

WILLIAM NACE, Teaching Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2008–

YORIE NAKAHIRA, Assistant Professor of Electrical and Computer Engineering – Ph.D., California Institute of Technology; Carnegie Mellon, 2020–

PRIYA NARASIMHAN, Professor of Electrical and Computer Engineering – Ph.D., University of California at Santa Barbara; Carnegie Mellon, 2001–

ROHIT NEGI, Professor of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2000–

DAVID O'HALLARON, Professor of Electrical and Computer Engineering and Computer Science – Ph.D., University of Virginia; Carnegie Mellon, 1989–

AMRITANSHU PANDEY, Systems Scientist of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2019–

BRYAN PARNO, Professor of Electrical and Computer Engineering and Computer Science – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2017–

GIANLUCA PIAZZA, STMicroelectronics Professor of Electrical and Computer Engineering; Director of Nanofab – Ph.D., University of California at Berkeley; Carnegie Mellon, 2012–

LAWRENCE T. PILEGGI, Coraluppi Head and Tanoto Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1996–

CÉCILE PÉRAIRE, Teaching Professor of Electrical and Computer Engineering, Carnegie Mellon University Silicon Valley – Ph.D., École polytechnique fédérale de Lausanne, Switzerland; Carnegie Mellon, 2014–

GUANNAN QU, Assistant Professor of Electrical and Computer Engineering – Ph.D., Harvard University; Carnegie Mellon, 2021–

RAJ RAJKUMAR, George Westinghouse Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1992–

BARRY RAWN, Associate Teaching Professor of Electrical and Computer Engineering – Ph.D., University of Toronto; Carnegie Mellon, 2018–

ANTHONY ROWE, Siewiorek and Walker Family Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2009–

WILLIAM SANDERS, Dr. William D. and Nancy W. Strecker Dean, College of Engineering Professor for Electrical and Computer Engineering – Ph.D., University of Michigan; Carnegie Mellon, 2020–

ASWIN SANKARANARAYANAN, Professor of Electrical and Computer Engineering – Ph.D., University of Maryland; Carnegie Mellon, 2013–

MARIOS SAVVIDES, Bossa Nova Robotics Professor of Artificial Intelligence for Electrical and Computer Engineering; Director CyLab Biometrics Center – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2005–

VYAS SEKAR, Tan Family Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2013–

JOHN SHEN, Distinguished Service Professor of Electrical and Computer Engineering – Ph.D., University of Southern California; Carnegie Mellon, 2015–

ELAINE SHI, Associate Professor of Electrical and Computer Engineering and Computer Science – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2020–

MICHAEL SKIRPAN, Special Faculty Instructor for Electrical and Computer Engineering; Executive Director, Community Forge – Ph.D., Colorado University at Boulder; Carnegie Mellon, 2019–

ASIM SMAILAGIC, Research Professor of Electrical and Computer Engineering – Ph.D., University of Sarajevo, Bosnia and Herzegovina; Carnegie Mellon, 1988–

LEONARDO DA SILVA SOUSA, Assistant Teaching Professor of Electrical and Computer Engineering; Carnegie Mellon University Silicon Valley – Ph.D., Pontifícia Universidade Católica do Rio de Janeiro; Carnegie Mellon, 2020–

AKSHITHA SRIRAMAN, Assistant Professor of Electrical and Computer Engineering – Ph.D., University of Michigan; Carnegie Mellon, 2021–

PETER STEENKISTE, Professor of Electrical and Computer Engineering and Computer Science – Ph.D., Stanford University; Carnegie Mellon, 1987–

RICHARD STERN, Professor of Electrical and Computer Engineering; Language Technologies Institute, Computer Science, and BioMedical Engineering; Lecturer Music – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 1977–

THOMAS SULLIVAN, Teaching Professor of Electrical and Computer Engineering; Lecturer Music – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1996–

OZAN TONGUZ, Professor of Electrical and Computer Engineering – Ph.D., Rutgers University; Carnegie Mellon, 2000–

ELIAS TOWE, Professor of Electrical and Computer Engineering; Grobstein Professor of Materials Science and Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2001–

RAFAL WLODARSKI, Assistant Teaching Professor of Electrical and Computer Engineering; Carnegie Mellon University Silicon Valley – Ph.D., Lodz University of Technology, Poland; Carnegie Mellon, 2022–

OSMAN YAĞAN, Associate Research Professor of Electrical and Computer Engineering – Ph.D., University of Maryland at College Park; Carnegie Mellon, 2013–

ZIAD YOUSSFI, Associate Professor of Electrical and Computer Engineering – Ph.D., Michigan State University; Carnegie Mellon, 2022–

BYRON YU, Professor of Electrical and Computer Engineering; Gerard G. Elia Career Development Professor of Biomedical Engineering – Ph.D., Stanford University; Carnegie Mellon, 2009–

TOM ZAJDEL, Assistant Teaching Professor of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2021–

XU ZHANG, Assistant Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2019–

SIYANG ZHENG, Professor of Electrical and Computer Engineering and Biomedical Engineering – Ph.D., California Institute of Technology; Carnegie Mellon, 2019–

JIMMY (JIAN-GANG) ZHU, ABB Professor of Electrical and Computer Engineering; Director DSSC; Professor of Materials Science and Engineering – Ph.D., University of California at San Diego; Carnegie Mellon, 1997–

Courtesy

YURVRAJ AGARWAL, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at San Diego; Carnegie Mellon, 2013–

BURCU AKINCI, Paul Christiano Professor and Department Head, Civil and Environmental Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2022–

NATHAN BECKMANN, Associate Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2017–

SARAH BERGBREITER, Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2018–

MARIO BERGES, Assistant Professor of Civil and Environmental Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2017–

TIMOTHY X. BROWN, Distinguished Service Professor of Engineering and Public Policy, Director of Academics Carnegie Mellon University Africa; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., California Institute of Technology; Carnegie Mellon, 2013–

KATHLEEN CARLEY, Professor of Computer Science and Institute for Software Research; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Harvard University; Carnegie Mellon, 2011–

STEVE CHASE, Professor of BioMedical Engineering and Center for the Neural Basis of Cognition, Dietrich College Humanities and Social Sciences; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., John Hopkins University; Carnegie Mellon, 2012–

NICOLAS CHRISTIN, Professor of Computer Science (Software and Societal Systems Department) and Engineering & Public Policy; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Virginia; Carnegie Mellon, 2005–

LORRIE FAITH CRANOR, Associate Department Head and FORE Systems Professor of Engineering and Public Policy; Director CyLab Usable Privacy and Security Laboratory; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Washington University; Carnegie Mellon, 2008–

JOHN DOLAN, Senior Systems Scientist of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2006–

KATHERINE FLANIGAN, Assistant Professor of Civil and Environmental Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Michigan; Carnegie Mellon, 2020–

MATT FREDRICKSON, Assistant Professor of Institute of Software Research; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Wisconsin-Madison; Carnegie Mellon, 2016–

IOANNIS GKIOULEKAS, Assistant Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Harvard University; Carnegie Mellon, 2017–

BIN HE, Trustee Professor of Biomedical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Tokyo Institute of Technology; Carnegie Mellon, 2018–

FARNAM JAHANIAN, President of Carnegie Mellon University; Coutesy Faculty of Electrical and Computer Engineering – Ph.D., University of Texas at Austin; Carnegie Mellon, 2014–

B. REEJA JAYAN, Assistant Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Texas at Austin; Carnegie Mellon, 2015–

AARON JOHNSON, Assistant Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Pennsylvania; Carnegie Mellon, 2014–

JANA KAINERSTORFER, Assistant Professor of Biomedical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Vienna/NIH; Carnegie Mellon, 2015–

SHAWN KELLY, Senior Systems Scientist of Engineering Research Accelerator; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2012–

KRIS KITANI, Assistant Research Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Tokyo; Carnegie Mellon, 2011–

ZICO KOLTER, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2012–

DAVE LAUGHLIN, ALCOA Professor of Materials Science Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 1974–

PHILIP LEDUC, William J. Brown Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Johns Hopkins University; Carnegie Mellon, 2002–

CHANGLIE LIU, Assistant Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2019–

SARA MAJETICH, Professor of Physics; Courtesy Faculty of Electrical and Computer Engineering; Affiliated Faculty DSSC – Ph.D., University of Georgia; Carnegie Mellon, 2010–

CARMEL MAJIDI, Clarence H. Adamson Associate Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2011–

ZACHARY MANCHESTER, Assistant Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Cornell University; Carnegie Mellon, 2020–

FLORIAN METZE, Associate Research Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Dr.-Ing., Fakultät für Informatik der Universität Karlsruhe, Germany; Carnegie Mellon, 2009–

TODD MOWRY, Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering; – Ph.D., Stanford University; Carnegie Mellon, 1997–

SRINIVASA NARASIMHAN, Associate Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Columbia University; Carnegie Mellon, 2016–

MATTHEW O'TOOLE, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Toronto; Carnegie Mellon, 2018–

CORINA PASAREANU, Senior Research Scientist, Carnegie Mellon University Silicon Valley; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Kansas State University; Carnegie Mellon, 2015–

JON M. PEHA, Professor of Engineering and Public Policy; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 1991–

ANDRE PLATZER, Associate Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Oldenburg, Germany; Carnegie Mellon, 2010–

SEAN QIAN, Henry Posner, Anne Molloy, and Robert and Christine Pietrandrea Associate Professor of Civil and Environmental Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Davis; Carnegie Mellon, 2014–

BHIKSHA RAJ RAMAKRISHNAN, Professor of Language Technologies Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2009–

RAJ REDDY, Mozah Bint Nasser University Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2000–

MAJD SAKR, Teaching Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Pittsburgh; Carnegie Mellon, 20015–

MAHADEV SATYANARAYANAN, Carnegie Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 1983–

SEBASTIAN SCHERER, Associate Research Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2019–

JEFF SCHNEIDER, Research Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Rochester; Carnegie Mellon, 2013–

SRINIVASAN SESHAN, Associate Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2000–

NIHAR SHAH, Assistant Professor of Machine Learning: Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2017–

SHENG SHEN, Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2011–

JUSTINE SHERRY, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2017–

BARBARA SHINN-CUNNIGHAM, Professor of Auditory Neuroscience of Biomedical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2018–

RAMTEEN SIOSHANSI, Professor of Engineering and Public Policy; Director of the Carnegie Mellon Electricity Industry Center; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2023–

MARVIN A. SIRBU, Professor of Engineering and Public Policy; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 1985–

DIMITRIOS SKARLATOS, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Illinois at Urbana-Champaign; Carnegie Mellon, 2020–

VIRGINIA SMITH, Assistant Professor of Machine Learning; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2018–

PATRICK TAGUE, Associate Director of the INI; Courtesy Faculty of Electrical and Computer Engineering; Carnegie Mellon University Silicon Valley – Ph.D., University of Washington; Carnegie Mellon, 2009–

REBECCA TAYLOR, Assistant Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2016–

SRIDHAR TAYUR, Professor of Tepper School of Business; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Cornell University; Carnegie Mellon, 2017–

RASHMI VINAYAK, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2017–

WEINA WANG, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Arizona State University; Carnegie Mellon, 2018–

SHINJI WATANABE, Associate Professor of Language Technologies Institute; Courtesy Professor, Electrical and Computer Engineering – Ph.D., Waseda University, Tokyo, Japan; Carnegie Mellon, 2020–

SOSSENA WOOD, Presidential Post-Doctoral Fellow of Biomedical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Pittsburgh; Carnegie Mellon, 2022–

Back to top