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, electromagnetic and electromechanical systems, and data storage systems. The extraordinary advances in these technologies during the last 50 years have impacted nearly every aspect of human society. These advances have led to new products and markets such as “smart” cars, cell phones and mobile computing systems, and advanced medical systems for imaging, diagnosis, testing, and monitoring. These systems and products have served to enhance our quality of life as well as fueled today’s global economy. In short, the field of electrical and computer engineering has become central to life as we know it.
The Department of Electrical and Computer Engineering at Carnegie Mellon University is actively pioneering education and research at the forefront of this evolving field. Our undergraduate curriculum includes intensive classroom, laboratory, and hands-on learning, including new initiatives in ethics (Empathy, Ethics, and Human Factors), making and building, and Artificial Intelligence. We offer experiential hands-on labs where students create new solutions for industrial and societal problems through courses like the popular Hacker Fab, Space Flight, VLSI, and ones with a cross-disciplinary focus (i.e., agriculture). Advancing AI software and hardware and embracing its use in the classroom and as the overarching management of our systems and lab projects has also become a pillar of our department.
Society is placing increasing demands on engineers to apply their skills in new contexts, cross traditional boundaries between disciplines, and intelligently evaluate the broader consequences of their actions. Our curriculum is designed to produce world-class engineers who can meet these challenges. We educate our graduates for successful careers in today’s global economy, whether they pursue employment or further education after completion of their degree.
Program Options
The Department of Electrical & Computer Engineering offers a Bachelor of Science degree with major in Electrical & Computer Engineering. Detailed program information is available at the link below.
Other Opportunities in ECE
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.
Transition to graduate status:
Policies regarding completion and certification of the BS degree can be found on the Office of Enrollment Management's Standard Degree Requirements & Degree Certification webpage. Once the BS degree is certified, a student will be in graduate status for the subsequent term of enrollment. If a student takes more than 8 semesters to complete the BS degree, then he or she must be in graduate status for at least one semester before graduating with the MS degree. 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.
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.
Research Assistantships
ECE considers experiential learning opportunities to be important educational options for its students. One such opportunity is participating in research projects with faculty, which can be done either for academic credit or for pay. ECE students have access to the department's Student Project Tracker to review available projects and apply. Further information and the link to apply can be found on the undergraduate research webpage.
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.
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-050 Study Abroad
- Fall
Students are encouraged to pursue various international collaborative programs offered through the department of Electrical and Computer Engineering.
- 18-051 Study Abroad
- Spring
Students are encouraged to pursue various international collaborative programs offered through the department of Electrical and Computer Engineering.
- 18-059 Introduction to Amateur Radio
- 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-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
This course introduces basic concepts and principles over the broad spectrum of electrical and computer engineering in an integrated manner. It covers basic concepts in electronic circuits, computer logic circuits, computer architecture, analog and digital signals processing, wired and wireless communication systems, computer network, computer memory, data storage, and data center technologies, machine learning and artificial intelligence, and cryptography and data security. The 9 specially designed labs in the course give students excellent hands-on experience on various examples of practical systems in electrical and computer engineering. The labs also help to consolidate the understanding of the topics covered in lectures. The course is designed to inspire and motivate students through in-depth learning of many present systems and their underlying fundamentals.
- 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
- All Semesters: 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: 12 units
Please refer to the ECE website for descriptions of each topic.
Course Website: 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-244 Intro to ASIC and FPGA Chip Design
- Spring: 12 units
This course is an introduction to chip design. The student will learn how to design, implement, emulate, and verify an ASIC chip. Along the way, the student will be exposed to many common tools and techniques in the chip-implementation area. Many of those tools focus on FPGAs for emulation and development. For the final project in the course, students will tapeout a non-trivial digital design, to be fabricated using an open-hardware flow. It may take six to twelve months, but students will eventually end up with an actual chip that contains their design. This course is cross listed with 18644. Although students in 18-244 will share lectures and in-class assignments with students in 18644, those students in 18644 will be expected to complete a more challenging semester-long project. Additionally, students in 18644 have an additional assignment, one in which they investigate a research topic and write an in-depth literature review.
Prerequisite: 18-240 Min. grade B
- 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.
Prerequisites: 18-100 Min. grade C and 21-120 Min. grade C
- 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
- Fall and 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: 18-330 Min. grade C or 15-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: (15-330 Min. grade C or 18-631 Min. grade C or 18-330 Min. grade C or 18-730 Min. grade C or 14-741 Min. grade C) and (18-213 Min. grade C or 15-213 Min. grade C or 18-613 Min. grade C or 15-513 Min. grade C or 14-513 Min. grade C)
- 18-337 Special Topics in Computer Systems
- Fall: 12 units
Please refer to the ECE website for special topic descriptions.
Course Website: https://courses.ece.cmu.edu/
- 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 and Spring: 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 smartphones, portable gaming devices, robots, 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, 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, sensors, actuators 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 Software Development for Engineers
- Fall and Spring: 12 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.
Prerequisite: 18-213 Min. grade B
- 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: 17-437 or 18-351 Min. grade C
- 18-360 Design Quest: AgTech
- Spring: 12 units
This course joins technical skillsets to agricultural systems within an applied, project-based course. Agriculture offers a vast design space of climate and material, resource diversity, data and energy systems, with productive real-world constraints and opportunities for innovation. Students may work in embedded electronics, energy infrastructure, data analysis, computational methods, material prototyping, and so on, acquiring or deepening skills to develop functional, site-responsive outputs. Projects could include, as examples: agricultural robotic components, digital platforms, closed-loop embedded control systems for navigation or distribution, energy storage and grid research, targeted remineralization of materially graded soil. Design Quest follows a collaborative, studio-style format, supporting iterative development across digital and physical platforms. Here, projects are considered as world-building processes entering a site of biological production, ecological cohabitation, and regenerative potential. Case studies ranging from microbial fermentation chambers to satellite-regulated orchards, from collapsed experiments in ag-tech to emerging logics of vertical containment explore questions of land, food, labor, and automation. This course is cross-listed with 18760. Although students in 18360 will share lectures and most assignments with students in 18760, students in 18760 will engage in more advanced projects with a higher degree of resolution or involvement compared to students in 18360. This course requires instructor permission. Interested students must contact Professor Chang.
- 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: 24-352 Min. grade C or 18-290 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.
Prerequisite: 18-220 Min. grade C
- 18-384 Ethics and Policy Issues in Computing
- Spring: 9 units
Should autonomous robots make life and death decisions on their own? Should we allow them to select a target and launch weapons? To diagnose injuries and perform surgery when human doctors are not around? Who should be permitted to observe you, find out who your friends are, what you do and say with them, what you buy, and where you go? Do social media and personalized search restrict our intellectual horizons? Do we live in polarizing information bubbles, just hearing echoes of what we already know and believe? As computing technology becomes ever more pervasive and sophisticated, we are presented with an escalating barrage of decisions about who, how, when, and for what purposes technology should be used. This course will provide an intellectual framework for discussing these pressing issues of our time, as we shape the technologies that in turn shape us. We will seek insight through reading, discussion, guest lectures, and debates. Students will also undertake an analysis of a relevant issue of their choice, developing their own position, and acquiring the research skills needed to lend depth to their thinking. The course will enhance students' ability to think clearly about contentious technology choices, formulate smart positions, and support their views with winning arguments.
- 18-390 ECE CO-OP
- 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 cooperative education, which provides a student with an extended period of exposure with a company. To participate, students must complete an ECE Co-op Approval form (located in HH 1116) 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 Studies Office. Due to federal restrictions on student work experiences, international students are not eligible for co-ops. Please visit the CPT page for information regarding international student internships.
- 18-395 Introduction to Computer Vision
- Fall: 12 units
The course introduces students to basics of computer vision to build familiarity with basic vision concepts, problems, and tools. The course covers the early image formation pipeline (how an image is formed on a sensor and how a camera processes it), basic image processing techniques, 3D perception from single, double and multiple views, semantic scene understanding, optical flow and motion modeling, and the use of learning-based approaches for solving these problems. Course will have biweekly homework, weekly quizzes, a midterm and a final exam.
Prerequisite: 18-290 Min. grade C
- 18-399 Special Topics in ECE
- Intermittent: 3 units
AI Project Playbook: Planning and Delivering LLM Systems gives students hands-on practice running AI/LLM projects once the product idea is already set. Working from a realistic shared scenario, students turn a fixed product vision into a concrete project plan: scope, success criteria, risks, work packages, and a lightweight delivery approach. Throughout the micro course, teams design and refine a hybrid process that draws on software and data lifecycles (e.g., agile methods and CRISP-DM), define simple product and process metrics, and add governance elements such as readiness checks and rollout decisions. A structured "pilot" simulation introduces staged issues and changes, forcing teams to adapt their process, metrics, and decisions and to explain why. The course culminates in an AI project playbook that documents the final process and lessons learned, giving students a reusable template they can carry into capstones, consulting projects, internships, and early roles on AI-enabled project teams.
Course Website: http://www.ece.cmu.edu/courses/index.html
- 18-410 Hacker Fab
- Fall and Spring: 12 units
Discover the Hacker Fab, an unparalleled open?source micro? and nanofabrication facility where students collaborate to design and build state?of?the?art process equipment while fabricating functional semiconductor and emerging devices on a chip. Open to driven learners from all backgrounds (with instructor permission), this course emphasizes interdisciplinary teamwork, practical experience, and advanced innovation. Participants select projects aligned with their interests, spanning hardware, software, robotics, materials science, electrical and computer engineering, chemistry, and mechanical engineering. Previous initiatives have produced a lithographic stepper, an ALD system, a thermal evaporator, a sputter deposition instrument, a spin coater, tube furnace, dispensing station, and robotic gantry. These systems directly support device fabrication—such as NMOS transistors—and ongoing research explores PMOS, plating, doping, and etching. Current and future endeavors will investigate emerging material?based transistors (including those utilizing carbon nanotubes, 2D materials, and oxide semiconductors), novel IoT sensors, and much more. The course incudes minimal lectures and reading assignments that cover the background material necessary to execute projects and weekly labs. Project milestones include three demos in lieu of exams. Class time is split between lectures and group meetings to work on projects with other students. Cross?listed as 18?410/18?610, the course gives priority to ECE graduate students for 18?610 and ECE undergraduates for 18?410. Although both groups attend joint lectures, 18-610 participants receive more challenging project assignments. Enroll to develop practical semiconductor fabrication skills, master collaborative problem?solving, and contribute to pioneering open?source research at the forefront of technological progress. Join us and help shape the future of semiconductor innovation!
- 18-412 Neural Technology: Sensing and Stimulation
- Spring: 12 units
This course gives engineering insight into the operation of excitable cells, as well as circuitry for sensing and stimulation nerves. Initial background topics include diffusion, osmosis, drift, and mediated transport, culminating in the Nernst equation of cell potential. We will then explore models of the nerve, including electrical circuit models and the Hodgkin-Huxley mathematical model. Finally, we will explore aspects of inducing a nerve to fire artificially, and cover circuit topologies for sensing action potentials and for stimulating nerves. If time allows, we will discuss other aspects of medical device design. Students will complete a neural stimulator or sensor design project. Although students in 18-612 will share lectures and recitations with students in 18-412, students in 18-612 will receive distinct homework assignments, distinct design problems, and distinct exams from the ones given to students in 18-412 and will be graded on a separate curve from students taking 18-412.
- 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-418 Micro/Nano Biomedical Devices
- Fall: 12 units
Biomedical devices constantly call for innovations. Micro/nano fabrication not only miniaturizes devices and instruments, but also can enable new biomedical devices and significantly boost device performance. This course introduces fundamental micro/nano fabrication technologies and related materials of biomedical devices. The biomedical background and design principles of various biomedical devices will be presented. Both diagnostic and therapeutic devices will be discussed, including point-of-care diagnostic devices, biosensors, DNA sequencers, medical implants, prosthetic devices, drug delivery systems, medical robots, etc. This course is cross-listed with 18418 and 42622. ECE graduate students will be prioritized for 18618, and ECE undergraduate students will be prioritized for 18418. Although students in 18618/42622 will share lectures with students in 18418, students in 18418 will receive distinct homework assignments, projects, and exams from those given to students in 18618/42622. Specifically, the homework assignments, projects, and exams that are given to the 18618/42622 students will be more challenging than those given to the 18418 students.
- 18-420 Design, Integration, and Tapeout of IoT Systems
- Fall: 12 units
This course provides a comprehensive exploration of the design concepts and methodologies involved in developing integrated circuits for Internet of Things (IoT) systems. Students will gain hands-on experience in designing and integrating essential blocks such as sensor front-ends, data converters, machine learning circuits, and wireless transmitters. Key concepts include an introduction to IoT system architectures, principles of sensor interfacing, analog-to-digital converters (ADCs), machine learning in IoT, RF front-end design considerations, an CMOS technology and design rules, overview of the tapeout process, and design exercises using industry-standard design tools. By bringing together individual blocks into a cohesive system, students will gain the skills and knowledge required to design, simulate, and tapeout a complete IoT system-on-chip by the end of this course. The course emphasizes a practical, project-based approach to ensure students are well-prepared for real-world challenges in IoT integrated circuit design. This course is crosslisted with 18620. ECE graduate students will be prioritized for 18620, and ECE undergraduate students will be prioritized for 18420. Although students in 18420 will share lectures with students in 18620, students in 18620 will undertake more complex projects.
Prerequisite: 18-220 Min. grade C
- 18-421 Analog Integrated Circuit Design
- Fall: 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. 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-427 Board-Level RF Systems for the Internet-of-Things
- Fall: 12 units
In this age when everything is connected to the internet-of-things (IOT), students should understand how RF Transceivers and Antennas can allow such devices to be connected without wires. This class will give students the chance to learn about cellular and IOT devices and how they communicate using radio frequency (RF) signals. Students will gain an understanding of antenna design and operation, a high-level understanding of RF signal propagation, an introduction to RF Transceiver design and operation and an overview of multi-input multi-output (MIMO) RF operation. A Laboratory section is included in this class. In Lab, students will learn how to assemble printed circuit board (PCBs) using the Tech Spark facility. Early Lab sessions will demonstrate RF signals, antennas, and constructive and destructive RF interference. Students control the RF transceiver ICs by programming several different types of software defined radios (SDRs). Several different PCB antenna designs will be explored in the Lab sessions. Lab exercises will culminate with students building up an SDR-controlled RF transmitter driving a PCB antenna and using it to send data from one student to another using MI O beam steering to increase spectral reuse. Although students in 18-727 will share lectures and recitations with students in 18-427, students in 18-727 will receive distinct homework assignments and grading scale from students in 18-427. Specifically, the homework assignments for 18-727 will be more complex than the homework assignments for 18-427.
Prerequisites: 18-290 Min. grade B and 18-320 Min. grade B
- 18-428 Advanced IoT System Validation and Deployment
- Spring: 12 units
This course is designed for students who have completed the initial tapeout phase of their IoT system design and are ready to transition into the critical phases of validation and deployment. This course provides an in-depth exploration of methodologies and tools essential for testing and deploying IoT systems. Students will learn to create robust testing platforms, including FPGA prototyping, MATLAB simulations, and custom board designs, to validate their custom-designed chips. Emphasis will be placed on integrating mixed-signal, wireless, and control circuits, while addressing practical challenges in IoT system implementation. In addition, the course introduces reconfigurable system design, focusing on machine learning (ML) integration, wireless components, and mixed-signal circuits. Students will explore packaging strategies for testing, principles of reconfigurable hardware and software, and best practices for mixed-signal and RF integration. By the end of the course, students will have developed the skills to bring their IoT designs from post-tapeout validation to full system deployment, preparing them for careers in IoT system design, hardware engineering, and embedded systems development. This course is crosslisted with 18428. Although students in 18428 will share lectures with students in 18628, students in 18428 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18628. Specifically, the homework assignments, programming projects, and exams that are given to the 18628 students will be more challenging than those given to the 18428 students.
Prerequisites: 18-420 Min. grade B or 18-620 Min. grade B
- 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 (15-513 Min. grade C and 18-202 Min. grade C) or (18-613 Min. grade C and 18-202 Min. grade C) or (14-513 Min. grade C and 18-202 Min. grade C)
- 18-436 Browser Security
- Spring: 12 units
The Web continues to grow in popularity as platform for retail transactions, financial services, and rapidly evolving forms of communication. It is becoming an increasingly attractive target for attackers who wish to compromise users' systems or steal data from other sites. Browser vendors must stay ahead of these attacks by providing features that support secure web applications. This course will study vulnerabilities in existing web browsers and the applications they render, as well as new technologies that enable web applications that were never before possible. The material will be largely based on current research problems, and students will be expected to criticize and improve existing defenses. Topics of study include (but are not limited to) browser encryption, JavaScript security, plug-in security, sandboxing, web mashups, and authentication. The course will involve an intensive group research project focusing on protocols/algorithms, vulnerabilities, and attacks as well as several individual homework and programming tasks. Groups will perform a sequence of cumulative tasks (literature review, analysis, simulation, design, implementation) to address aspects of their chosen topic, occasionally reporting their results to the class through brief presentations, leading to a final report. This course is crosslisted with 18636. ECE graduate students will be prioritized for 18636, and ECE undergraduate students will be prioritized for 18436. Although students in 18436 will share lectures with students in 18636, students in 18636 will write a report critiquing research methodologies and validity of results for selected research papers on web and browser security.
- 18-440 Autonomous Robotics I
- Spring: 12 units
This course combines machine learning and robotics in a hands-on approach that encourages discovery. The course will have three portions. First, students learn deep learning fundamentals, convolutional neural networks, and object detection. In the second portion, students learn the fundamentals of Robot Operating System 2 (ROS2). In the last portion, they learn how to implement ROS2 computational graphs and machine learning models on a hardware and software acceleration platform to achieve real-time robotic perception, cognition, and action. Students develop a miniature self-driving robot based on the Jetson Orin Nano platform and the RealSense camera for vision. Students are encouraged to discover their robotic application tasks. Prior machine learning or robotics knowledge is not required. However, strong C/Python programming skills, computer systems knowledge, and a sense of wonder are strongly preferred. This course is crosslisted with 18840. Although students in 18440 will share lectures with students in 18840, students in 18840 will be given exams and project criteria that will be more challenging than those in 18440.
Prerequisites: 18-213 Min. grade C or 18-613 Min. grade C or 15-213 Min. grade C
- 18-441 Computer Networks
- Intermittent: 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.
Prerequisite: 18-213 Min. grade C
- 18-442 Autonomous Robotics II
- Fall: 12 units
This "quest" model course engages students with project-based robotic challenges. Students form teams and use a human-centered design process to select a robotic use case. To solve their challenge, they employ the foundation they built in Autonomous Robotics I: ROS2, supervised machine learning, and an accelerated software stack. Students can leverage new robotic techniques, including VSLAM (Visual Simultaneous Localization and Mapping), path planning, image segmentation, 3D scene reconstruction, and pose estimation. Students are encouraged to employ generative AI models such as VLA (Vision Language Action) to solve their challenges. This course is cross listed with 18842. Although students in 18442 and 18842 can work on the same team or projects, students in 18842 will have project criteria that will be more challenging than those in 18442.
Prerequisites: 18-440 Min. grade C or 18-840 Min. grade C
- 18-444 Embedded Machine Learning
- Fall: 12 units
Embedded or "edge" devices with sensors generate a tremendous amount of data every second. Sending these data to the cloud for intelligent decision making by machine learning models consumes energy and imposes undesired latency and cost. Processing the data locally on the edge lowers latency, energy, and cost. This course introduces deep neural network architectures, such as dense, convolutional, and recurrent networks, and their respective applications and training in the cloud. Students then learn to downsize their trained models so they can deploy them for inferencing on microcontrollers running on the edge with power and computation constraints. Students are encouraged to create their own projects drawing from such fields as agriculture, environment, conservation, health, manufacturing, or home automation. This course is cross-listed as 18444 and 18844. Although students in 18444 and 18844 will share lectures, students in 18444 and 18844 will receive different homework assignments, design projects, and exams.
- 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. Description for section A in Spring 2026: Most machines in the world around us, from vehicles to medical devices to robots, are designed manually. Yes, computer-Aided Design (CAD) software helps to digitize intent, but those tools only help improve the fidelity of engineers' direct specifications. As computational tools become more capable, it opens the possibility to the automated design of cyber-physical systems and #8212;- machines invented partially or entirely by AI. This course takes a pedagogical view of the computational design stack, with an emphasis on 'things that move.' Topics covered include: Mathematical Preliminaries; Physical Simulation; Control Synthesis; Design Optimization; Machine Learning For Design; Designing For (Digital) Manufacturing; Interactive Workflows. Each unit builds upon the last, culminating in a toolset that will empower students to design complex robots with just a couple dozen lines of code. The course includes a lab component and research-style final project.
Course Website: https://courses.ece.cmu.edu/
- 18-449 Distributed Embedded Systems
- Spring: 12 units
This course introduces the principles for designing distributed embedded systems with a mixture of heterogeneous network-connected resource-constrained devices. This course will address the new challenges designers face as embedded systems are connected forming large-scale networks that sense, monitor and control elements of the physical environment in real-time. This includes topics related to transducer hardware, operating systems, time synchronization, energy management, modeling, simulation, and security. We will study recent applications in the domain of safety-critical systems, smart grid technology, intelligent buildings, Supervisory Control and Data Acquisition (SCADA) systems used in manufacturing and automotive systems. The course will include a significant project component that gives students hands-on experience building systems that use current RTOSes on micro-controllers alongside Embedded Linux on application processors that span cloud, edge and device. This course is crosslisted with 18649. ECE graduate students will be prioritized for 18649, and ECE undergraduate students will be prioritized for 18449. Although students in 18449 will share lectures with students in 18649, students in 18449 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18649. Specifically, the homework assignments, programming projects, and exams that are given to the 18649 students will be more challenging than those given to the 18449 students.
Prerequisite: 18-349 Min. grade C
- 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 versions 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-290 Min. grade C and (18-613 Min. grade C or 18-213 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) and (21-241 Min. grade C or 18-202 Min. grade C) and (21-325 Min. grade C or 36-225 Min. grade C or 36-218 Min. grade C or 36-219 Min. grade C)
- 18-461 Introduction to Machine Learning for Engineers
- Fall and Spring: 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 is crosslisted with 18661. 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 36-219 Min. grade C or 21-325 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: 36-218 Min. grade B or 36-219 Min. grade B or 18-751 Min. grade B
- 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-468 Special Topics in Hardware Systems
- Fall: 12 units
Please refer to the ECE website for descriptions of each topic: courses.ece.cmu.edu/
- 18-469 Special Topics in Integrated Systems Technology
- Fall and Spring: 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 Min. grade C or 15-213 Min. grade C) and (18-290 Min. grade C or 18-370 Min. grade C)
- 18-475 Autonomous Control Systems
- Spring: 12 units
In this course, we will introduce the basic principles in the learning and control of autonomous control systems. We will cover topics related to the representation of control systems, state estimation, state feedback control, separation principles between control and estimation, robust control, adaptive control, and reinforcement learning. These tools are currently used in a broad range of systems: autonomous vehicles, drones, robots, manufacturing systems, human sensorimotor control systems, biomolecular control systems, and economic models, among others. This course is crosslisted with 18675. ECE graduate students will be prioritized for 18675, and ECE undergraduate students will be prioritized for 18475. Although students in 18475 will share lectures with students in 18675, students in 18475 will receive partially different assignments. The assignments given to the 18675 students will be more challenging than those given to the 18475 students.
Prerequisites: 18-370 Min. grade C and 18-290 Min. grade C
- 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
- Spring: 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 Technology for Conversational AI
- Intermittent: 12 units
This course provides both practical and theoretical knowledge on how we can leverage speech processing technologies to build a conversational AI system. The course encompasses speech recognition, speaker recognition, speech synthesis, speech enhancement, speech translation, spoken dialogue systems, speech foundation models, and other speech and audio processing tasks. In practical sessions, students will learn to build functional speech recognition and synthesis systems or utilize existing large speech and language models and integrate them to create a speech interface using existing toolkits. The course will also present details of algorithms, techniques, evaluation metrics, and limitations of state-of-the-art speech systems. This course is particularly designed for students who want to learn how to process actual data for real-world applications, applying AI and machine learning techniques while also being aware of the current technology limitations.
Prerequisites: 18-213 Min. grade B or 15-213 Min. grade B
- 18-497 Special Topics in Signal Processing
- Fall: 12 units
TBA
- 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-525 Advanced Digital Integrated Circuit Design
- Spring: 12 units
Student teams create a moderate-sized digital, analog/RF, or mixed-signal chip in a modern technology using industrial CAD tools and flows. The project involves planning and specification, writing a Verilog model, designing custom circuits and/or synthesized standard cell blocks, creating a testing/debug strategy, and full-chip integration and verification for tapeout. Completed verified designs will be sent for fabrication at the end of the semester and returned by the following fall. Students will have the opportunity to test their devices as part of a follow-on course or independent study. Recommended for PhD students that plan to design chips for their thesis, MS students interested in careers in VLSI design, or undergraduates who wish to use it to satisfy their Capstone Design requirement (requires enrollment in 18525, see below). This course is crosslisted with 18725. 18525 is the number for undergraduate students utilizing the course to complete their ECE Capstone Design requirement. Students in the graduate course number may be completing projects of increased complexity compared to 18525.
Prerequisites: (18-220 Min. grade C and 18-213 Min. grade C and 18-422 Min. grade B and 18-290 Min. grade C and 18-240 Min. grade C) or (18-240 Min. grade C and 18-622 Min. grade B and 18-290 Min. grade C and 18-213 Min. grade C and 18-220 Min. grade C) or (18-220 Min. grade C and 18-213 Min. grade C and 18-290 Min. grade C and 18-240 Min. grade C and 18-623 Min. grade B)
- 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-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 Min. grade C and 18-349 Min. grade C) or (18-349 Min. grade C and 18-370 Min. grade C) or (18-320 Min. grade C and 18-370 Min. grade C) or (18-349 Min. grade C and 17-313 Min. grade C)
- 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-602 Business Fundamentals
- Spring: 12 units
The purpose of the class is to introduce basic business management concepts and to make the connections between various business decision making frameworks so that you can use the topics to holistically approach complex unstructured business problems. The class will have a dual thread. We will teach theory and applications in a conventional lecture format. To reinforce these ideas and to show an integrated view of business, we will thread a simulated competition through the class. You will be placed on teams and you will run a computer-simulated US-based multi-national manufacturing company for 3 simulated years in an oligopic market. The simulation will cause you to apply the ideas learned in class to a complex, dynamic, and very unstructured problem. The inter-related nature of business decision-making becomes very apparent as you formulate strategies and then attempt to carry them out and deliver value for your owners. Each team will be coached as needed to make sure that their level of understanding evolves as they move through the exercise. The goal is to leave the participants with the view of a general manager of a profit center in a multi-national company. We will cover 6 basic areas of management: Economics Topics (microeconomics - market structures; macroeconomics - central bank theory, international trade, monetary policy); Accounting Topics (financial accounting; financial statement analysis); Finance Topics (the time value of money and the Capital Asset Pricing Model; risk and portfolio theory; corporate finance, controller and treasury functions, capital budgeting and capital structure); Marketing Topics (Buyer Behavior models, market segmentation strategies, marketing tools; branding strategies); Operations Management Topics (quality management; supply chain integration; lean manufacturing techniques); Strategy Topics (strategy formulation fundamentals; strategy implementation fundamentals)
- 18-608 Design Quest: AgTech
- Spring: 12 units
This course joins technical skillsets to agricultural systems within an applied, project-based course. Agriculture offers a vast design space of climate and material, resource diversity, data and energy systems, with productive real-world constraints and opportunities for innovation. Students may work in embedded electronics, energy infrastructure, data analysis, computational methods, material prototyping, and so on, acquiring or deepening skills to develop functional, site-responsive outputs. Projects could include, as examples: agricultural robotic components, digital platforms, closed-loop embedded control systems for navigation or distribution, energy storage and grid research, targeted remineralization of materially graded soil. Design Quest follows a collaborative, studio-style format, supporting iterative development across digital and physical platforms. Here, projects are considered as world-building processes entering a site of biological production, ecological cohabitation, and regenerative potential. Case studies ranging from microbial fermentation chambers to satellite-regulated orchards, from collapsed experiments in ag-tech to emerging logics of vertical containment explore questions of land, food, labor, and automation. This course is cross-listed with 18360. Although students in 18360 will share lectures and most assignments with students in 18608, students in 18608 will engage in more advanced projects with a higher degree of resolution or involvement compared to students in 18360. This course requires instructor permission. Interested students must contact Professor Chang.
- 18-609 Special Topics in Electrical & Computer Engineering
- Intermittent
Study of a special topic in a field of electrical and computer engineering under the direction of a faculty member. Special Permission only and #8212;the faculty member offering the independent study should notify the department in order for the student to be registered. Typically, credit is granted according to one hour of work per week is equal to one unit of credit.
- 18-610 Hacker Fab
- Fall and Spring: 12 units
Discover the Hacker Fab, an unparalleled open?source micro? and nanofabrication facility where students collaborate to design and build state?of?the?art process equipment while fabricating functional semiconductor and emerging devices on a chip. Open to driven learners from all backgrounds (with instructor permission), this course emphasizes interdisciplinary teamwork, practical experience, and advanced innovation. Participants select projects aligned with their interests, spanning hardware, software, robotics, materials science, electrical and computer engineering, chemistry, and mechanical engineering. Previous initiatives have produced a lithographic stepper, an ALD system, a thermal evaporator, a sputter deposition instrument, a spin coater, tube furnace, dispensing station, and robotic gantry. These systems directly support device fabrication—such as NMOS transistors—and ongoing research explores PMOS, plating, doping, and etching. Current and future endeavors will investigate emerging material?based transistors (including those utilizing carbon nanotubes, 2D materials, and oxide semiconductors), novel IoT sensors, and much more. The course incudes minimal lectures and reading assignments that cover the background material necessary to execute projects and weekly labs. Project milestones include three demos in lieu of exams. Class time is split between lectures and group meetings to work on projects with other students. Cross?listed as 18?410/18?610, the course gives priority to ECE graduate students for 18?610 and ECE undergraduates for 18?410. Although both groups attend joint lectures, 18-610 participants receive more challenging project assignments. Enroll to develop practical semiconductor fabrication skills, master collaborative problem?solving, and contribute to pioneering open?source research at the forefront of technological progress. Join us and help shape the future of semiconductor innovation!
- 18-612 Neural Technology: Sensing and Stimulation
- Spring: 12 units
This course gives engineering insight into the operation of excitable cells, as well as circuitry for sensing and stimulation nerves. Initial background topics include diffusion, osmosis, drift, and mediated transport, culminating in the Nernst equation of cell potential. We will then explore models of the nerve, including electrical circuit models and the Hodgkin-Huxley mathematical model. Finally, we will explore aspects of inducing a nerve to fire artificially, and cover circuit topologies for sensing action potentials and for stimulating nerves. If time allows, we will discuss other aspects of medical device design. Students will complete a neural stimulator or sensor design project. Although students in 18-612 will share lectures and recitations with students in 18-412, students in 18-612 will receive distinct homework assignments, distinct design problems, and distinct exams from the ones given to students in 18-412 and will be graded on a separate curve from students taking 18-412.
- 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-320 Min. grade C or 24-351 Min. grade C or 18-310 Min. grade C
- 18-615 Micro and Nano Systems Fabrication
- Spring: 12 units
This is a new course intended to introduce students to the process flow and design methodology for integrated systems fabrication. The course will present this material through two paths. Lectures will be presented on the basic unit processes of micro and nanosystems fabrication: deposition, patterning, and etching. Lectures will draw on examples from: Semiconductor device fabrication; Microelectromechanical systems (MEMS) fabrication; Magnetic device fabrication; and Optical device fabrication. Problem sets will be given based on this lecture material to allow students to quantitatively analyze certain process steps in detail. The second path for material presentation will be through a series of labs that allow students to design, fabricate and test an integrated device. These laboratories will be scheduled at regular meeting times, and will use research facilities within the ECE department.
- 18-616 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 18416. 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-617 Memory Devices and Technology
- Fall: 12 units
This course examines the fundamental principles of semiconductor memory devices, including volatile and non-volatile solid state random access memory (RAM) systems. Both commercially deployed memory technology (Dynamic RAM, Static RAM, Flash, etc) will be examined along with emerging technologies (like Magnetic RAM, Resistive RAM). Cell physics will be examined using physical models of device switching, including heat flow, magnetic field induced switching, capacitance and tunneling. The advanced applications of memory or memory-like devices in the emerging field of neuromorphic computing will also be introduced. Through the course, the students will become familiar with major memory device structures and integration technology. By completing the course, the students will establish a good understanding about a variety of memory devices and analysis techniques, as well as developing a strong knowledge base about emerging memory technologies.
- 18-618 Micro/Nano Biomedical Devices
- Fall: 12 units
Biomedical devices constantly call for innovations. Micro/nano fabrication not only miniaturizes devices and instruments, but also can enable new biomedical devices and significantly boost device performance. This course introduces fundamental micro/nano fabrication technologies and related materials of biomedical devices. The biomedical background and design principles of various biomedical devices will be presented. Both diagnostic and therapeutic devices will be discussed, including point-of-care diagnostic devices, biosensors, DNA sequencers, medical implants, prosthetic devices, drug delivery systems, medical robots, etc. This course is cross-listed with 18418 and 42622. ECE graduate students will be prioritized for 18618, and ECE undergraduate students will be prioritized for 18418. Although students in 18618/42622 will share lectures with students in 18418, students in 18418 will receive distinct homework assignments, projects, and exams from those given to students in 18618/42664. Specifically, the homework assignments, projects, and exams that are given to the 18618/42664 students will be more challenging than those given to the 18418 students.
Course Website: http://www.ece.cmu.edu/courses/items/18618.html
- 18-619 Introduction to Quantum Computing
- Fall: 12 units
This course is designed for graduate and advanced undergraduate students. It introduces integer programming and machine learning as non-quantum (classical) solution methods for certain classes of difficult problems, and then discusses concepts that take advantage of near-term quantum and quantum-inspired computing. The course covers recent developments in quantum computing for solution of combinatorial optimization problems using machine learning methods. Quantum computing is discussed within the circuit-based and the annealing-based models of computing currently implemented on various hardware incarnations. Potential use of quantum processors for solution of machine learning algorithms designed for difficult problems that classical computers struggle with is explored. The format of the course is a series of lectures and problem sets that expose students to practical exercises using cloud-based quantum computing resources that include quantum annealing machines and circuit-based quantum processors. Students will gain experience and exposure to these novel computing resources through cloud-based quantum computing platforms at Amazon Web Services. The main deliverable for the course is a final group project report and an oral presentation that offer students an opportunity to thoroughly familiarize themselves with a problem of their choosing and interest. Students will use classical and unconventional (quantum and quantum-inspired) computing tools to address the problem in a specific application area of their choice.
Prerequisites: (18-202 Min. grade B or 21-240 Min. grade B) and 21-241 Min. grade B and 36-219 Min. grade B
- 18-620 Design, Integration, and Tapeout of IoT Systems
- Fall: 12 units
This course provides a comprehensive exploration of the design concepts and methodologies involved in developing integrated circuits for Internet of Things (IoT) systems. Students will gain hands-on experience in designing and integrating essential blocks such as sensor front-ends, data converters, machine learning circuits, and wireless transmitters. Key concepts include an introduction to IoT system architectures, principles of sensor interfacing, analog-to-digital converters (ADCs), machine learning in IoT, RF front-end design considerations, an CMOS technology and design rules, overview of the tapeout process, and design exercises using industry-standard design tools. By bringing together individual blocks into a cohesive system, students will gain the skills and knowledge required to design, simulate, and tapeout a complete IoT system-on-chip by the end of this course. The course emphasizes a practical, project-based approach to ensure students are well-prepared for real-world challenges in IoT integrated circuit design. This course is crosslisted with 18420. ECE graduate students will be prioritized for 18620, and ECE undergraduate students will be prioritized for 18420. Although students in 18420 will share lectures with students in 18620, students in 18620 will undertake more complex projects.
Prerequisite: 18-220 Min. grade C
- 18-622 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-623 Analog Integrated Circuit Design
- Fall: 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 B and 18-290 Min. grade B
- 18-624 Special Topics in Chip Design
- Spring: 12 units
Please refer to the ECE website for descriptions of each topic
Course Website: https://courses.ece.cmu.edu/
- 18-628 Advanced IoT System Validation and Deployment
- Spring: 12 units
This course is designed for students who have completed the initial tapeout phase of their IoT system design and are ready to transition into the critical phases of validation and deployment. This course provides an in-depth exploration of methodologies and tools essential for testing and deploying IoT systems. Students will learn to create robust testing platforms, including FPGA prototyping, MATLAB simulations, and custom board designs, to validate their custom-designed chips. Emphasis will be placed on integrating mixed-signal, wireless, and control circuits, while addressing practical challenges in IoT system implementation. In addition, the course introduces reconfigurable system design, focusing on machine learning (ML) integration, wireless components, and mixed-signal circuits. Students will explore packaging strategies for testing, principles of reconfigurable hardware and software, and best practices for mixed-signal and RF integration. By the end of the course, students will have developed the skills to bring their IoT designs from post-tapeout validation to full system deployment, preparing them for careers in IoT system design, hardware engineering, and embedded systems development. This course is crosslisted with 18428. Although students in 18428 will share lectures with students in 18628, students in 18428 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18628. Specifically, the homework assignments, programming projects, and exams that are given to the 18628 students will be more challenging than those given to the 18428 students.
Prerequisites: 18-620 Min. grade B or 18-420 Min. grade B
- 18-632 Hardware Security
- Fall: 12 units
This course covers basic concepts in the security of hardware systems. Topics covered include active and passive attacks, reverse engineering, counterfeiting, obfuscation, and design of hardware security primitives (e.g., random number generators, physical unclonable functions, and cryptographic accelerators). Lab sessions will give students hands on experience with performing attacks, developing countermeasures, and implementing secure hardware building blocks.
- 18-635 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 18435. 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.
- 18-636 Browser Security
- Spring: 12 units
The Web continues to grow in popularity as a platform for retail transactions, financial services, and rapidly evolving forms of communication. It is becoming an increasingly attractive target for attackers who wish to compromise users' systems or steal data from other sites. Browser vendors must stay ahead of these attacks by providing features that support secure web applications. This course will study vulnerabilities in existing web browsers and the applications they render, as well as new technologies that enable web applications that were never before possible. The material will be largely based on current research problems, and students will be expected to criticize and improve existing defenses. Topics of study include (but are not limited to) browser encryption, JavaScript security, plug-in security, sandboxing, web mashups, and authentication. The course will involve an intensive group research project focusing on protocols/algorithms, vulnerabilities, and attacks as well as several individual homework and programming tasks. Groups will perform a sequence of cumulative tasks (literature review, analysis, simulation, design, implementation) to address aspects of their chosen topic, occasionally reporting their results to the class through brief presentations, leading to a final report. This course is crosslisted with 18636. ECE graduate students will be prioritized for 18636, and ECE undergraduate students will be prioritized for 18436. Although students in 18436 will share lectures with students in 18636, students in 18636 will write a report critiquing research methodologies and validity of results for selected research papers on web and browser security.
- 18-640 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
- 18-641 Design Patterns for Smartphone Development
- Fall: 12 units
This course provides an intensive exploration of computer programming by reviewing the basics of Object-Orientated programming and moving quickly to advanced programming using design patterns and a multi-tiered architecture. As part of the course work, students will learn smartphone development and how to apply the learned programming techniques to create extensible, reusable and quality software. It is intended for master's students who have had some prior, but perhaps limited, programming experience in Java or another object-oriented programming language; it is not intended as a first course in programming.
- 18-642 Embedded System Software Engineering
- Fall: 12 units
In a very real sense, embedded software is what makes our everyday world function. From self-driving cars to chemical processing plant equipment, and from medical devices to the electric grid, embedded software is everywhere. You already know how to write code for a microcontroller. Now, learn software quality, safety, and security skills that are required to make embedded systems that can handle the messiness of the real world. This course provides in-depth coverage of the topics that are essential to the success of embedded software projects based on case studies of industry project teams that have suffered or failed. Students will learn about a variety of topics including: lightweight but high quality embedded software processes, technical best practices for embedded software, effective testing and validation, causes of software system failures, software for safety-critical systems, and embedded-specific aspects of software security. The material will generally be broken up into a set of four related topics each week, with one assignment per topic weekly, involving a combination of programming assignments, tool use experiences, and research questions to get hands-on experience at dealing with the types of problems that are encountered in industry embedded projects. We assume you already know how to code in C and understand the basics of microcontrollers. This course is about getting you ready to build industry-strength embedded projects. Undergraduate students are required to take 18349 prior to enrolling in this course. Graduate students are strongly encouraged to take 18-613/15-213/15-513/18-213 before or concurrently with this course.
Prerequisite: 18-349 Min. grade C
Course Website: https://course.ece.cmu.edu/~ece642/policy.html
- 18-643 Reconfigurable Logic: Technology, Architecture and Applications
- Fall: 12 units
Three decades since its original inception as a lower-cost compromise to ASIC, modern Field Programmable Gate Arrays (FPGAs) are versatile and powerful systems-on-a-chip for many applications that need both hardware level efficiency and the flexibility of reprogrammability. More recently, FPGAs have also emerged as a formidable computing substrate with applications ranging from data centers and mobile devices. This course offers a comprehensive coverage of modern FPGAs in terms of technology, architecture and applications. The coverage will also extend into on-going research investigations of future directions. Students will take part in a substantial design projects applying the latest FPGA platforms to compute acceleration. Register-Transfer Level (RTL) hardware design experience is required.
Prerequisites: 18-447 Min. grade C or 18-341 Min. grade C
- 18-644 Intro to ASIC and FPGA Chip Design
- Spring: 12 units
This course is an introduction to chip design. The student will learn how to design, implement, emulate, and verify an ASIC chip. Along the way, the student will be exposed to many common tools and techniques in the chip-implementation area. Many of those tools focus on FPGAs for emulation and development. For the final project in the course, students will tapeout a non-trivial digital design, to be fabricated using an open-hardware flow. It may take six to twelve months, but students will eventually end up with an actual chip that contains their design. This course is cross listed with 18244. Although students in 18244 will share lectures and in-class assignments with students in 18644, those students in 18644 will be expected to complete a more challenging semester-long project. Additionally, students in 18644 have an additional assignment, one in which they investigate a research topic and write an in-depth literature review.
Prerequisite: 18-240 Min. grade B
- 18-645 How to Write Fast Code I
- Fall: 12 units
The fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture. This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance software development using important functionality such as linear algebra kernels, transforms, filters and other kernels that are utilized by many scientific, engineering and machine learning applications. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and how to write parallel code for multicore, manycore, and cluster platforms, based on state-of-the-art research. Further, general strategies for performance analysis and optimization are introduced. Students will apply the lessons in group projects that accompany the course. Prerequisite: Senior ECE or CS undergraduate student or higher, solid C programming skills.
- 18-647 Computational Problem Solving for Engineers
- Spring: 12 units
Computing platforms used in engineering span an incredibly dynamic range from embedded and wearable processors to handhelds/laptops to high performance computing servers and the cloud. Similar engineering and AI/ML problems need to be solved across the entire dynamic range. When developing algorithms or solving R and amp;D problems, one usually starts with Matlab and Python using frameworks like Torch, Spark, and TensorFlow, and only resorts to C/C++ when needed. This course covers how to solve AI/ML and engineering research and development problems across the entire range of machines in a productive and performant way. It discusses how to scale problems from the initial concept stage, usually executed on a laptop, to more powerful computing systems like enterprise or HPC servers, GPU-accelerated systems, and cloud computing platforms. This course addresses a wide range of computational and informatics problem families from traditional numerical simulation and symbolic data processing to AI/ML problems. It covers the most important scalable parallel algorithms used in engineering computing, and discusses frameworks providing problem-specific and general implementation templates. It covers algorithm analysis from the numerical and complexity perspectives, parallelization approaches and scalability, algorithm optimization, evaluation, and analysis of results. Students in this course learn to productively solve AI/ML and engineering research and development problems on advanced computer systems across the dynamic range of computing systems. Further, they learn to carry algorithms from the concept stage to efficient-enough scaled-up implementations necessary to solve large scale problem instances, or squeeze them into the small footprint of embedded and wearable devices.
- 18-648 Embedded Real-Time Systems
- Fall: 12 units
Real-time embedded systems pervade many aspects of modern life ranging from household appliances, transportation and motion control systems, medical systems and devices, robotics, multimedia and mobile communications, video-games, energy generation/distribution/management, to aerospace and defense systems. This course has three complementary goals. One, it will cover the core concepts and principles underlying these systems, including resource management, scheduling, dependability and safety. Implications to multi-core platforms, SoCs, networks and communication buses will also be discussed. Mathematical models and analysis techniques will be presented. Two, the course will offer hands-on experience with implementing real-time embedded systems on realistic platforms. This will be facilitated by detailed discussions of hardware-software interfaces, concurrency and communications. Finally, application-level concepts such as signal processing, image processing, computer vision, sensor fusion and feedback control will complete an overview of the breadth and depth of real-time embedded systems. Knowledge of the C programming language, basic computer architecture and an assembly language will be assumed.
Prerequisites: (18-213 Min. grade C or 15-213 Min. grade C) and 18-447 Min. grade C
- 18-649 Distributed Embedded Systems
- Spring: 12 units
This course introduces the principles for designing distributed embedded systems with a mixture of heterogeneous network-connected resource-constrained devices. This course will address the new challenges designers face as embedded systems are connected forming large-scale networks that sense, monitor and control elements of the physical environment in real-time. This includes topics related to transducer hardware, operating systems, time synchronization, energy management, modeling, simulation, and security. We will study recent applications in the domain of safety-critical systems, smart grid technology, intelligent buildings, Supervisory Control and Data Acquisition (SCADA) systems used in manufacturing and automotive systems. The course will include a significant project component that gives students hands-on experience building systems that use current RTOSes on micro-controllers alongside Embedded Linux on application processors that span cloud, edge and device. This course is crosslisted with 18449. ECE graduate students will be prioritized for 18649, and ECE undergraduate students will be prioritized for 18449. Although students in 18449 will share lectures with students in 18649, students in 18449 will receive distinct homework assignments, distinct programming projects, and distinct exams from the ones given to students in 18649. Specifically, the homework assignments, programming projects, and exams that are given to the 18649 students will be more challenging than those given to the 18449 students.
Prerequisite: 18-349 Min. grade C
- 18-650 Policies of Wireless Systems
- Fall: 12 units
This course will address public policy issues related to wireless systems. It investigates policies related to a wide variety of emerging wireless systems and technologies, including current and next-generation cellular systems, wifi and white space devices, emerging methods of accessing spectrum, communications systems for emergency responders (firefighters, police, emergency medical services), current and next-generation television, and satellite communications. This can include the government role in facilitating the creation of infrastructure, in advancing competition among broadcasters and communications service providers, in using scarce spectrum efficiently, in promoting public safety and homeland security, and in protecting privacy and security. Because these are inherently interdisciplinary issues, the course will include detailed discussions of technology, economics, and law, with no prerequisites in any of these areas. This course is cross-listed as 18-650, 19-403, 19-713, and 95-824. Senior or graduate standing required.
- 18-651 Full-Stack Software Development for Engineers
- Fall: 12 units
This course introduces 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 acquire basic frontend and backend development skills and learn how to apply modern development practices in the context of an individual project using the plain web stack for the frontend, TypeScript and a NoSQL database layer for the backend, and other common libraries, light-weight frameworks, and tools as adjuncts. The course also reviews fundamental concepts including types, objects, multi-paradigm programming (functional and object-oriented), modularity, asynchronous and event-based computation, authentication and authorization, and dynamic updates. Students practice how to version-control their codebase, manage a small project, incrementally transform requirements expressed as user stories into working software, maintain code quality using static analysis tools, build their application on an integration server, and deploy it on the cloud. To enroll in this course, students must already be proficient in imperative programming using multiple languages and familiar with the basics of algorithms and data structures. Each student will need their own laptop computer to use in the course. This course is crosslisted with 18351. Although students in 18-351 and 18-651 will share lectures, quizzes, and all in-class components, students in 18-651 will be assigned two additional and more advanced deliverables for the project component.
Prerequisites: 18-213 Min. grade B or 18-613 Min. grade B
- 18-654 Software Testing and Operations
- Fall: 12 units
Testing is an integral part of any software endeavor and underpins building dependable systems. Testing activities, which nowadays rely greatly on automation and target both functional and non-functional requirements, form the backbone of a high-quality software solution that performs its function as intended. Operations activities involve configuration, monitoring, and troubleshooting software in a live environment. DevOps practices like containerization help streamline both testing and operations processes by encapsulating an application and its dependencies in a container to yield repeatable and resource-efficient testing environments. This course introduces the students to concepts, principles, theory, types, tools, and techniques of software testing. Students will learn fundamentals of testing principles, approaches to testing (specification-based and structural), input space analysis, and designing for testability. Moreover, students will gain sufficient breadth in testing types - targeting both functional requirements (unit and end-to-end testing) and quality attributes (security, performance testing). In its second half, the course syllabus introduces DevOps practices through a project component organized around micro services - an architectural style that gained significant adoption in the industry for building scalable and maintainable systems. Students will get practical experience with Docker to containerize such software and streamline testing automation. Each team will build various types of tests for one of the services whose quality they safeguard and put in place a resource-efficient and reliable testing process.
- 18-656 Functional Programming in Practice
- Fall and Spring: 12 units
Functional programming is an increasingly important paradigm in modern software engineering for building data-rich, high-performance applications that need parallelism for efficient, scalable implementation. This course aims to develop an applied understanding of the functional programming style and associated techniques using the F-sharp language. Students will practice these concepts in a hands-on manner by tackling problems involving concurrent, big-data processing and asynchronous communication while keeping performance trade-offs in mind. The course adopts a business-oriented approach (domain-driven design) in developing systems with functional programming. Combining functional programming with domain-driven design has in particular been successful in the FinTech sector, which the course leverages as an example application domain.
- 18-657 Decision Analysis and Engineering Economics for Software Engineers
- Intermittent: 12 units
Engineering software systems entails continuously making resource and technical decisions at multiple levels subject to different sources of uncertainty, cost-benefit tradeoffs, historical data, and flexibility demands. This course will develop quantitative and modeling skills for economics-based and decision-theoretic reasoning in software engineering through a repertoire of techniques from several fields. Special consideration will be given to reasoning under uncertainty and empirical approaches to tackle a variety of software engineering decision-making problems, including technology, architecture, design, product, and process decisions. The analysis techniques covered will be illustrated through domain-specific examples. Analysis techniques that will be covered include Monte Carlo Simulation, Net Present Value, Expected Value of Information, Decision Tree Analysis, Real Options Theory, Utility Theory, and Analytic Hierarchy Process. Basic data analysis concepts, including descriptives, linear regression, correlation, and hypothesis testing will be explained and used. Examples and fully-developed case studies will illustrate how these techniques can be combined to best leverage their strengths. The course has a practical focus, but includes coverage of the necessary background theories. Orientation is distinctly quantitative. Knowledge of basic probability is required.
- 18-658 Software Requirements and Interaction Design
- Fall: 12 units
Good software systems should be engineered with user experience in mind. How can we design software systems that are at once useful, usable, and enjoyable to use? This course addresses these challenges by integrating two disciplines: requirements engineering and interaction design. Students learn to combine user research, design-based ideation and validation, and requirements definition, within an agile software development process. Students apply this knowledge during a semester-long project. Their goal is to envision and implement the first version of an innovative software system that could make a unique contribution to society. The system should address a real problem, satisfy real stakeholders' needs, and provide a superior user experience. Students collaborate closely with their stakeholders throughout the project for needs elicitation, design concepts validation, and usability testing. This course is intended for ECE master students with a concentration in Software Engineering. It is a core course of the MS-SE program satisfying the "Software Engineering and Design" course area requirement.
- 18-659 Software Engineering Methods
- Spring: 12 units
The course exposes students to the challenges of real-world software development. Indeed, industry software systems are often complex and developed by large and distributed teams that need to continuously adapt to ever-changing circumstances. Students learn to tackle this challenge from both theoretical and practical perspectives in the context of a semester-long project where the entire class works together as a team of teams. They define the optimal software development method for their project aimed at evolving an existing software system. They build new system increments by applying their own method. They practice collective code ownership while balancing feature development with refactoring to avoid technical debt. They measure the quality of their product, the productivity of their team, and the predictability of their process. Students also reflect on the effectiveness of their approach and adapt their way of working via continuous improvement. This course is intended for ECE master students with a concentration in Software Engineering and will satisfy the "Systems" course area requirement. Registration in the course is by invitation only: Instructors will extend invitations to students based on their performance in 18652 and potentially other courses.
Prerequisite: 18-652 Min. grade B
- 18-661 Introduction to Machine Learning for Engineers
- Fall and Spring: 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 is crosslisted with 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. ANTIREQUISITE NOTES: 1) If you have taken any of the following courses you may not register for 18661: 18461, 14757, 24787, 10301, 10601, 10701, 07380; 2) If you have taken 18661 you may not register for any of the following courses: 18461, 14757, 24787, 10301, 10601, 10701, 07380, 42656
Prerequisites: 21-127 Min. grade C and 18-202 Min. grade C and 15-122 Min. grade C and (36-218 Min. grade C or 36-225 Min. grade C or 21-325 Min. grade C or 36-219 Min. grade C)
- 18-662 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: 36-219 Min. grade B or 36-218 Min. grade B or 18-751 Min. grade B
- 18-663 Advanced Data Analytics and Machine Learning for Semiconductor Industry
- Intermittent: 12 units
Leading edge semiconductor companies are currently handling several TB of data per day and are only able to actively deal with a fraction of this data stream. There is a huge demand for systems to process the data as rapidly as possible to make quick diagnostic or wafer disposition decisions with minimum human intervention, and also to avoid storing these huge quantities of raw data. This requires comprehensive data analytics systems to cover the entire IC manufacturing supply chain from the front-end wafer manufacturing to the fully packaged systems. The enormous complexity and data volumes require not only creation of such systems but also training a really sophisticated workforce for the rapidly expanding onshore semiconductor manufacturing industry. Many leading US-based companies such as Intel and GlobalFoundries for logic chips, Micron Technology for DRAM and 3-d Flash memories, as well as Texas Instruments for analog/embedded products and Analog Devices for analog, mixed-signal and digital signal processing chips, are planning huge investments to expand their fabrication facilities throughout the United States. The CHIPS Act promises very significant government investment in expanding the US role in semiconductor manufacturing and it is aimed at restoring the US leadership role in this crucial industry segment that enables progress in virtually all key segments of the country's economy. This course emphasizes the Machine Learning algorithms to analyze the massive data coming from the fabrication process to provide process control and failure diagnosis. The goal of this course is to prepare students to enter the job market with the necessary skills to handle the data analytics needs in these semiconductor companies. The course will feature several guest lecturers from industry and leading research universities.
- 18-664 Software Refactoring
- Spring: 12 units
Refactoring aims to improve the system's structural quality without changing its behavior. It is essential practice to guarantee programs' longevity since maintenance activities often degrade the system structure. Thus, it is in the software companies' best interests to ensure that developers know how to refactor their systems. Unfortunately, refactoring is not a trivial task; it can change the entire system structure! Undesirable effects can occur if developers do not know how to carry on these changes. They can degrade the structural quality and even introduce defects. The focus of the course is to learn how to confidently apply refactoring operations. Students will learn to apply refactoring for different granularity levels in a software system and additional resources such as APIs, databases, and test code. By the end of the course, students are expected to (i) recognize symptoms in the source code that warrant refactoring; (ii) apply refactoring at the architectural level and code level; (iii) evaluate the impact of the applied refactoring operations, (iv) design, implement, and deploy a tool to support software refactoring. This course is especially intended for ECE students pursuing a Master of Science degree in Software Engineering.
Prerequisite: 18-652 Min. grade C
- 18-665 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-667 Algorithms for Large-scale Distributed Machine Learning and Optimization
- Spring: 12 units
The objective of this course is to introduce students to state-of-the-art algorithms in large-scale machine learning and distributed optimization. Students will read and critique a curated set of research papers. A key discussion topic will be distributed stochastic gradient descent, and how to scale it to federated learning frameworks. Topics to be covered include but are not limited to: mini-batch SGD and its convergence analysis, momentum and variance reduction methods, synchronous and asynchronous SGD, local-update SGD, gradient compression/quantization, differential privacy in federated learning, decentralized SGD, and hyperparameter optimization. Foundational knowledge in undergraduate probability and linear algebra is strongly encouraged as a pre-requisite.
Prerequisites: 18-661 or 10-601 or 10-701 or 10-301
- 18-669 Special Topics in Integrated Systems Technology
- Fall and Spring: 12 units
Please refer to the ECE website for topic descriptions.
Course Website: https://courses.ece.cmu.edu/
- 18-671 Foundations of Database Design
- Spring: 12 units
A strong foundation in database concepts and database management systems (DBMS) is essential for software engineers because it underpins the core functionality of most software applications. It enables engineers to build reliable, scalable, and high-performing software systems The Foundations of Database Design course comprehensively explores database principles and concepts from a software development perspective. Students will delve into the fundamental principles of databases, including SQL and NoSQL databases, data modeling (e.g., schemas, tables, keys, and constraints), data storage management (partitioning, replication, and sharding) and other relevant concepts essential to design and implement a DBMS. We introduce and explore these concepts by evolving a novel database management system (DBMS) through new components and features. The programming language used in the course is C++. Prior knowledge of C++ is necessary.
Prerequisite: 18-652 Min. grade C
- 18-675 Autonomous Control Systems
- Spring: 12 units
In this course, we will introduce the basic principles in the learning and control of autonomous control systems. We will cover topics related to the representation of control systems, state estimation, state feedback control, separation principles between control and estimation, robust control, adaptive control, and reinforcement learning. These tools are currently used in a broad range of systems: autonomous vehicles, drones, robots, manufacturing systems, human sensorimotor control systems, biomolecular control systems, and economic models, among others. This course is crosslisted with 18475. ECE graduate students will be prioritized for 18675, and ECE undergraduate students will be prioritized for 18475. Although students in 18475 will share lectures with students in 18675, students in 18475 will receive partially different assignments. The assignments given to the 18675 students will be more challenging than those given to the 18475 students.
Prerequisites: 18-370 Min. grade C and 18-290 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-682 Electrical Systems for Electric Vehicles
- Spring: 12 units
Due to concerns of climate change and global warming, electrical vehicles (EV) are rapidly replacing fossil fuel based EVs. The development of electrical transport in various parts of the world is hampered by lack of capacity and technical know-how. Although Digital technologies are maturing, there is a lack of technical knowledge, skills and capacity in the electrical systems and controls This master’s level 12-unit course is aimed at filling this gap. Content will include: overview of electric vehicles, key components, battery pack, power devices and converters, electric traction motors, thermal system, vehicle speed and torque control, communication and diagnostics, future developments.
- 18-685 Power Electronics for Electric Utility Systems
- Spring: 12 units
With the advent of power electronics, control and communication systems and internet technologies, the grid connected and stand-alone electricity supply systems can be made smart and flexible by the application of power electronics. This is particularly relevant for the increasing penetration of embedded generation due to the proliferation of renewable energy systems based on solar, wind, mini and micro hydro and wave in addition to the Diesel and gas generators. This course is designed to produce engineers equipped with the necessary knowledge and skills to design, commission and operate such systems. Content includes: high voltage switches, both thyristor and IGBT based; reactive power compensation: thyristor-controlled reactor (TCR), thyristor switched capacitor (TSC), static var compensator (SVC), STATCOM, series and shunt compensation; high voltage DC transmission (HVDC): HVDC converters (both thyristor-based and voltage source converter-based), multiterminal HVDC, DC grids; grid integration of renewable energy sources: wind power on shore and off shore, solar, energy storage, application to weak systems, black start; stand-alone grid systems: PV and hydro based, energy storage, rural electrification and city applications, business models. Completion of a previous course in power electronics is recommended.
- 18-691 Digital Signal Processing
- Spring: 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 B
- 18-698 Neural Signal Processing
- Spring: 12 units
The brain is among the most complex systems ever studied. Underlying the brain's ability to process sensory information and drive motor actions is a network of roughly 1011 neurons, each making 103 connections with other neurons. Modern statistical and machine learning tools are needed to interpret the plethora of neural data being collected, both for (1) furthering our understanding of how the brain works, and (2) designing biomedical devices that interface with the brain. This course will cover a range of statistical methods and their application to neural data analysis. The statistical topics include latent variable models, dynamical systems, point processes, dimensionality reduction, Bayesian inference, and spectral analysis. The neuroscience applications include neural decoding, firing rate estimation, neural system characterization, sensorimotor control, spike sorting, and field potential analysis.
- 18-709 Advanced Cloud Computing
- Spring: 12 units
Computing in the cloud has emerged as a leading paradigm for cost-effective, scalable, well-managed computing. Users pay for services provided in a broadly shared, power-efficient datacenter, enabling dynamic computing needs to be met without paying for more than needed. Actual machines may be virtualized into machine-like services, abstract programming platforms, or application-specific services, with the cloud infrastructure managing sharing, scheduling, reliability, availability, elasticity, privacy, provisioning and geo-replication. This course will survey the aspects of cloud computing through about 30 papers and articles, executing cloud computing tasks on a state-of-the-art cloud computing service, and implementing a change or feature in a state-of-the-art cloud computing framework. There will be no final exam, but there will be one or two in-class exams. Grades will be about 50% project work and about 50% examination results.
Prerequisites: 15-619 Min. grade B or 18-613 Min. grade B or 18-600 Min. grade B or 18-213 Min. grade B or 15-213 Min. grade B or 15-513 Min. grade B
- 18-719 Nonlinear Optics and Photonics
- Fall: 12 units
Nonlinear optics plays an indispensable role in modern photonics and is the driving force behind many important applications. Examples include frequency mixing in the classical domain and entangled photon sources in the quantum domain. This course aims to provide a practical yet broad coverage on nonlinear optics, focusing both on the theoretical and experimental aspects of this subject. For example, by introducing nonlinear susceptibility to classical EM wave equations based on the coupled mode theory, we will study two key concepts of nonlinear optics: phase matching and energy conservation, in the context of various second- or third-order nonlinear processes. In addition, we will cover the basics of quantum optics relevant to this course, which will help prepare students for future research work in the quantum area. Quantum applications such as spontaneous parametric down-conversion and quantum frequency conversion will be discussed.
Prerequisite: 18-300 Min. grade B
- 18-725 Advanced Digital Integrated Circuit Design
- Spring: 12 units
Student teams create a moderate-sized digital, analog/RF, or mixed-signal chip in a modern technology using industrial CAD tools and flows. The project involves planning and specification, writing a Verilog model, designing custom circuits and/or synthesized standard cell blocks, creating a testing/debug strategy, and full-chip integration and verification for tapeout. Completed verified designs will be sent for fabrication at the end of the semester and returned by the following fall. Students will have the opportunity to test their devices as part of a follow-on course or independent study. Recommended for PhD students that plan to design chips for their thesis, MS students interested in careers in VLSI design, or undergraduates who wish to use it to satisfy their Capstone Design requirement (requires enrollment in 18525, see below). This course is crosslisted with 18525. 18525 is the number for undergraduate students utilizing the course to complete their ECE Capstone Design requirement. Students in the graduate course number may be completing projects of increased complexity compared to 18525.
Prerequisites: 18-623 Min. grade B or 18-622 Min. grade B or 18-422 Min. grade B
- 18-726 Projects in Integrated Circuit Design: First Silicon
- Fall: 12 units
Students who have fabricated a testchip in 18-725 or as part of their research learn how to design and implement testing infrastructure for their chip, write test vectors, and perform in lab testing of the chips. This includes chip packaging specification; test PCB design, fabrication, and population; test vector creation and test coverage evaluation; lab instrument automation; and in lab test and debug of the fabricated chips. Recommended for PhD students that plan to design chips for their thesis or MS students interested in careers in VLSI design.
Prerequisites: 18-525 Min. grade B or 18-725 Min. grade B
- 18-727 Board-Level RF Systems for the Internet-of-Things
- Fall: 12 units
In this age when everything is connected to the internet-of-things (IOT), students should understand how RF Transceivers and Antennas can allow such devices to be connected without wires. This class will give students the chance to learn about cellular and IOT devices and how they communicate using radio frequency (RF) signals. Students will gain an understanding of antenna design and operation, a high-level understanding of RF signal propagation, an introduction to RF Transceiver design and operation and an overview of multi-input multi-output (MIMO) RF operation. A Laboratory section is included in this class. In Lab, students will learn how to assemble printed circuit board (PCBs) using the Tech Spark facility. Early Lab sessions will demonstrate RF signals, antennas, and constructive and destructive RF interference. Students control the RF transceiver ICs by programming several different types of software defined radios (SDRs). Several different PCB antenna designs will be explored in the Lab sessions. Lab exercises will culminate with students building up an SDR-controlled RF transmitter driving a PCB antenna and using it to send data from one student to another using MI O beam steering to increase spectral reuse. Although students in 18-727 will share lectures and recitations with students in 18-427, students in 18-727 will receive distinct homework assignments and grading scale from students in 18-427. Specifically, the homework assignments for 18-727 will be more complex than the homework assignments for 18-427.
Prerequisites: 18-290 Min. grade C and 18-320 Min. grade C
- 18-729 Special Topics in Circuits
- Intermittent: 12 units
Please refer to the ECE website for descriptions of each topic.
Course Website: https://courses.ece.cmu.edu/
- 18-732 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. Senior or graduate standing required.
Prerequisites: (18-730 Min. grade C or 18-631 Min. grade C or 15-330 Min. grade C or 18-330 Min. grade C or 14-741 Min. grade C) and (15-213 Min. grade C or 18-613 Min. grade C or 15-513 Min. grade C or 14-513 Min. grade C or 18-213 Min. grade C)
- 18-733 Applied Cryptography
- Spring: 12 units
A wide array of communication and data protections employ cryptographic mechanisms. This course explores modern cryptographic techniques in some detail. The course emphasizes how cryptographic mechanisms can be effectively used within larger security systems, and the dramatic ways in which cryptographic mechanisms can fail. Topics covered include cryptographic primitives such as symmetric encryption, public key encryption, digital signatures, message authentication codes, hash functions, commitments, and pseudo-random number generators. The course also covers cryptographic protocols, such as key exchange, remote user authentication, and interactive proof systems; threshold cryptography, oblivious transfers and secure multi-party computations; perfectly secure encryption and universal hash functions. The course also covers a variety of special applications including computing on encrypted data. Senior or graduate standing required.
Prerequisites: 14-741 or 18-330 or 18-631 or 18-730
- 18-734 Foundations of Privacy
- Fall: 12 units
Privacy is a significant concern in modern society. Individuals share personal information with many different organizations - healthcare, financial and educational institutions, the census bureau, web services providers and online social networks - often in electronic form. Privacy violations occur when such personal information is inappropriately collected, shared or used. We will study privacy in a few settings where rigorous definitions and enforcement mechanisms are being developed - statistical disclosure limitation (as may be used by the census bureau in releasing statistics), semantics and logical specification of privacy policies that constrain information flow and use (e.g., by privacy regulations such as the HIPAA Privacy Rule and the Gramm-Leach-Bliley Act), principled audit and accountability mechanisms for enforcing privacy policies, anonymous communication protocols - and other settings in which privacy concerns have prompted much research, such as in social networks, location privacy and Web privacy (in particular, online tracking and amp; targeted advertising).
Prerequisite: 18-665 Min. grade C
- 18-738 Sports Technology
- Spring: 12 units
The course's lecture content will cover background material on key aspects of sports technology, including topics such as computer vision, artificial intelligence, data mining, the physics of sports and understanding of real-world systems and guest lectures from experts in the field. The topics covered in depth will include the types of sensors and algorithms used in real-world systems deployments today, as well as new applications of the Internet of Things to different aspects of sports, including training, performance, coaching, etc. This course also comprises a semester-long project experience and research paper geared towards the development of skills to design realistic and practical embedded/mobile systems and applications that enhance various aspects of the training, coaching, playing and scouting of different sports, including football, hockey, baseball, soccer, etc. Students will work in teams on a project that will involve the hands-on design, configuration, engineering, implementation and testing of an embedded-system prototype of an innovative sports technology of their choice. Students will be expected to leverage proficiency and background gained from other courses, particularly with regard to embedded real-time principles, software systems and embedded programming. The project will utilize a synergistic mixture of skills in system architecture, modular system design, software engineering, subsystem integration, debugging and testing. From inception to demonstration of the prototype, the course will follow industrial project practices, such as version control, design requirements, design reviews, user studies and quality assurance plans. Advanced undergraduate or graduate standing required.
- 18-740 Modern Computer Architecture and Design
- All Semesters: 12 units
Computer architecture deals with the art and science of designing and integrating hardware subsystems, and co-designing the hardware/software interface to create a computer system that achieves functional correctness, and meets design objectives in performance, power consumption, energy efficiency, and cost. This course provides a comprehensive view on how modern computer systems are architected, with a special focus on mass-market personal/mobile computer systems (e.g., smartphones, tablets, laptops, vehicular computers). Topics covered in this course span the design and evaluation of three major subsystems: (1) the Processing Subsystem (superscalar out-of-order cores, multicore processors, heterogeneous processors, purpose-specific accelerators), (2) the Memory Subsystem (multicore cache hierarchy, main memory and DRAM, non-volatile storage, aggressive memory management), and (3) the Interconnect Subsystem (NoC, 3D die stacking technology, intra-SoC/SIP/PoP interconnects, wireless Internet interfaces). Each subsystem will be studied from the perspective of several first-class design goals: performance, power consumption, and energy efficiency. This course places a strong emphasis on professional design tools (e.g., architecture/microarchitecture simulators, RTL synthesis tools, area/power/thermal modeling), with the goal of preparing students to be competent and productive in industry and/or research. Students who have not yet taken "Introduction to Computer Systems" (18-213/15-213/15-513) or "Foundation of Computer Systems" (18-600/18-613) are expected to be enrolled in the appropriate number concurrently.
Prerequisite: 18-447 Min. grade C
- 18-741 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-441 - 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: 18-613 Min. grade C or 18-213 Min. grade C
Course Website: http://www.ece.cmu.edu/~ece741
- 18-742 Computer Architecture and Systems
- Spring: 12 units
Historically, the performance and efficiency of computers has scaled favorably (according to "Moore's Law") with improvements at the transistor level that followed a steady trend (so-called "Dennard scaling"). Unfortunately, device scaling has hit a limit on performance and power improvements dictated by physical device properties. To continue to make systems capable, fast, energy efficient, programmable, and reliable in this "post-Dennard" era, computer architects must be creative and innovate across the layers of the system stack. This course begins with a recap of conventional, sequential computer architecture concepts. We will then discuss the end of convention, brought about by the end of Dennard Scaling and Moore's Law, and several trends that these changes precipitated. The first trend is the wholesale shift to parallel computer architectures and systems, covering parallel hardware and software execution models, cache coherence, memory consistency, synchronization, transactional memory, and architecture support for programming, debugging, and failure avoidance. The second trend is the shift to incorporating specialized, heterogeneous components into parallel computer architectures. Topics will include reconfigurable architectures, FPGAs in the datacenter, ASIC accelerators, GPGPU architectures, and the changes to the system stack that these components demand. The third trend is the emergence of newly capable hardware and software systems and new models of computation. Topics will include approximate and neuromorphic computing, intermittent computing, emerging non-volatile memory and logic technologies, and analog and asynchronous architectures, and may include future emerging topics.
Prerequisites: 18-447 Min. grade B or 18-740 Min. grade B or 18-213 Min. grade B or 18-613 Min. grade B
- 18-743 Neuromorphic Computer Architecture & Processor Design
- Spring: 12 units
This course introduces the foundational concepts of neuromorphic computing. Provides brief overview of neuroanatomy to introduce the reference design of the human brain. Discusses the relationship of artificial intelligence, artificial neural networks and neuromorphic computing. Review some of the noteworthy early neuromorphic computing projects. This is a research project driven course with students working in teams of 2-3 students on a semester long project that can lead to innovative results. This course should provide actual research project experience for students. The goal is to provide research experience for IMB and MS students before employment and to prepare early PhD students for PhD research. The stretch goal is to give returning students in the following semester the opportunity to continue team projects as RAs to potentially lead to paper submissions to research conferences. IMPORTANT INFORMATION AFFECTING RIGHTS: Because this course provides the opportunity to gain actual research project experience, as a condition to register for and by enrolling in this course, the student: 1. agrees not to seek patent protection for the student's coursework, 2. agrees that the coursework may be used or disclosed by CMU and its faculty, staff and students without restriction, 3. grants to CMU a perpetual, irrevocable, non-exclusive, worldwide, royalty-free license to publish, modify, create derivatives of, sublicense and otherwise use the coursework for academic, educational, publicity and/or research purposes, including for the purposes of licensing the coursework under an open-source license or creative commons license, and 4. freely and voluntarily consents to CMU using and/or disclosing the coursework in the manner described above to the extent any of it constitutes an educational record within the meaning of FERPA. If the student does not agree to the foregoing, the student cannot register for this course.
Prerequisite: 18-740 Min. grade B
- 18-744 Autonomous Driving
- Spring: 12 units
Autonomous vehicles (AVs) promise to (a) significantly reduce or even eliminate fatalities, injuries and damage from automotive crashes; (b) replace driving times with other productive work; and (c) provide independence, flexibility and a better quality of life to legally-blind and differently-abled individuals by giving them transportation options. At the same time, driving is one of the most complex tasks performed by humans on a regular basis. Put together, autonomous driving has become a deep engineering and technological challenge of our times. This course will expose students to the software architecture used in autonomous vehicles (AVs), and discuss in-depth each of the many layers underlying AVs. These layers include sensing, perception, localization, driving behaviors, route planning, path planning, vehicular communications, control, fault management and user interfaces.
- 18-745 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. This course is cross-listed as 18540.
- 18-746 Storage Systems
- Fall: 12 units
This course covers the design, implementation, and use of storage systems, from the characteristics and operation of individual storage devices through the OS, database, and networking approaches involved in tying them together and making them useful to key applications' demands and technology trends. Topics to be covered include: network-attached storage, disk arrays, storage networking, storage management, advanced file systems, disk performance enhancement, wide-area data sharing, and storage security. 3 hrs. lec. The class will continue to be like previous years, with the same advanced content and high-level expectations.
Prerequisites: 15-513 Min. grade B or 18-613 Min. grade B or 18-600 Min. grade B or 18-213 Min. grade B or 15-213 Min. grade B or 14-513 Min. grade B
- 18-747 Data Center Computing
- Spring: 12 units
Modern computing systems support a wide range of hyperscale web services such as cloud computing, social networks, video streaming, online messaging, web search, and online banking. This course will focus on studying the systems software, hardware, and distributed systems technology that compose modern data center computing systems. The course will also expose students to cross-cutting data center problems related to service level objectives, latency unpredictability, total cost of ownership, energy efficiency, scalability, sustainability, and equity. The course is a combination of lectures, paper reading and reviewing, in- class presentations, and a semester-long project. Students will read up to two seminal papers per topic and submit brief summaries via hotcrp. In the classroom, we will have a student presentation of the papers accompanied by an interactive discussion on the papers in terms of design innovation and challenges. From time to time, we will have guest speakers (who are typically the authors of the paper being discussed). Students will work in groups of three on a semester-long, open-ended research project on a cutting-edge data center topic. This course is appropriate for graduate and advanced undergraduate students from ECE and CS who are interested in a vertical study of modern cloud computing and advanced data center systems. It is also appropriate for ECE and CS students who want to gain some experience with a semester-long research project on a cutting-edge modern computer systems topic. This course is especially suited for students who are more interested in open- ended discussions, are interested in learning new concepts on-the-fly, and have a curiosity to explore the unknown. Students are expected to attend class meetings and actively participate in the discussions. Paper summaries, presentations, and class participation are a significant part of the grade.
- 18-749 Building Reliable Distributed Systems
- Intermittent: 12 units
The course provides an in-depth and hands-on overview of designing and developing reliable distributed systems, throughout a system's lifecycle, starting from fault-tolerant design and execution (replication, group communication, databases) to fault-recovery (fault-detection, logging, check-pointing, failure-diagnosis) for various classes of faults (crashes, communication errors, software upgrades). The course will cover real-world practices for reliability, supplemented by case studies of large-scale downtime incidents. The concepts will be taught in the context of contemporary cloud-computing platforms, and the course will include a hands-on project that involves the design, implementation and empirical evaluation of a reliable distributed cloud-based system. Students will be taught to write, review, and present a conference-style research paper by the end of the semester, with the goal of documenting the design, lessons learned and experimental results of their team project. Students can expect to learn about the reliability issues underlying cloud computing, the tools and best practices for implementing and evaluating reliability, and the strengths and weaknesses of current cloud-computing platforms from the perspective of reliability. Prerequisites: Graduate standing or instructor permission
- 18-750 Wireless Networks 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: 18-213 or 15-213 or 18-613
- 18-751 Applied Stochastic Processes
- Fall: 12 units
Basic probability concepts : Probability space, simple and compound events, statistical independence, and Bayes Rule. Total Probability Concept; Bernoulli trials; Poisson Law. De Moivre-Laplace Theorem. Definition of a Random Variable (RV); Probability distribution of an RV: cumulative distribution function (CDF) and probability density function (PDF). Two Random Variables; several Random Variables. Functions of RVs; conditional distributions; conditional expectations; joint distributions. Moments, generating functions, and characteristic functions of RVs. Chebyshev inequality. Estimation; linear estimation; minimum mean square estimation; and orthogonality principle. Limit theorems; Central Limit Theorem; Law of Large Numbers (both strong LLN and Weak LLN). Definition of a Random Process (RP). Different notions of stationarity. Poisson and Gaussian processes. Autocorrelation and Power Spectral Density (PSD) of an RP. Processing of random (stochastic) processes by linear systems. Ergodicity. Spectral analysis. Matched Filtering. Selected applications from telecommunications, data networking (queuing), Kalman filtering.
Prerequisites: (21-325 Min. grade C or 36-218 Min. grade C or 36-219 Min. grade C or 36-225 Min. grade C) and 18-290 Min. grade C
- 18-752 Estimation, Detection and Learning
- Spring: 12 units
This course discusses estimation, detection, identification and machine learning, covering a variety of methods, from classical to modern. In detection, the topics covered include hypothesis testing, Neyman-Pearson detection, Bayesian classification and methods to combine classifiers. In estimation, the topics include maximum-likelihood and Bayesian estimation, regression, prediction and filtering, Monte Carlo methods and compressed sensing. In identification and machine learning, topics include Gaussian and low-dimensional models, learning with kernels, support vector machines, neural networks, deep learning, Markov models and graphical models.
Prerequisite: 36-219 Min. grade C
- 18-753 Information Theory Measures for Artificial and Natural Intelligence Systems
- Spring: 12 units
We will discuss how, through examples, counterexamples, thought experiments, and desirable properties, one can systematically arrive at new measures of information relevant in Fairness, Accountability, Transparency, and Explainability (FATE) of machine learning. We will use data and examples from the real world to explore and understand these issues. The focus will be on defining measures and #8212; classic and novel and #8212; as well as the interplay between causality and information that is increasingly important when deciding whether and how to intervene on a decision-making system. The course introduces the measures of entropy, mutual information, partial information decomposition, causal inference, and their operational meaning. We will also discuss examples of how causal inference and existing measures come together. The course will discuss FATE of ML, information flow and interventions in neuroengineering and neuroscience, and making inferences in computational/dynamical systems (e.g. those in AI and neuroscience), and will engage with hands-on data analyses and real world examples.
Prerequisite: 36-219
- 18-755 Networks in the Real World
- Fall: 12 units
18-755 is a graduate-level course that focuses on networks and their applications to various natural and technological systems. Specifically, this class delves into the new science behind networks and their concrete applications technological, biological, and social systems, as well as various design synergies that exist when looking at these systems from a cyber-physical perspective. By scope and contents, this is not just another class on "networks." Want to know how complex networks dominate our world? How communities arise in social networks? How group behavior dominates Twitter? How swarms of bacteria can navigate inside the human body? How patterns of interaction can be identified in hardware and software systems? Want to work on cutting edge projects involving systems and synthetic biology? Or social networks? Or networks-on-chip and internet-of-things? Then this class is for you! Course requirements consist of a few homework assignments, a semester-long project, and in-class presentations of relevant papers. By structure and contents, this class targets primarily the computer engineering and computer science students, but it also provides a valuable foundation for interdisciplinary research to students in related disciplines. Senior or graduate standing standing is required to take this course.
- 18-756 Packet Switching and Computer Networks
- Fall: 12 units
This course is designed to provide graduate students an understanding of the fundamental concepts in computer networks of the present and the future. In the past, the scarce and expensive resource in communication networks has been the bandwidth of transmission facilities. Accordingly, the techniques used for networking and switching have been chosen to optimize the efficient use of this resource. These techniques have differed according to the type of information carried: circuit switching for voice and packet switching for data. It is expected that elements of circuit and packet switching will be used in the integrated networks. This course focuses on packet switching for computer networks and protocol design. Topics in the course include: computer networks over-view; OSI layers, queuing theory; data link protocol; flow control; congestion control; routing; local area networks; transport layer. The current networks and applications will be introduced through the student seminars in the last weeks of the course. 4 hrs. lec. Prerequisites: 18-345 and senior or graduate standing.
- 18-758 Wireless Communications
- Fall: 12 units
In this course, the communication problem will be introduced, and channel impairments such as noise, inter-symbol interference and fading will be described. Solutions to combat these impairments, based on digital communication theory, will be described. These will include signal space analysis, detection, equalization, coding and diversity. Examples drawn from communication standards will illustrate how the theory is implemented in practical communication systems.
Prerequisites: 36-219 Min. grade C or 36-225 Min. grade C
- 18-759 Wireless Communications and Mobile Networks
- Spring: 12 units
This course introduces fundamental concepts of wireless networks and systems to help students understand any type of wireless application or technology. It covers the theory of wireless propagation and the associated path loss phenomena. The course focuses on understanding the effects of the channel on signal propagation for broadcast and line-of-sight wireless systems. It covers mobile cellular networks and satellite systems in detail. The course explains recent advances in wireless technologies in the context of recent trends, for instance the technologies that are applied in 5G networks. Students will appreciate recent directions such as mmWave propagation, UAV-based cellular networks, distributed antenna systems, etc. Students are assessed through labs, homework, an exam, and a final group project.
Prerequisites: (18-345 Min. grade C or 15-441 Min. grade C) and 18-391 Min. grade C
- 18-760 Design Quest: AgTech
- Spring: 12 units
This course joins technical skillsets to agricultural systems within an applied, project-based course. Agriculture offers a vast design space of climate and material, resource diversity, data and energy systems, with productive real-world constraints and opportunities for innovation. Students may work in embedded electronics, energy infrastructure, data analysis, computational methods, material prototyping, and so on, acquiring or deepening skills to develop functional, site-responsive outputs. Projects could include, as examples: agricultural robotic components, digital platforms, closed-loop embedded control systems for navigation or distribution, energy storage and grid research, targeted remineralization of materially graded soil. Design Quest follows a collaborative, studio-style format, supporting iterative development across digital and physical platforms. Here, projects are considered as world-building processes entering a site of biological production, ecological cohabitation, and regenerative potential. Case studies ranging from microbial fermentation chambers to satellite-regulated orchards, from collapsed experiments in ag-tech to emerging logics of vertical containment explore questions of land, food, labor, and automation. This course is cross-listed with 18360. Although students in 18360 will share lectures and most assignments with students in 18760, students in 18760 will engage in more advanced projects with a higher degree of resolution or involvement compared to students in 18360. This course requires instructor permission. Interested students must contact Professor Chang.
- 18-762 Simulation and Optimization of Engineering Systems Through a Circuit Lens
- Spring: 12 units
This course develops scalable numerical methods and optimization algorithms for engineering systems through a circuit-theoretic lens. It explores how numerical algorithms can be framed as physical systems, namely, as equivalent analog circuits, thereby recasting algorithm design as circuit design. This course explores successful industrial implementations of the equivalent circuit paradigm in circuits and power systems that leverage a physics-first lens to construct algorithms and open new opportunities in system design and control. The course draws on successful industrial implementations in circuits and power systems that use a physics-first approach to derive intuitive and scalable algorithms in system design and control. Students learn to combine engineering domain knowledge with numerical methods to exploit the structure and nonlinearities of mathematical problems arising in engineering systems. Applications include power grids, analog circuits, and state-space machine learning models. The course covers numerical methods for steady-state and frequency-domain analysis, followed by time-domain analysis, where students construct circuit-equivalent representations of dynamic systems and reinterpret numerical integration in terms of physical quantities such as charge and energy. The final portion extends these ideas to circuit-theoretic optimization in both steady-state and time-domain settings, including applications such as state estimation and optimal power flow. Students will be able to leverage the connection between numerical algorithms and circuit representations to design, analyze, and adapt methods for simulating and optimizing engineering systems, with emphasis on stability, efficiency, and scalability. The main deliverables for this course includes three projects aligned with the major sections of the course.
Prerequisites: 18-372 Min. grade C or 18-220 Min. grade C or 18-202 Min. grade C
- 18-763 Systems & Toolchains for AI Engineers
- Fall: 12 units
Adopting Artificial Intelligence in modern era has much more to it than learning the theoretical foundation of AI algorithms. The implementation of Machine Learning and Artificial Intelligence at large scale requires solid technical infrastructure to support its complex, heavy processes. In this course, students will learn to be effective users of AI systems. Students will gain hands-on experience with modern ML frameworks and infrastructure tools, in the context of large real-world datasets and under conditions requiring engineering design choices. This experience will be gained in conjunction with practical application of class topics in a real cloud environment. The premise of this course is to build a broad and solid foundation in Artificial Intelligence Infrastructure that will pay significant dividends throughout a student's research and work career across data science and Artificial Intelligence related fields. In this class, we will focus on the following topics: Data Collection and Storage; Data Streaming; Data Engineering; Modern ML Frameworks; Model Validation and Monitoring; Neural Network Design and Implementation; Embedded Machine Learning; Deployment of ML Models to the Cloud. The course material will focus on recent and landmark research papers and existing tools and software systems. Students will have substantial programming project work in which they design, implement, and analyze aspects of AI-model infrastructure. This course will use an IoT-relevant dataset throughout the semester. The format of this course will be a mix of lectures and hands-on labs. Students will be responsible for readings, and completing a hands-on project focused on developing applications on Apache Spark, TensorFlow, Apache Kafka, and PostgreSQL. Readings will be selected from recent conference proceedings and journals.
- 18-765 Digital System Testing and Testable Design
- Fall: 12 units
For this course, time- and topic-indexed videos of lecture, homework, projects, etc. will be available from the online learning portal/website. In addition to these resources, two 1-hour live sessions are scheduled per week for recitation. Each student is strongly urged to attend one of these two sessions each week, either remotely or in the classroom on the Carnegie-Mellon Pittsburgh campus. This course examines in depth the theory and practice of fault analysis, test generation, and design for testability for digital ICs and systems. The topics to be covered include circuit and system modeling; fault sources and types; the single stuck-line (SSL), delay, and functional fault models; fault simulation methods; automatic test pattern generation (ATPG) algorithms for combinational and sequential circuits, including the D-algorithm, PODEM, FAN, and the genetic algorithm; testability measures; design-for-testability; scan design; test compression methods; logic-level diagnosis; built-in self-testing (BIST); VLSI testing issues; and processor and memory testing. Advance research issues, including topics on MEMS and mixed-signal testing are also discussed. 4 hours of lecture per week Prerequisites: 18-240 and 15-211 and (18-340 or 18-341) Senior or graduate standing required.
Prerequisites: 15-210 Min. grade C and 18-240 Min. grade C and (18-341 Min. grade C or 18-340 Min. grade C)
Course Website: http://www.ece.cmu.edu/~ee765/
- 18-768 Special Topics in Hardware Systems
- All Semesters: 12 units
Please refer to the ECE website for descriptions of each topic: //courses.ece.cmu.edu/
- 18-780 Intro to Deep Learning Part I
- Spring: 6 units
This course is a first mini in which we introduce the basic concepts of deep learning for engineers. It is intended as an alternative to the full-term Introduction to Deep Learning course, 18786. ***Students may not switch between 18786 and 18780 after the Add Deadline*** Neural networks have increasingly taken over various AI/ML tasks, and currently produce the state of the art in many tasks ranging from computer vision and planning for self-driving cars to playing computer games. Basic knowledge of NNs, known currently in the popular literature as "deep learning, familiarity with various formalisms, and knowledge of tools, is now an essential requirement for any researcher or developer in most AI and NLP fields. This course is a broad introduction to the field of neural networks and their "deep" learning formalisms. This mini focuses on the development of neural network theory and design through time, and the basic ideas underlying them including network architectures, loss functions, and optimization techniques. Students will complete two assignments and one pre-set project.
- 18-781 Speech Recognition and Understanding
- Fall: 12 units
The technology to allow humans to communicate by speech with machines or by which machines can understand when humans communicate with each other is rapidly maturing. This course provides an introduction to the theoretical tools as well as the experimental practice that has made the field what it is today. We will cover theoretical foundations, essential algorithms, major approaches, experimental strategies and current state-of-the-art systems and will introduce the participants to ongoing work in representation, algorithms and interface design. This course is suitable for graduate students with some background in computer science and electrical engineering, as well as for advanced undergraduates. Prerequisites: Sound mathematical background, knowledge of basic statistics, good computing skills. No prior experience with speech recognition is necessary. This course is primarily for graduate students in LTI, CS, Robotics, ECE, Psychology, or Computational Linguistics. Others by prior permission of instructor.
- 18-785 Data, Inference, and Applied Machine Learning
- Fall: 12 units
This course will provide the methods and skills required to utilize data and quantitative models to automate predictive analytics and make improved decisions. From descriptive statistics to data analysis to machine learning the course will demonstrate the process of collecting, cleaning, interpreting, transforming, exploring, analyzing and modeling data with the goal of extracting information, communicating insights and supporting decision-making. The advantages and disadvantages of linear, nonlinear, parametric, nonparametric and ensemble methods will be discussed while exploring the challenges of both supervised and unsupervised learning. The importance of quantifying uncertainty, statistical hypothesis testing and communicating confidence in model results will be emphasized. The advantages of using visualization techniques to explore the data and communicate the outcomes will be highlighted throughout. Applications will include visualization, clustering, ranking, pattern recognition, anomaly detection, data mining, classification, regression, forecasting and risk analysis. Participants will obtain hands-on experience during project assignments that utilize publicly available datasets and address practical challenges.
- 18-786 Introduction to Deep Learning
- Fall and Spring: 12 units
Neural networks have increasingly taken over various AI/ML tasks, and currently produce the state of the art in many tasks ranging from computer vision and planning for self-driving cars to playing computer games. Basic knowledge of NNs, known currently in the popular literature as "deep learning", familiarity with various formalisms, and knowledge of tools, is now an essential requirement for any researcher or developer in most AI and NLP fields. This course is a broad introduction to the field of neural networks and their "deep" learning formalisms. The course traces some of the development of neural network theory and design through time, leading quickly to a discussion of various network formalisms, including simple feedforward, convolutional, recurrent, and probabilistic formalisms, the rationale behind their development, and challenges behind learning such networks and various proposed solutions. We subsequently cover various extensions and models that enable their application to various tasks such as computer vision, speech recognition, machine translation and playing games.
- 18-787 Data Analytics
- Spring: 6 units
This course will take a practical approach to solving challenges in the public and private sectors using data analytics. A number of different themes will be explored as case studies in order to demonstrate how data-driven decision-making has widespread applications. The course will examine how the question being posed, the available data and the selected modelling approach all come together to arrive at a feasible solution. A range of quantitative techniques, involving both linear and nonlinear methods will be presented for dealing with numerical structured datasets. Substantial emphasis will be placed on the process of delivering data analytics via a dashboard to facilitate decision-making and policy-making. The course content will be structured to provide a roadmap for carrying out the necessary procedures and will be illustrated using case studies, reading material and previously published models. Participants will obtain hands-on experience by working on specific challenges with real-world data through a carefully structured set of assignments.
Prerequisite: 18-785 Min. grade C
- 18-788 Big Data Science
- Spring: 6 units
The proliferation of mobile technology, wireless sensors and social media provides a means of monitoring socio-economic activity, consumption of resources and human mobility. Recent advances in data science are now capable of coping with the technical challenges of collecting, managing and developing actionable insights from big data. Partnerships between academia, government and the private sector are at the heart of the revolution that is currently demonstrating how data is a valuable commodity and a source of intellectual property. This course will take a practical approach to solving challenges in the public and private sectors using a collection of techniques that constitute this new multidisciplinary field known as data science. A number of different themes will be explored as case studies in order to demonstrate how big data collected from a wide range of disparate sources can be combined to provide insights, drive decisions and influence policy. The course content will be structured to provide a roadmap for deploying data science techniques using case studies, reading material and previously published models. Participants will obtain hands-on experience by working on real-world datasets during assignments.
- 18-789 Deep Generative Modeling
- Spring: 12 units
This course will explore the basics of deep generative modeling. It will cover state-of-the-art models for image and text/sequence generation, including generative adversarial networks (GANs), variational autoencoders (VAEs), diffusion models, recurrent neural networks (RNNs), and transformers. Students will learn the relative advantages and disadvantages of different model choices, as well as the fundamental design choices that went into each idea. Students will get a chance to explore and present cutting-edge research and will also implement and experiment with generative models through a course project.
Prerequisites: 18-661 Min. grade B or 18-461 Min. grade B
- 18-790 Introduction to Deep Learning and Pattern Recognition for Computer Vision Part I
- Fall: 6 units
This course covers the first half of 18794 - Introduction to Deep Learning and Pattern Recognition for Computer Vision, introducing the basic Deep Learning ML techniques in the course. The course will first introduce Neural networks and how they perform recognition and their evolution to Deep Neural Networks, as well as different DNN backbone architectures (e.g. VGG, ResNet + variations, MobileNets etc.) used for classification. We will overview DL architectures for object detection (to include a large range of algorithms such as anchor-based and anchor free, single stage, two-stage as well as well-known Yolo, SSD, FCOS, CornerNet, Mask-RCNN, DETR and others). We cover object recognition, semantic segmentation (with applications in robot vision, autonomous driving, general scene understanding, medical analysis), and other topics including instance segmentation, loss functions, feature extraction, Transformers, Generative Models, Neural Architecture Search (NAS), low form factor Deep Learning architectures for embedded platforms (e.g., Jetson Nano, AGX), TensorRT for model optimization on Nvidia embedded platforms, and ONNX model conversions.
- 18-792 Advanced Digital Signal Processing
- Fall: 12 units
This course will examine a number of advanced topics and applications in one-dimensional digital signal processing, with emphasis on optimal signal processing techniques. Topics will include modern spectral estimation, linear prediction, short-time Fourier analysis, adaptive filtering, plus selected topics in array processing and homomorphic signal processing, with applications in speech and music processing. 4 hrs. lec.
Prerequisites: (36-219 Min. grade C or 36-218 Min. grade C or 36-225 Min. grade C or 21-325 Min. grade C) and (18-691 Min. grade C or 18-491 Min. grade C)
- 18-794 Introduction to Deep Learning and Pattern Recognition for Computer Vision
- Fall: 12 units
Introduction to Deep Learning and Pattern Recognition for Computer Vision will focus on Deep Learning algorithms used in Computer Vision applications while explaining the pattern recognition aspect of these algorithms. The first half of this course is also available as a mini (18-790) which introduces students to the basic Deep Learning ML techniques in the course. The course will first introduce Neural networks and how they perform recognition and their evolution to Deep Neural Networks, as well as different DNN backbone architectures (e.g. VGG, ResNet + variations, MobileNets, etc.) used for classification. We will overview DL architectures for object detection (to include a large range of algorithms such as anchor-based and anchor free, single stage, two-stage as well as well-known Yolo, SSD, FCOS, CornerNet, Mask-RCNN, DETR and others). We cover object recognition, semantic segmentation (with applications in robot vision, autonomous driving, general scene understanding, medical analysis), and other topics including instance segmentation, loss functions, feature extraction, Transformers, Generative Models, Neural Architecture Search (NAS), low form factor Deep Learning architectures for embedded platforms (e.g., Jetson Nano, AGX), TensorRT for model optimization on Nvidia embedded platforms, and ONNX model conversions.
Prerequisite: 36-219 Min. grade C
- 18-813 Special Topics in Artificial Intelligence
- All Semesters: 12 units
Please go to the ECE website to view "Special Topics in AI" course descriptions.
Course Website: http://www.ece.cmu.edu/courses/index.html
- 18-817 Fundamentals of Semiconductors and Nanostructures
- Spring: 12 units
This course is designed to provide students with a foundation of the physics required to understand nanometer-scale structures and to expose them to different aspects of on-going research in nanoscience and nanotechnology. Illustrative examples will be drawn from the area of semiconductor nanostructures, including their applications in novel and next-generation electronic, photonic, and sensing devices. The course begins with a review of basic concepts in quantum physics (wave-particle duality, Schr and #246;dinger's equation, particle-in-a-box, approximation methods in quantum mechanics, etc.) and then continues with a discussion of bulk three-dimensional solids (band structure, density of states, the single-electron effective-mass approximation). Size effects due to nanometer-scale spatial localization are then discussed within a quantum-confinement model in one-, two-, and three- dimensions for electrons. An analogous discussion for photons is also presented. The basic electronic, optical, and mechanical properties of the low-dimensional nanostructures are then discussed. A select number of applications in electronics, photonics, biology, chemistry, and bio-engineering will be discussed to illustrate the range of utility of nanostructures. Upon completion of the course, students will have an appreciation and an understanding of some of the fundamental concepts in nanoscience and nanotechnology. The course is suitable for first-year graduate students in engineering and science (but advanced undergraduates with appropriate backgrounds may also take it with permission from the instructor). Prerequisites: 09-511, 09-701, 09-702, 18-303, 18-310, 18-402, 27-770, 33-225, 33-234 or familiarity with the material or basic concepts covered in these courses and senior or graduate standing.
Prerequisites: 33-142 Min. grade C or 27-432 Min. grade C or 33-141 Min. grade C or 18-220 Min. grade C
- 18-840 Autonomous Robotics I
- All Semesters: 12 units
This course combines machine learning and robotics in a hands-on approach that encourages discovery. The course will have three portions. First, students learn deep learning fundamentals, convolutional neural networks, and object detection. In the second portion, students learn the fundamentals of Robot Operating System 2 (ROS2). In the last portion, they learn how to implement ROS2 computational graphs and machine learning models on a hardware and software acceleration platform to achieve real-time robotic perception, cognition, and action. Students develop a miniature self-driving robot based on the Jetson Orin Nano platform and the RealSense camera for vision. Students are encouraged to discover their robotic application tasks. Prior machine learning or robotics knowledge is not required. However, strong C/Python programming skills, computer systems knowledge, and a sense of wonder are strongly preferred. This course is crosslisted with 18840. Although students in 18440 will share lectures with students in 18840, students in 18840 will be given exams and project criteria that will be more challenging than those in 18440.
Prerequisites: 15-213 Min. grade C or 18-213 Min. grade C or 18-613 Min. grade C
- 18-842 Autonomous Robotics II
- Fall: 12 units
This "quest" model course engages students with project-based robotic challenges. Students form teams and use a human-centered design process to select a robotic use case. To solve their challenge, they employ the foundation they built in Autonomous Robotics I: ROS2, supervised machine learning, and an accelerated software stack. Students can leverage new robotic techniques, including VSLAM (Visual Simultaneous Localization and Mapping), path planning, image segmentation, 3D scene reconstruction, and pose estimation. Students are encouraged to employ generative AI models such as VLA (Vision Language Action) to solve their challenges. This course is cross listed with 18442. Although students in 18442 and 18842 can work on the same team or projects, students in 18842 will have project criteria that will be more challenging than those in 18442.
Prerequisites: 18-840 Min. grade C or 18-440 Min. grade C
- 18-843 Mobile and Pervasive Computing
- Fall: 12 units
This is a course exploring research issues in the newly emerging field of mobile computing. Many traditional areas of computer science and computer engineering are impacted by the constraints and demands of mobility. Examples include network protocols, power management, user interfaces, file access, ergonomics, and security. This will be an "advanced" course in the truest sense and #8212;- most, if not all, the topics discussed will be ones where there is little consensus in the research community on the best approaches. The course will also offer significant "hand-on" experience in this area. Each student will have to present and lead the discussion on a number of papers. Students will work in groups of three under the guidance of a mentor on a hands-on project. Each student will also be required to write one of two documents: (a) a research proposal (similar in spirit to an NSF proposal) on an idea in mobile computing or (b) a short business plan for a commercial opportunity in mobile computing. Grading will be based on the quality of the presentations, the project, and the proposal or business plan. Prerequisites: 15-410 and senior or graduate standing.
Prerequisite: 15-410 Min. grade C
- 18-844 Embedded Machine Learning
- Fall: 12 units
Embedded or "edge" devices with sensors generate a tremendous amount of data every second. Sending these data to the cloud for intelligent decision making by machine learning models consumes energy and imposes undesired latency and cost. Processing the data locally on the edge lowers latency, energy, and cost. This course introduces deep neural network architectures, such as dense, convolutional, and recurrent networks, and their respective applications and training in the cloud. Students then learn to downsize their trained models so they can deploy them for inferencing on microcontrollers running on the edge with power and computation constraints. Students are encouraged to create their own projects drawing from such fields as agriculture, environment, conservation, health, manufacturing, or home automation. This course is cross-listed as 18444 and 18844. Although students in 18444 and 18844 will share lectures, students in 18444 and 18844 will receive different homework assignments, design projects, and exams.
- 18-847 Special Topics in Computer Systems
- Fall and Spring: 12 units
Please refer to the ECE website for descriptions of each topic.
Course Website: https://courses.ece.cmu.edu/
- 18-848 Special Topics in Embedded Systems
- Intermittent: 12 units
Please refer to the ECE website for descriptions of each topic. Description for section A in Spring 2026: Most machines in the world around us, from vehicles to medical devices to robots, are designed manually. Yes, computer-Aided Design (CAD) software helps to digitize intent, but those tools only help improve the fidelity of engineers' direct specifications. As computational tools become more capable, it opens the possibility to the automated design of cyber-physical systems and #8212;- machines invented partially or entirely by AI. This course takes a pedagogical view of the computational design stack, with an emphasis on 'things that move.' Topics covered include: Mathematical Preliminaries; Physical Simulation; Control Synthesis; Design Optimization; Machine Learning For Design; Designing For (Digital) Manufacturing; Interactive Workflows. Each unit builds upon the last, culminating in a toolset that will empower students to design complex robots with just a couple dozen lines of code. The course includes a lab component and research-style final project.
Course Website: https://courses.ece.cmu.edu/
- 18-853 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-290 Min. grade C and (18-613 Min. grade C or 18-213 Min. grade C)
- 18-859 Special Topics in Communications
- Fall: 12 units
Please go to the ECE Website to view "Special Topics in Communications" course descriptions.
Course Website: http://www.ece.cmu.edu/courses/index.html
- 18-861 Energy Project Development and Finance
- Fall: 6 units
This course will introduce concepts and tools for the development and analysis of energy-sector or energy-enabled projects. Students will learn about the project development processes through cases studies in the African context. They will also develop the ability to perform basic technical and economic feasibility assessments through directed projects. Topics to be discussed include financial modeling, technical performance estimation, social and environmental impact assessment and regulatory/policy analysis.
- 18-862 Control of Grid-Connected Machines & Converters
- Fall: 12 units
Electric machines are the backbone of power systems, and any production process in the world. However, if uncontrolled or uncoordinated, they cause blackouts. Converters for renewables and electric vehicles are also challenging engineers to revisit and revise electric machine analysis and control. This course offers a classically-based, yet forward looking understanding of electric machines, converters, their operation, control and applications in vehicular technology and distributed generation, as well as their effects at system level.
- 18-863 Power System Operations
- Spring: 6 units
This course will examine the human-aided monitoring, planning, and decision making that enable reliable, secure and safe operation of a electric power system, on the time scale of minutes to weeks. We will study selected technical details via case studies of adding a new equipment or processes. Students will be introduced to the requirements on a grid owner/operator, and the time-frames of activity that structure efforts to meet and maintain performance targets. After completing this course, students will be prepared to analyze and evaluate the consequences for an electrical grid's physical and operational processes of connecting new equipment or adopting new communications and information systems. They will become familiar with the use of selected power system software tools.
- 18-864 Power System Expansion
- Spring: 6 units
This course will examine how the growth of electricity infrastructure is planned, evaluated, and sustained. Case studies will be selected from the spectrum of microgrids, rural grid extension, national reinforcement, and international tie-lines. Students will gain an overview of the delivery processes of electrification: planning, design, construction, maintenance, and economics. They will learn about the growth of electricity demand, cost aspects of generation and network planning, and how these impact reliability. They will also study the capabilities of available equipment for generation and transport. After completing this course, students will be able to contribute to developing the rationale, finance, technical design, and operational frameworks of new and growing power systems.
- 18-865 Photovoltaic Systems Engineering
- Fall: 6 units
This course introduces basic engineering concepts for photovoltaic systems. Topics covered include solar resource assessment, PV cells and modules, system components, performance modeling, system sizing, loss mechanisms, energy yield assessment and project economics. Different applications and business models for PV technology will be discussed including utility scale PV power plants, rooftop systems and off-grid systems. The implications of relevant policy will be explored including net metering and independent power producers. The course will be interesting to a general audience but is focused in particular on applications in the developing world.
- 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.
- 18-873 Spacecraft Design-Build-Fly Laboratory
- Fall: 12 units
Spacecraft design is a truly interdisciplinary subject that draws from every branch of engineering. This course integrates broad skillsets from mechanical engineering, electrical and computer engineering, computer science, and robotics toward the goal of designing, building, testing, and flying a small spacecraft over the course of two semesters. Students will engage directly in all aspects of the spacecraft mission lifecycle from initial requirements definition through mission operations. YES, WE ARE REALLY GOING TO LAUNCH A SATELLITE INTO SPACE AS PART OF THIS COURSE. Students will work in subsystem teams, each focusing on some aspect of the spacecraft, but will be exposed to many different disciplines and challenges. Practical, hands-on, engineering skills will be emphasized, along with building and testing physical hardware and flight software.
- 18-874 Spacecraft Design-Build-Fly Laboratory 2
- Spring: 12 units
(ENROLLMENT IS BY INSTRUCTOR APPROVAL ONLY) This course is a continuation of 18873, and together these two courses make a sequence culminating in the launch of the satellite designed and built over two consecutive semesters. Spacecraft design is a truly interdisciplinary subject that draws from every branch of engineering. This course integrates broad skillsets from mechanical engineering, electrical and computer engineering, computer science, and robotics toward the goal of designing, building, testing, and flying a small spacecraft over the course of two semesters. In this, the second semester of the two-semester sequence, students will work in subsystem teams to fabricate spacecraft components and finally integrate them into a complete spacecraft by the end of the semester. YES, WE ARE REALLY GOING TO LAUNCH A SATELLITE INTO SPACE AS PART OF THIS COURSE. Practical, hands-on, engineering skills will be emphasized, along with building and testing physical hardware and flight software.
Prerequisite: 18-873 Min. grade C
- 18-879 Special Topics in Systems and Controls
- Spring: 12 units
Please go to the ECE Website to view "Special Topics in Systems and Controls" course descriptions.
Course Website: https://courses.ece.cmu.edu
- 18-882 Special Topics in Energy Systems
- Fall: 12 units
Please refer to the ECE website for topic descriptions.
Course Website: https://courses.ece.cmu.edu/
- 18-883 Special Topics in Energy Systems
- Fall and Spring: 6 units
Please see the ECE website for a full course description describing the sections of this course.
Course Website: https://courses.ece.cmu.edu/
- 18-898 Special Topics in Signal Processing
- Fall and Spring: 12 units
Please refer to the ECE website for descriptions of each topic.
Course Website: https://courses.ece.cmu.edu/
- 18-983 M.S. Graduate Project - AIE Enablers
- All Semesters
The Department of Electrical and Computer Engineering at Carnegie Mellon considers experiential learning opportunities to be important educational options for its graduate students. One such option is conducting graduate research with a faculty member. An ECE graduate student in the AIE program may request to be enrolled in this course if their research project is approved under the "Enablers" category. To enroll, the student should first complete the online application for their project on the ECE Student Project Tracker website. Once the application has been submitted and approved by the faculty member with whom the student is conducting the research, the ECE Advising Team will add the course to the student's schedule. Typically, credit is granted such that one hour of research per week is equal to one unit of credit. Projects approved for the "Enablers" category may not satisfy "Producers" or "Consumers" requirements.
- 18-984 M.S. Graduate Project - AIE Producers
- All Semesters
The Department of Electrical and Computer Engineering at Carnegie Mellon considers experiential learning opportunities to be important educational options for its graduate students. One such option is conducting graduate research with a faculty member. An ECE graduate student in the AIE program may request to be enrolled in this course if their research project is approved under the "Producers" category. To enroll, the student should first complete the online application for their project on the ECE Student Project Tracker website. Once the application has been submitted and approved by the faculty member with whom the student is conducting the research, the ECE Advising Team will add the course to the student's schedule. Typically, credit is granted such that one hour of research per week is equal to one unit of credit. Projects approved for the "Producers" category may not satisfy "Enablers" or "Consumers" requirements.
- 18-989 Introduction to Graduate Studies
- Fall and Spring: 1 unit
The Introduction to Graduate Studies course is designed to be an initial cohort experience for first-semester graduate students through which students will learn how to be engaged citizens of the ECE department, the CMU campus community, and the broader engineering profession. This course will introduce and discuss career paths within ECE and the nature of work in existing companies, startup ventures and academia. The course will also increase awareness and understanding of departmental and campus resources, academic integrity issues, Carnegie Mellon community standards, and the ethical job search. It will engage students with what it means to build an inclusive community. Topics covered include: career path options, university academic integrity policies, ethical job search practices, how to navigate the job/internship search process, cultural humility, communicating with varied team members, and best practices for pursuing a career in research, industry, or start-up companies. This is an in-person course required in the first semester for all incoming graduate students. Attendance and participation in class are required and will determine a pass/fail grade.
Faculty
AAYUSHYA AGARWAL, Special Faculty, Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2025–
DAVID ALLSTOT, Distinguished Special Professor, Electrical and Computer Engineering – Ph.D., Univ. of California, Berkeley; Carnegie Mellon, 1979–
GEORGE AMVROSIADIS, Associate 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–
OLIVIA HSU, Assistant Professor, Electrical and Computer Engineering – PhD , Stanford University ; Carnegie Mellon, 2026–
ANDREW ILYAS, Assistant Professor, Electrical and Computer Engineering – PhD , MIT; Carnegie Mellon, 2024–
JAMES BARR VON OEHSEN, Research Professor of Electrical and Computer Engineering; Director, Pittsburgh Supercomputing Center (PSC) – Ph.D., Rutgers University ; Carnegie Mellon, 2023–
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, Interim Dean, College of Engineering; 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–
SARAH CEN, Assistant Professor of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2025–
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–
JUSTIN CHAN, Assistant Professor of Electrical and Computer Engineering – Ph.D, University of Washington; Carnegie Mellon, 2024–
BEIDI CHEN, Assistant Professor of Electrical and Computer Engineering – Ph.D., Rice University; Carnegie Mellon, 2023–
VANESSA CHEN, Associate Professor of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2019–
MARC DANDIN, Associate 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, Angel Jordan Associate Professor of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2017–
GARY FEDDER, Hamerschlag University 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 and Director, Engineering Research Accelerator – Ph.D., Vienna University of Technology; Carnegie Mellon, 2005–
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, Professor of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2013–
JAMES HOE, Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2000–
LIMIN JIA, 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, The Buhl 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–
SWARUN S. KUMAR, Sathaye Family Foundation Career Development Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2016–
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, Kavčić-Moura 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–
THERESA MAYER, Professor of Electrical and Computer Engineering – Ph.D., Purdue University; Carnegie Mellon, 2023–
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–
SAMUEL PAGLIARINI, Special Professor of Electrical and Computer Engineering – Ph.D., Télécom Paris (now Institut Polytechnique de Paris), France; Carnegie Mellon, 2024–
BRYAN PARNO, Kavčić-Moura 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, 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–
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–
MICHAEL SKIRPAN, Assistant Teaching Faculty for Electrical and Computer Engineering; Executive Director, Community Forge – Ph.D., Colorado University at Boulder; Carnegie Mellon, 2019–
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–
ANDREW SPIELBERG, Assistant Professor, Electrical and Computer Engineering – Ph.D., MIT; Carnegie Mellon, 2021–
TATHAGATA SRIMANI, Assistant Professor of Electrical and Computer Engineering – Ph.D., Massachusetts Institute of Technology; Carnegie Mellon, 2024–
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, 1993–
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–
RIAD WAHBY, Assistant Professor of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2022–
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, Research Professor of Electrical and Computer Engineering – Ph.D., University of Maryland at College Park; Carnegie Mellon, 2013–
ZIAD YOUSSFI, Teaching 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, 2010–
TOM ZAJDEL, Assistant Teaching Professor of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2021–
ANDREA ZANETTE, Assistant Professor of Electrical and Computer Engineering – Ph.D., Stanford University ; Carnegie Mellon, 2024–
XU ZHANG, Associate 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, 2014–
BURCU AKINCI, Paul Christiano Professor and Department Head of Civil and Environmental Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2000–
JOÃO BARROS, Research Professor of Carnegie Mellon University Africa; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Technische Universitaet Muenchen, Germany; Carnegie Mellon, 2004–
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–
YONATAN BISK, Assistant Professor, Language Technologies Institute; Courtesy Faculty of Electrical and Computer Engineering – PhD , University of Illinois at Urbana-Champaign;
FRASER BROWN, Assistant Professor of Computer Science (Software and Societal Systems Department); Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2022–
TIMOTHY X. BROWN, Distinguished Service Professor of Engineering and Public Policy, Director of Kigali Collaborative Research Center 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 (Software and Societal Systems Department), Director of the Center for Computational Analysis of Social and Organizational Systems; 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., Johns Hopkins University; Carnegie Mellon, 2012–
TIANQI CHEN, Assistant Professor of Machine Learning, Courtesy Faculty Of Electrical and Computer Engineering – Ph.D., University of Washington; Carnegie Mellon, 2024–
NICOLAS CHRISTIN, Professor of Computer Science (Software and Societal Systems Department) and Professor of Engineering & Public Policy; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Virginia; Carnegie Mellon, 2005–
KEENAN CRANE, Associate Professor of Computer Science, Courtesy Faculty of Electrical and Computer Engineering – Ph.D., California Institute of Technology; Carnegie Mellon, 2015–
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–
LASZLO JENI, Associate Research Professor at the Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Tokyo, Japan; Carnegie Mellon, 2012–
CHRISTIAN CUBA SAMANIEGO, Assistant Professor, Ray and Stephanie Lane Computational Biology Department; Courtesy Faculty of Electrical and Computer Engineering – PhD , University of California Riverside (UCR); Carnegie Mellon, 2017–
FERNANDO DE LA TORRE, Associate Research Professor of Robotics Institute, Director of the Human Sensing Laboratory; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Ramon Llull University, Barcelona; Carnegie Mellon, 2002–
JOHN DOLAN, Senior Systems Scientist of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2006–
MATT FREDRIKSON, Assistant Professor of Institute for 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–
ASSANE GUEYE, Assistant Teaching Professor of Carnegie Mellon University Africa; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2020–
BIN HE, Trustee Professor of Biomedical Engineering; Professor of Center for the Neural Basis of Cognition; 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, 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, 2016–
JANA KAINERSTORFER, 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, Associate Research Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Tokyo; Carnegie Mellon, 2016–
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–
CHANGLIU 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–
ZACHARY MANCHESTER, Assistant Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Cornell University; Carnegie Mellon, 2020–
SCOTT MCMILLAN, Principal Research Engineer of Advanced Computing Laboratory, Software Engineering Institute; Courtesy Professor of Electrical and Computer Engineering – Ph.D., The Ohio State University; Carnegie Mellon, 2013–
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–
DESTENIE NOCK, Assistant Professor of Engineering and Public Policy, Assistant Professor of Civil and Environmental Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Massachusetts Amherst; Carnegie Mellon, 2020–
MATTHEW O'TOOLE, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Toronto; Carnegie Mellon, 2018–
RICCARDO PACCAGNELLA, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Illinois at Urbana-Champaign; Carnegie Mellon, 2023–
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–
BHIKSHA RAJ RAMAKRISHNAN, Professor of Language Technologies Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Carnegie Mellon University; Carnegie Mellon, 2009–
PRADEEP RAVIKUMAR, Professor of Machine Learning, Courtesy Professor 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, 2015–
MAHADEV SATYANARAYANAN, 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–
GUANYA SHI, Assistant Professor of Robotics Institute; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., California Institute of Technology; Carnegie Mellon, 2023–
BARBARA SHINN-CUNNIGHAM, Glen de Vries Dean, Mellon College of Science; Director of Neuroscience Institute; George A. and Helen Dunham Cowan Professor of Auditory Neuroscience, Psychology and 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, 2021–
VIRGINIA SMITH, Associate Professor of Machine Learning; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2018–
REBECCA TAYLOR, Assistant Professor of Mechanical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Stanford University; Carnegie Mellon, 2016–
SRIDHAR TAYUR, Ford Distinguished Research Chair and Professor of Tepper School of Business; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., Cornell University; Carnegie Mellon, 2017–
BENJAMIN TITZER, Principal Researcher of Software and Societal Systems; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Los Angeles; Carnegie Mellon, 2022–
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 Faculty of Electrical and Computer Engineering – Ph.D., Waseda University, Tokyo, Japan; Carnegie Mellon, 2020–
SOSSENA WOOD, Assistant Professor of Biomedical Engineering; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Pittsburgh; Carnegie Mellon, 2022–
MIN XU, Associate Professor of Computational Biology; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of Southern California; Carnegie Mellon, 2009–
WENTING ZHENG, Assistant Professor of Computer Science; Courtesy Faculty of Electrical and Computer Engineering – Ph.D., University of California at Berkeley; Carnegie Mellon, 2021–
