Department of Electrical and Computer Engineering Courses

About Course Numbers:

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


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

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

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