Search | Print Options

Search | Print Options

Department of Electrical and Computer Engineering Courses

Note on Course Numbers

Each Carnegie Mellon course number begins with a two-digit prefix which designates the department offering the course (76-xxx courses are offered by the Department of English, etc.). 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. xx-6xx courses may be either undergraduate senior-level or graduate-level, depending on the department. xx-7xx courses and higher are graduate-level. Please consult the Schedule of Classes each semester for course offerings and for any necessary pre-requisites or co-requisites.

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. Please note that there will be usage/materials fees associated with this course.
18-099 Special Topics: Mobile App Design & Development
Fall: 12 units
[IDeATe collaborative course] IDeATe is partnering with YinzCam to develop and offer a studio course on mobile app design and development. The course will leverage the extensive expertise of YinzCam on mobile-app development in the sports and entertainment space, both for real-time and asynchronous enrichment of the fan experience and the stadium experience. However, the lessons learned will apply to mobile-app development broadly. Issues covered will include cross-platform development, mobile video, streaming media, real-time content delivery, along with best practices in server-side cloud management for large-scale mobile-app deployment. Please note that this course is for students to take as one of their IDeATe concentration/minor options and will NOT fulfill a CIT/ECE requirement. Open to juniors and seniors. DC and MCS students should take the course after completing another IDeATe collaborative course.
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.
Corequisite: 21-120
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. Prerequisites: 15-123 (Grade of C or higher is required in the prerequisite)
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.
Corequisites: 33-107 and 18-202
18-231 Sophomore Projects
Fall
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 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 on-line undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member the student is conducting the research with, the ECE Undergraduate Office will add the course to the student's schedule. Typical credit is granted as one hour of research per week is equal to one unit of credit.
18-232 Sophomore Projects
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 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 on-line undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member the student is conducting the research with, the ECE Undergraduate Office will add the course to the student's schedule. Typical credit is granted as one hour of research per week is equal to one unit of credit.
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.
Corequisite: 21-127
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. Prerequisite(s): 18-100 Corequisite(s): 18-202
Corequisite: 18-202
Course Website: http://www.ece.cmu.edu/~ece290
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.
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.)
18-320 Microelectronic Circuits
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.
Corequisite: 18-240
18-331 Junior Projects
Fall
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 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 on-line undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member the student is conducting the research with, the ECE Undergraduate Office will add the course to the student's schedule. Typical credit is granted as one hour of research per week is equal to one unit of credit.
18-332 Junior Projects
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 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 on-line undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member the student is conducting the research with, the ECE Undergraduate Office will add the course to the student's schedule. Typical credit is granted as one hour of research per week is equal to one unit of credit.
18-340 Digital Computation
Spring: 12 units
In this course we will explore the techniques for designing high-performance digital circuits for computation along with methods for evaluating their properties. We begin by quickly reviewing number systems and digital arithmetic along with basic arithmetic circuits such as ripple-carry adders. We then focus on formal techniques and theory for analyzing the functionality, timing, power consumption, and chip area properties of these basic circuits and ones yet to be presented. From there, we move to more complex adders (carry-lookahead, carry-skip, carry_bypass, Wallace trees, and hybrid techniques) and multipliers (sequential, array, Booth, and others) along with various divider circuits. Floating point units are then built upon the concepts introduced for adder, multipliers, and dividers. Finally, we will investigate the design and implementation of digital filter circuits. For each circuit introduced, we will develop techniques for evaluating their functionality, their speed, power consumption, and silicon area requirements. In addition, we will utilize various CAD tools to design and evaluate most of the computation circuits discussed. After successful completion of the course, students will not only have an understanding of complex computation circuits, but subtle concepts that include hazards, metastability, false paths, inertial delay, sticky bits, clock skew/jitter, dynamic and static sensitization, and many others. 3 hrs. lec., 1 hr. rec.
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.
18-342 Fundamentals of Embedded Systems
Fall: 12 units
This practical, hands-on course introduces students to the basic building-blocks and the underlying scientific principles of embedded systems. The course covers both the hardware and software aspects of embedded procesor architectures, along with operating system fundamentals, such as virtual memory, concurrency, task scheduling and synchronization. Through a series of laboratory projects involving state-of-the-art processors, students will learn to understand implementation details and to write assembly-language and C programs that implement core embedded OS functionality, and that control/debug features such as timers, interrupts, serial communications, flash memory, device drivers and other components used in typical embedded applications. Relevant topics, such as optimization, profiling, digital signal processing, feedback control, real-time operating systems and embedded middleware, will also be discussed. This course is intended for INI students. Anti-requisites: 18348 or 18349
18-345 Introduction to Telecommunication Networks
Spring: 12 units
This course introduces the fundamental concepts of telecommunication networks. Underlying engineering principles of telephone networks, computer networks and integrated digital networks are discussed. Topics in the course include: telephone and data networks overview; OSI layers; data link protocol; flow control, congestion control, routing; local area networks; transport layer; introduction to high-speed networks; performance evaluation techniques. The course also reviews important aspects of network security and widely used classes of Internet application and services, such as peer-to-peer, content delivery networks, and video streaming.
18-348 Embedded Systems Engineering
Spring: 12 units
Embedded computing applications far outnumber desktop computers, with billions of microcontrollers produced worldwide each year. Embedded systems vary tremendously, from the single 8-bit processor in a thermostat, to high performance processors in a digital camera, to dozens of networked processors in an automobile. Despite this diversity of applications, there are core technology and system-level skills needed by any embedded system designer that form the content of this course. The emphasis of this course will be at the system layer where hardware meets software, with plenty of hands-on experience at "bare metal" programming. Topics typically covered include embedded computing platforms (hardware, microcontroller instruction sets, software in both assembly language and C); interacting with the external world (analog I/O, digital I/O, serial ports, filtering, control, embedded networks); system-level engineering (design cycle, architectural patterns, peer reviews); real-time operation (timers, interrupts, concurrency, task switching, writing a simple RTOS kernel, scheduling); constraints and optimization (economics, power, performance); and a survey of techniques important for building systems that work in the real world (debug, test, robust design, dependability, safety, ethical/societal issues). Weekly hands-on hardware and software experiences with a 16-bit microcontroller module will tie directly to lectures to reinforce core skills. 4 hrs. lec., 2 hr. rec., 3 hrs. lab. Anti-requisites: 18342 or 18349
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. Anti-requisites: 18342 or 18348

Course Website: http://www.ece.cmu.edu/~ee349
18-370 Fundamentals of Control
Fall: 12 units
An introduction to the fundamental principles and methodologies of classical feedback control and its applications. Emphasis is on problem formulation and the analysis and synthesis of servomechanisms using frequency and time domain techniques. Topics include analytical, graphical, and computer-aided (MATLAB) techniques for analyzing and designing automatic control systems; analysis of performance, stability criteria, realizability, and speed of response; compensation methods in the frequency domain, root-locus and frequency response design, and pole-zero synthesis techniques; robust controller design; systems with delay and computer control systems; transfer function and state space modeling of linear dynamic physical systems; nonlinearities in control systems; and control engineering software (MATLAB). 4 hrs. lec., 1 hr. rec.
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 complete an ECE Co-op Approval form (located in HH 1115) 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-391 Noisy Signal Representation and Processing
Spring: 12 units
Please refer to the ECE webpage for a full description of this course.

Course Website: http://www.ece.cmu.edu/courses/items/18391.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.
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.
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.
18-411 Computational Techniques in Engineering
Spring: 12 units
This course develops the methods to formulate basic engineering problems in a way that makes them amenable to computational/numerical analysis. The course will consist of three main modules: basic programming skills, discretization of ordinary and partial differential equations, and numerical methods. These modules are followed by two modules taken from a larger list: Monte Carlo-based methods, molecular dynamics methods, image analysis methods, and so on. Students will learn how to work with numerical libraries and how to compile and execute scientific code written in Fortran-90 and C++. Students will be required to work on a course project in which aspects from at least two course modules must be integrated.
18-415 From Design to the Market for Deep Submicron IC's
Spring: 12 units
The general objective of the 18-415 class is to introduce and analyze all major design-dependent trade-offs which decide about the IC product commercial success. This objective will be achieved via playing in the class an "imaginary fabless IC design house startup game"- a main class activity. In this game students will be asked to construct "business plans" for a startup fabless IC design house. Each team in the class will have to envision, as an IC design objective, a new product with a functionality, which is already provided by another existing IC product (i.e. by microprocessor). The envisioned product should provide a subset of functionality of the existing product but it should be "better" in some other respect (e.g. it could be less expensive to fabricate, faster etc.). To handle the above assignment, students in the class will be using skills learned in 18-322 as well as all legal sources of "industrial intelligence" typically available for the IC industry. They can also use the class teacher as a source of free consulting, as well as, they can ask for any sequence of lectures or literature sources which they will need to meet the class objectives.
18-418 Electric Energy Processing: Fundamentals and Applications
Spring: 12 units
This course provides an introduction to the fundamentals of electrical energy conversion and its use in several real-life systems. The course starts with a brief review of general mathematical and physical principles necessary for subsequent study of electrical energy conversion applications. This includes modeling, analysis, and control of general physical systems in time and frequency domain. Since the focus of energy conversion methods studied in this course is from electrical to mechanical systems, special attention is paid to electromagnetic theory. Rotating machines theory is developed and intuitively explained starting with Maxwell equations and analyzing general static and dynamic electromagnetic circuits. Power electronics methods are also introduced because most of modern electrical systems employ such methods. At this point, the necessary background is gained to analyze real life electrical energy conversion systems. We will focus on automotive, airplane, space station, and sea power systems. The main focus will be on operational principles and when appropriate stability issues of particular implementations. Time allowing, dynamic problems with interconnecting such systems will be briefly introduced and possibly studied by curious students in their course projects.
18-419 Semiconductor Device Applications - Optoelectronics and Nanoelectronics
Fall: 12 units
This course is designed to introduce important semiconductor optoelectronic devices and applications, such as light emitting diode (LED), solid state Laser, photo-detector, and solar cell, etc. It provides students with fundamental knowledge in optoelectronics as well as critical device design engineering. Developed on top of the fundamental knowledge covered in 18-310, the course begins with discussion on basic optics and device physics; it then focuses on operational principle, design engineering, and important applications of the devices. Special topics on novel nanoscale electronics and optoelectronics including nanowire, nano-particle light emitting and photovoltaic devices will also be discussed. In addition, an introduction to low-cost, flexible organic devices, e.g. display and solar cells will be presented. Prerequisite(s): 18-310
18-431 Undergraduate Projects - Senior
Fall
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 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 on-line undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member the student is conducting the research with, the ECE Undergraduate Office will add the course to the student's schedule. Typical credit is granted as one hour of research per week is equal to one unit of credit.
18-432 Senior Projects
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 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 on-line undergraduate research form available on the ECE undergraduate student page. Once the form has been submitted and approved by the faculty member the student is conducting the research with, the ECE Undergraduate Office will add the course to the student's schedule. Typical credit is granted as one hour of research per week is equal to one unit of credit.
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.
18-450 Digital 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. Throughout the course, the emphasis will be on discovering unifying ideas in transmission, rather than specifying the details of each application. 4 hrs. lec. This course was previously titled "Digital Wireless Communications"
18-451 Networked Cyberphysical Systems
Spring: 12 units
Cyber-physical systems (CPS) represent a new class of systems that bring together sensing, computation, communication, control and actuation to enable continuous interactions with physical processes. This integration of networked devices, people, and physical systems provides huge opportunities and countless applications in biology and healthcare, automotive and transportation, power grids and smart buildings, social and financial markets, etc. Hence, CPS need to provide real-time efficiency, adaptability, optimality, security and robustness to natural disasters or targeted attacks. While the focus on embedded systems relies on building computational models for specific applications, CPS need a multidisciplinary approach and a more general computational paradigm such that more-direct interactions between the system and physical world become possible. This course is primarily an in-depth introduction to networked CPS with an emphasis on methods for modeling, design, and optimization. Focus is on the dominant design paradigms like low-power and communication-centric design. Topics to be covered include: physical processes, models of concurrency, sensing and workload modeling, human behavior modeling, data-driven modeling, networking at micro- and macro-scale, system-wide resources management, programming, validation and integration. From a practical standpoint, students will directly experiment with hardware prototypes and software tools to explore concrete CPS examples. By structure and contents, this class is primarily targeted to ECE students; it can also provide a valuable basis for interdisciplinary research to students in CS and related disciplines.
18-472 Fundamentals of Electric Power Systems
12 units
Missing Course Description - please contact the teaching department.
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.
18-482 Telecommunications, Technology Policy & Management
Spring: 12 units
This course provides a comprehensive introduction to basic principles of telecommunications technology and the telephone network, and the legal, economic, and regulatory environment of the telecommunications industry. Role of new technologies such as fiber, integrated digital networks, computer communications, and information services. Common carrier law and the economics of natural monopoly as the basis for regulation of the telecommunications industry. Issues of competition, monopoly and technical standards. Spectrum allocation and management. International communications and transborder data flow. Special emphasis on how the new technologies have altered and are altered by regulation. Junior or Senior standing required.
18-487 Introduction to Computer & Network Security & Applied Cryptography
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
18-491 Fundamentals of 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.
18-493 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.
18-496 Introduction to Biomedical Imaging and Image Analysis
Fall: 12 units
Bioimage Informatics (formerly Bioimaging) This course gives an overview of tools and tasks in various biological and biomedical imaging modalities, such as fluorescence microscopy, electron microscopy, magnetic resonance imaging, ultrasound and others. The major focus will be on automating and solving the fundamental tasks required for interpreting these images, including (but not restricted to) deconvolution, registration, segmentation, pattern recognition, and modeling, as well as tools needed to solve those tasks (such as Fourier and wavelet methods). The discussion of these topics will draw on approaches from many fields, including statistics, signal processing, and machine learning. As part of the course, students will be expected to complete an independent project.

Course Website: http://andrew.cmu.edu/user/jelenak/Teaching/University/42403.html
18-499 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
Please visit the ECE website for details
18-510 Sensor Systems Design
Spring: 12 units
Please refer to the ECE webpage for a full description of this course. http://www.ece.cmu.edu/courses/items/18510.html
Course Website: http://www.ece.cmu.edu/courses/items/18510.html
18-513 RF Circuits and Antennas for Wireless Systems
Fall: 12 units
RF and wireless systems are ubiquitous. This course focuses on the transmission and reception of electromagnetic waves and their application in useful systems. RF and antenna measurements will be introduced. Antenna simulation tools will be discussed along with the design of several types of widely used antennas. The major portion of the course will be devoted to a project that will be addressed by a small team. The team will choose a project from several options. The team is responsible for clearly defining the engineering objectives; developing a prototype design, including necessary analysis and/or simulations; specifying and acquiring components; and finally building and testing the prototype.
18-525 Integrated Circuit Design Project
Fall: 12 units
This course is intended to provide the electrical and computer engineering student with IC design experience. It solidifies the theoretical background and practical skills gained in 18320 and 18422. The primary stress of the class will be on the IC design process as a whole. Such a process, seen as a sequence of design decisions, must lead to a design which optimizes a given objective function under a number of constraints. The optimum design must be achieved using a number of variables involving all levels of design abstraction and ranging between architecture choice and detail of the IC layout. Typical design objectives adopted in class designs will be IC performance (throughput, power, signal-to-noise ratio, clock frequency, gain-bandwidth, etc.) and typical constraints will be die size and minimum feature size. The second most important objective of the class is to mimic a large design team environment in which individual designers must: (a) communicate precisely and efficiently his/her ideas and (b) utilize any feedback provided by the "design environment." This objective will be achieved through class presentations given by each student and by stressing the importance of design documentation.
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.
18-545 Advanced Digital Design Project
Fall: 12 units
In this capstone design project course, students will design and implement a large digital system with video output, sound output, and user input. The course will teach the technical skill to accomplish this, as well as enhance project planning and group management skills. To that end, students will participate in design reviews, weekly status reports, and final project presentations. The project will result in a working system implemented on an FPGA prototyping board. The completed projects will be shown in a public demonstration session at the end of the semester. Students should enter with a good grasp of computer architecture, Verilog programming, and hardware lab skills. Experience in FPGA programming, computer graphics, and/or VLSI design would also be useful. 4 hours lec., 24 hr. access lab Prerequisites: 18-447 or {(18-340 and 18-341) or (18-340 and 18-348) or (18-340 and 18-349) or (18-340 and 18-320) or (18-341 and 18-348) or (18-341 and 18-349) or (18-341 and 18-320) or (18-348 and 18-320) or (18-349 and 18-320)}
18-549 Embedded Systems Design
Spring: 12 units
18-549 Embedded Systems Design This course comprises a semester-long project experience geared towards the development of skills to design realistic and practical embedded systems and applications. Students will work in teams on an innovative project that will involve the hands-on design, configuration, engineering, implementation and testing of a prototype of an embedded system of their choice. Students will be expected to leverage proficiency and background gained from other courses, particularly with regard to embedded real-time principles 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 and quality assurance plans. The initial lecture content will cover background material intended to complement the project work. The remainder of the course will consist of regular team presentations of key project milestones, current project status, a final project presentation and functional demonstrations of various subsystems, even as the entire prototype is being developed. Please refer to the course website for more information: http://www.ece.cmu.edu/~ece549/
Course Website: http://www.ece.cmu.edu/~ece549/
18-551 Digital Communication and Signal Processing Systems Design
Spring: 12 units
This course provides the student with a rich, in-depth design and application hardware project experience in the areas of digital communications and/or signal processing systems using DSP hardware. Teams of students work on a semester-long project of their choice. Topics include: speech and music processing, digital communications, multimedia processing, data compression, data storage, wireless communications, CD, image and/or signal processing, etc. One month of introductory laboratories familiarize the students with DSP hardware and support software. Lectures address z-transforms, IIR and FIR filter design using MATLAB and DSP hardware, LPC and adaptive filters, channel coding, time and frequency multiplexing, short time Fourier and wavelet transforms, and spread spectrum techniques. 4 hrs. lec., 3 hrs. lab.
18-578 Mechatronic Design
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.
18-610 Fundamentals of Modern CMOS Devices
Spring: 12 units
This course is intended to provide a foundation in device operation for circuit designers working in today's sub-micron CMOS. This course will also provide advanced understanding of CMOS technology for those interested in integrated circuit process technology and device physics. We review semiconductor device physics, including carrier dynamics and the basic equations of semiconductor device physics. The operation of the p-n junction diode is also reviewed. The course includes a description of integrated circuit fabrication technology and how it is used to fabricate CMOS devices. With this foundation, we then discuss the MOS capacitor (including its application as a varactor). The theory of the MOS transistor will then be developed, followed by a discussion of important phenomena in sub-micron devices such as: velocity saturation; breakdown; drain-induced barrier lowering; random dopant fluctuations, etc. The student will learn the relationship between device geometry, e.g. length, and fabrication, e.g. doping, and the corresponding circuit performance. The course will primarily be lecture-based, with some selected simulation exercises. Students are expected to be acquainted with the basic concepts of electrical circuits; electromagnetic fields at the level of a sophomore level physics course, and to have adequate preparation in mathematics (basic differential equations and MATLAB or similar applications). Prior coursework in device physics is helpful but not required for graduate students. Lecture: 4 hrs Prerequisite(s): 18-310
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.
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. This is a PhD level course. MS or senior students must obtain permission from the instructor to be registered.
18-617 Memory Devices and Systems
12 units
Missing Course Description - please contact the teaching department.
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.
18-632 Introduction to 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, and design of hardware security primitives (e.g., random number generators, physical unclonable functions, crypto-processors). Lab sessions will give students hands on experience with performing attacks, developing countermeasures, and implementing secure hardware building blocks. Students are expected to have basic knowledge of digital logic and Register-Transfer Level (RTL) design, but no specific background in security/cryptography is necessary.
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.
18-649 Distributed Embedded Systems
Spring: 12 units
Embedded computers seem to be everywhere, and are increasingly used in applications as diverse as transportation, medical equipment, industrial controls, and consumer products. This course covers how to design and analyze distributed embedded systems, which typically consist of multiple processors on a local area network performing real time control tasks. The topics covered will include issues such as communication protocols, synchronization, real-time operation, fault tolerance, distributed I/O, design validation, and industrial implementation concerns. The emphasis will be on areas that are specific to embedded distributed systems as opposed to general-purpose networked workstation applications. This course assumes that students already know fundamental topics such as interrupts, basic I/O, and uniprocessor scheduling that are commonly taught in introduction-level embedded system courses such as 18-348 and 18-349. Any graduate student who has not taken one of the pre-requ isites is responsible for understanding relevant material necessary for this course. Additionally, all students are responsible for knowing or learning on their own intermediate-level programming in Java. Prerequisites: 18348 or 18349 and senior or graduate standing.
18-651 Networked Cyber-Physical Systems
Spring: 12 units
Cyber-physical systems (CPS) represent a new class of systems that bring together sensing, computation, communication, control and actuation to enable continuous interactions with physical processes. This integration of networked devices, people, and physical systems provides huge opportunities and countless applications in biology and healthcare, automotive and transportation, power grids and smart buildings, social and financial markets, etc. Hence, CPS need to provide real-time efficiency, adaptability, optimality, security and robustness to natural disasters or targeted attacks. While the focus on embedded systems relies on building computational models for specific applications, CPS need a multidisciplinary approach and a more general computational paradigm such that more-direct interactions between the system and physical world become possible. This course is primarily an in-depth introduction to networked CPS with an emphasis on methods for modeling, design, and optimization. Focus is on the dominant design paradigms like low-power and communication-centric design. Topics to be covered include: physical processes, models of concurrency, sensing and workload modeling, human behavior modeling, data-driven modeling, networking at micro- and macro-scale, system-wide resources management, programming, validation and integration. From a practical standpoint, students will directly experiment with hardware prototypes and software tools to explore concrete CPS examples. By structure and contents, this class is primarily targeted to ECE students; it can also provide a valuable basis for interdisciplinary research to students in CS and related disciplines.
18-659 Software Engineering Methods
Spring: 12 units
There has been a rapid evolution of software engineering development methods over the past decades. From Waterfall to Iterative and Incremental, to Agile and Lean, we have witnessed waves of new methods, each adding significant value to the field. However, the plethora of available methods poses a challenge for software practitioners: Which method should be adopted on a specific software project? Software Engineering Methods addresses this challenge by introducing students to emerging approaches for developing software-intensive systems. Given the vast spectrum of software development endeavors, these approaches aim at defining custom hybrid methods by focusing on software development principles and practices together with their applicability to specific project contexts. Students learn to analyze the context of a software project and recommend a custom hybrid development method that satisfies the projects specific needs. Students apply this knowledge in the context of a semester-long project. Their goal is to recommend the optimal software development method for a given project aimed at developing a specific software system. They model their recommended method and define a multi-level software engineering plan to enact the method. They build the first system increment by adopting their own method and following their own plan. They monitor their progress and reflect on the effectiveness of their approach and the need for continuous process improvement. Please note that this course is intended for ECE master students with a concentration in Software Engineering and will satisfy the "Systems" course area requirement. Pre-requisites: 18-652
18-664 ULSI Technology Status and Roadmap for System on Chips and System in Package
Fall: 12 units
This course provides 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. Graduate Standing (or permission from the instructor) is required for this course.
18-712 Elements of Photonics for Communication Systems
Fall: 12 units
Please see the ECE website for a full course description of this course. http://www.ece.cmu.edu/courses/items/18712.html Prerequisites: 18-300 and 18-310 and (18-402 or 33-439) and senior or graduate standing.
18-715 Physics of Applied Magnetism
Spring: 12 units
In this course we address the physics of magnetism of solids with emphasis on magnetic material properties and phenomena which are useful in various applications. Various applications of magnetism are used to motivate the understanding of the physical properties and phenomena. The content of this course includes the origins of magnetism at the atomic level and the origins of magnetic ordering (ferro-, ferri-, and antiferro-magnetism), magnetic anisotropy, magnetic domains, domain walls, spin dynamics and electronic transport at the crystalline level. The principles of magnetic crystal symmetry, tensors, and energy minimization are utilized to explore magnetic properties such as resonance, domain structures, magnetocrystalline anisotropy, magnetostriction and magnetoelasticity, and susceptibility. Phenomenological properties, such as the technical magnetization process, are used to describe mechanisms of coercivity, eddy current effects and losses, while energy minimization and relaxation are used to explain properties such as single domain particle behavior, memory mechanisms, magnetic aftereffects and thermal stability. Prerequisite: 18-300 or equivalent background in electromagnetic fields; Senior level solid state physics and materials, or the equivalent, and a senior or graduate student standing.
18-716 Advanced Applied Magnetism
Spring: 12 units
Over the past decade, magnetism has once again become one of the dominant themes in material science and solid-state physics. Today, the development of new thin film recording media and the discovery of giant magnetoresistance have resulted in the amount of stored bits in a single disk drive to reach astronomical numbers. Rapid advances in spin-polarized electrical transport have brought to the horizon a new kind of electronics, called spintronics, with a new functionality based upon the spin of the carriers. The newly enriched magnetism brings unbounded technologic opportunities, yet full of challenges. This course will cover many of the important technological applications of advanced magnetism. The emphasis will be placed on how the basic principles and concepts are applied. The topics include: (1) Application and theory of spin dependent transport: CIP and CPP GMR devices, spin injection in semiconductors, spin LED, spin transistors, and spin current induced magnetic switching; (2) Engineering of the magnetic material properties for: thin film recording media, recording heads, magnetoresistive random access memory; (3) Thermally excited ferromagnetic resonance: mag-noise in magnetic devices, and thermally activated magnetization reversal; (4) Continuous and patterned magnetic films: magnetic bubble technology and patterned media; (5) Magnetostriction: magnetostrictive sensors; (6) Magnetic imaging techniques: magnetic resonance imaging (MRI), magnetic force microscopy (MFM), differential-phase-contrast microscopy (DPC), SEMPA, and Kerr microscopy. 4 hrs. lec. Prerequisite: 18-715 or equivalent upon instructor's approval and senior or graduate standing.
18-755 Networks in the Real World
Spring: 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-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.

Course Website: http://www.ece.cmu.edu/~ee765/
18-771 Linear Systems
Spring: 12 units
A modern approach to the analysis and engineering applications of linear systems. Modeling and linearization of multi-input— multi-output dynamic physical systems. State-variable and transfer function matrices. Emphasis on linear and matrix algebra. Numerical matrix algebra and computational issues in solving systems of linear algebraic equations, singular value decomposition, eigenvalue-eigenvector and least-squares problems. Analytical and numerical solutions of systems of differential and difference equations. Structural properties of linear dynamic physical systems, including controllability, observability and stability. Canonical realizations, linear state-variable feedback controller and asymptotic observer design. Design and computer applications to electronic circuits, control engineering, dynamics and signal processing. 4 hrs. lec. Pre-Reqs: 18-470 or 18-474 and Graduate standing in CIT or MCS.
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.
18-878 Special Topics in Systems and Controls
Spring: 6 units
Please go to the ECE Website to view "Special Topics in Systems and Controls" course descriptions. http:/www.ece.cmu.edu/courses/index.html
18-883 Special Topics in Energy Systems
Spring: 6 units
Please see the ECE website for a full course description describing the sections of this course.