18100 
Introduction to Electrical and Computer Engineering 

18202 
Mathematical Foundations of Electrical Engineering 
 Prerequisites: 21122 with C or better

18213 
Introduction to Computer Systems 
 Prerequisites: 15122 (Grade of C or higher is required in the prerequisites)

18220 
Electronic Devices and Analog Circuits 

18240 
Structure and Design of Digital Systems 
 Prerequisite: 18100
 Corequisite: 21127

18290 
Signals and Systems 

18300 
Fundamentals of Electromagnetics 
 Prerequisite: 18220 or equivalent

18310 
Fundamentals of Semiconductor Devices 
 Prerequisite: 18220 (Note: the prerequisite is typically waived for MSE students who intend to pursue the Electronic Materials Minor)

18320 
Microelectronic Circuits 

18330 
Introduction to Computer Security 

18340 
Digital Arithmetic 
 Prerequisites: Course in logic design (18240 or equivalent).This course is crosslisted with 18640.

18341 
Logic Design and Verification 

18345 
Introduction to Telecommunication Networks 
 Prerequisites: (36226 or 36212 or 36217) and (18213)

18349 
Introduction to Embedded Systems 

18370 
Fundamentals of Control 

18372 
Fundamental of Electrical Power Systems 

18401 
Electromechanics 

18402 
Applied Electrodynamics 
 Prerequisite: 18300 or equivalent.

18403 
Microfabrication Methods and Technology 

18411 
Computational Techniques in Engineering 
 Prerequisites: Math sequence 21120, 21122, 21259, 21260 or equivalent; 15100 or equivalent

18412 
Neural Technology: Sensing and Stimulation 
 Prerequisites: 18220 or equivalent, or an understanding of basic circuits, differential equations, and electricity and magnetism. Some review of circuit theory will be provided for those who need it.
 Antirequisite: 18612

18413 
NanoBioPhotonics 
 Prerequisites: Senior undergraduate or graduate standing, 18300.Although students in 18613 and 18413 will share the same Lectures and Recitations. Students in 18613 will receive distinct course projects. Students in 18413 and 18613 will be graded on separate curves.

18418 
Electric Energy Processing: Fundamentals and Applications 

18421 
Analog Integrated Circuit Design 
 Prerequisites: 18290 and 18320 or equivalent background material with permission of the instructor.

18422 
Digital Integrated Circuit Design 
 Prerequisites: 18240 and 18320 or equivalent background material with permission of the instructor.

18432 
Senior Projects 
 Prerequisite: Senior standing in Electrical and Computer Engineering

18441 
Computer Networks 
 Prerequisites: (36226 or 36212 or 36217) and (18213)

18447 
Introduction to Computer Architecture 

18451 
Networked CyberPhysical Systems 
 Prerequisites: 18349 OR (18213 AND 18240) OR equivalent background material with permission of the instructor.

18452 
Wireless Networking and Applications 
 Prerequisites: 18213 or 15213 or 18600 or equivalent background. C/C++ and/or Java programming skills are also needed for the project.
 Antirequisite: 18750

18460 
Optimization 
 Prerequisites: 18202 and 21241 and 36217 OR equivalent background material with permission of the instructor.

18461 
Introduction to Machine Learning for Engineers 
 Prerequisites: 18202 and 15122 and 36217 and 21127 Antirequisites: 10401, 10601, 10701
 Antirequisites: 10401, 10601, 10701

18464 
ULSI Technology Status and Roadmap for System on Chips and System in Package 

18474 
Embedded Control Systems 
 Prerequisites: 18213 and 1837

18482 
Telecommunications Technology and Policy for the Internet Age 

18491 
Fundamentals of Signal Processing 

18492 
Special Topics in Speech Processing 

18493 
Electroacoustics 

18496 
Introduction to Biomedical Imaging and Image Analysis 

18500 
ECE Design Experience 
 Prerequisites: Any two 18xxx ECE Area courses and all four ECE sophomore core courses, 18213, 18220, 18240 and 18290.

18510 
Sensor Systems Design 

18525 
Integrated Circuit Design Project 

18540 
Rapid Prototyping of Computer Systems 

18545 
Advanced Digital Design Project 

18549 
Embedded Systems Design 

18551 
Signal Processing System Design 
 Prerequisites: 18491 AND one of 18{348, 349, 370, 496, 792, 793, 794}

18578 
Mechatronic Design 

18587 
Energy Conversion, Control, and Management 

18600A 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18600B 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18600C 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18600D 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18600RW 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18600SA 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18600SB 
Foundations of Computer Systems 
 Antirequisites: 15213, 18213, 15513

18610 
Fundamentals of Modern CMOS Devices 

18612 
Neural Technology: Sensing and Stimulation 

18613 
NanoBioPhotonics 
 Prerequisites: Senior undergraduate or graduate standing, 18300.This course is cross listed with 18413Although students in 18613 and 18413 will share the same Lectures and Recitations. Students in 18613 will receive distinct course projects. Students in 18413 and 18613 will be graded on separate curves.

18614 
Microelectromechanical Systems 

18615 
Micro and Nano Systems Fabrication 

18622 
Advanced Digital Integrated Circuit Design 
 Prerequisites: 18240 and 18320 or equivalent background material with permission of the instructor.

18623 
Analog Integrated Circuit Design 
 Prerequisites: 18290 and 18320 or equivalent background material with permission of the instructor.

18625 
ULSI Mobile Platform and Server Product Design 
 Prerequisites: 18664 or instructor permission

18629D 
Special Topics in Circuits: IC Design for Wireless Communication Systems 

18631A 
Introduction to Information Security 
 Prerequisites: The course assumes a basic working knowledge of computers, networks, C and UNIX programming, as well as an elementary mathematics background, but does not assume any prior exposure to topics in computer or communications security. Students lacking technical background (e.g., students without any prior exposure to programming) are expected to catch up through selfstudy.

18631RW 
Introduction to Information Security 
 Prerequisites: The course assumes a basic working knowledge of computers, networks, C and UNIX programming, as well as an elementary mathematics background, but does not assume any prior exposure to topics in computer or communications security. Students lacking technical background (e.g., students without any prior exposure to programming) are expected to catch up through selfstudy.

18631SV 
Introduction to Information Security 
 Prerequisites: The course assumes a basic working knowledge of computers, networks, C and UNIX programming, as well as an elementary mathematics background, but does not assume any prior exposure to topics in computer or communications security. Students lacking technical background (e.g., students without any prior exposure to programming) are expected to catch up through selfstudy.

18632 
Introduction to Hardware Security 

18636 
Browser Security 
 Prerequisites: Graduate standing or by instructor permission.

18637A 
Wireless Network Security 
 Prerequisites: Graduate standing and (18631 or 18730 or 14741) and (14740 or 18756 or 15641)

18638 
Mobile Security 
 Prerequisites: Graduate standing and (18631 or 18730 or 14741) and (14740 or 18756 or 15641)

18638SV 
Mobile Security 
 Prerequisites: Graduating standing and (14741 or 18631 or 18730) and (14740 or 15641 or 18756)

18639 
Policies of the Internet 

18640 
Digital Arithmetic 
 Prerequisites: Course in logic design (18240 or equivalent).This course is crosslisted with 18340.

18643 
Reconfigurable Logic: Technology, Architecture and Applications 

18644 
Special Topics in Computer Systems: Mobile Hardware for Software Engineers 
 Prerequisites: Some understanding of basic electronic terminology and Java programming required; C programming desired

18644SV 
Special Topics in Computer Systems: Mobile Hardware for Software Engineers 
 Prerequisites: Some understanding of basic electronic terminology and Java programming required; C programming desired

18646 
LowPower SystemonChip Architecture 
 Prerequisites: 18213 or 15213 or permission from the instructor

18646SV 
LowPower SystemonChip Architecture 
 Prerequisites: 18213 or 15213 or permission from the instructor

18648 
RealTime Embedded Systems 

18649 
Distributed Embedded Systems 
 Prerequisites: 18348 or 18349 and senior or graduate standing.

18652 
Foundations of Software Engineering 
 Prerequisites: Basic software development experience with proficiency in at least one modern programming language and modern programming concepts. Prior to admission, students must successful complete a programming assignment to demonstrate familiarity with required software technologies.

18652RW 
Foundations of Software Engineering 
 Prerequisites: Basic software development experience with proficiency in at least one modern programming language and modern programming concepts. Prior to admission, students must successful complete a programming assignment to demonstrate familiarity with required software technologies.

18652SA 
Foundations of Software Engineering 
 Prerequisites: Basic software development experience with proficiency in at least one modern programming language and modern programming concepts. Prior to admission, students must successful complete a programming assignment to demonstrate familiarity with required software technologies.

18652SB 
Foundations of Software Engineering 
 Prerequisites: Basic software development experience with proficiency in at least one modern programming language and modern programming concepts. Prior to admission, students must successful complete a programming assignment to demonstrate familiarity with required software technologies.

18653 
Software Architecture and Design 

18653SV 
Software Architecture and Design 

18654SV 
Software Verification and Testing 
 Prerequisites: 18652, 18213 or 15513 , Basic software development experience and proficiency in at least one modern programming language. Java is the main programming language used in this course.

18655 
Service Oriented Computing 
 Prerequisites: Proficiency with either Java or Python programming language and in modern software development concepts.
 Corequisites: 18652

18655SV 
Service Oriented Computing 
 Prerequisites: Proficiency with at least one modern programming language and in modern programming concepts.
 Corequisites: 18652

18656SV 
Data Intensive Workflow Development for Software Engineers 

18657SV 
Decision Analysis and Engineering Economics for Software Engineers 
 Prerequisites: 36217 and 18652

18659SV 
Software Engineering Methods 
 Prerequisites: 18652 or instructor permission.

18660 
Optimization 
 Prerequisites: 18202 and 21241 and 36217 OR equivalent background material with permission of the instructor.

18660SV 
Numerical Methods for Engineering Design and Optimization 
 Prerequisites: 18202, 21241, 36217

18661 
Introduction to Machine Learning for Engineers 
 Antirequisites: 10401, 10601, 10701

18661SV 
Introduction to Machine Learning for Engineers 
 Antirequisites: 10401, 10601, 10701

18663 
Hardware Architectures for Machine Learning 

18664 
ULSI Technology Status and Roadmap for System on Chips and System in Package 
 Prerequisites: 18422 Graduate standing or instructor permission

18687 
Analytical Performance Modeling & Design of Computer Systems 
 Prerequisites: 36217
 Antirequisite: 15857A

18687SV 
Analytical Performance Modeling & Design of Computer Systems 
 Prerequisites: 36217
 Antirequisite: 15857A

18690 
Introduction to Neuroscience for Engineers 
 Prerequisites: 42101 or 18100 or equivalent

18697 
Statistical Discovery and Learning 
 Antirequisites: 10701 and 15781

18697SV 
Statistical Discovery and Learning 
 Antirequisites: 10701 and 15781

18698 
Neural Signal Processing 
 Prerequisites: 18290; 36217, or equivalent introductory probability theory and random variables course; an introductory linear algebra course; senior or graduate standing. No prior knowledge of neuroscience is needed

18701 
Technical Writing for Engineers  Linguistic Foundations 
 Prerequisites: ECE PhD standing is required

18702 
Technical Writing for Engineers: Genre Foundations 
 Prerequisites: ECE PhD standing is required

18703 
Managing and Leading Research and Development 
 Prerequisites: Graduate Student Status. IMB students may only take this course in their final year at Carnegie Mellon.

18712 
Elements of Photonics for Communication Systems 

18715 
Physics of Applied Magnetism 
 Prerequisite: 18300 or equivalent background in electromagnetic fields; Senior level solid state physics and materials, or the equivalent, and a senior or graduate student standing.

18721 
Advanced Analog Integrated Circuits Design 
 Prerequisites: 18623 and senior or graduate standing.

18723 
RF IC Design and Implementation 
 Prerequisites: 18623 or 18421 and senior or graduate standing.

18725 
Advanced Digital Integrated Circuit Design 

18730 
Introduction to Computer Security 

18730PP 
Introduction to Computer Security 
 Prerequisites: 15211 and senior or graduate standing.

18730SV 
Introduction to Computer Security 

18731 
Network Security 
 Prerequisites: 18630 or 18730 and senior or graduate standing.

18731PP 
Network Security 
 Prerequisites: 18630 or 18730 and senior or graduate standing.

18731RW 
Network Security 
 Prerequisites: 18630 or 18730 and senior or graduate standing.

18731SV 
Network Security 
 Prerequisites: 18630 or 18730 and senior or graduate standing.

18732 
Secure Software Systems 
 Prerequisites: 18730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing.

18732PP 
Secure Software Systems 
 Prerequisites: 18730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing.

18732RW 
Secure Software Systems 
 Prerequisites: 18730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing.

18732SV 
Secure Software Systems 
 Prerequisites: 18730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing.

18733 
Applied Cryptography 
 Prerequisites: 18730 and senior or graduate standing.

18733J 
Applied Cryptography 
 Prerequisites: 18730 and senior or graduate standing.

18733SV 
Applied Cryptography 
 Prerequisites: 18730 and senior or graduate standing.

18739A 
Special Topics in Security: Foundations of Security and Privacy 
 Prerequisites: An introductory course on computer security such as 18487 or 18730 is recommended but not required.

18739C 
Special Topics in Security: Vulnerability, Defenses, and Malware Analysis 
 Prerequisites: 18730 or equivalent introduction to computer security

18739E 
Network Security and Management 
 Prerequisite: 14740 or 15641

18739M 
Special Topics in Security: Formal Foundations of Software Security 
 Prerequisites: Computer science and engineering background for Phd students. MS students and undergraduates can be enrolled as per instructors’ approval.

18741 
Computer Networks 
 Prerequisites: (36226 or 36212 or 36217) and (18213)

18742 
Computer Architecture and Systems 

18743 
Energy Aware Computing 
 Prerequisites: Senior or graduate standing

18743SV 
Energy Aware Computing 
 Prerequisites: Senior or Graduate Standing.

18745 
Rapid Prototyping of Computer Systems 
 Prerequisites: By permission of the instructors.

18746 
Storage Systems 

18747 
Wireless Device Architecture 
 Prerequisites: Graduate standing

18747SV 
Wireless Device Architecture 
 Prerequisites: Graduate standing

18748 
Wireless Sensor Networks 

18749 
Building Reliable Distributed Systems 
 Prerequisites: Graduate standing or instructor permission

18750 
Wireless Networking and Applications 
 Prerequisites: 18213 or 15213 or 18600 or equivalent background. C/C++ and/or Java programming skills are also needed for the project.
 Antirequisite: 18452

18751 
Applied Stochastic Processes 
 Prerequisites: 18290 and 36217

18751RW 
Applied Stochastic Processes 
 Prerequisites: 18290 and 36217

18751SV 
Applied Stochastic Processes 
 Prerequisites: 18290 and 36217

18752 
Estimation, Detection and Learning 
 Prerequisites: 36217 and senior or graduate standing

18753 
Information Theory 
 Prerequisites: 36217 and senior or graduate standing.

18754 
Error Control Coding 
 Prerequisites: 36217 and 18450

18755 
Networks in the Real World 
 Prerequisites: Senior or Graduate standing

18756 
Packet Switching and Computer Networks 
 Prerequisites: 18345 and senior or graduate standing.

18756G 
Packet Switching and Computer Networks 
 Prerequisites: 18345 and senior or graduate standing.

18756PP 
Packet Switching and Computer Networks 
 Prerequisites: 18345 and senior or graduate standing.

18756R 
Packet Switching and Computer Networks 
 Prerequisites: 18345 and senior or graduate standing.

18757 
Network Management and Control 
 Prerequisites: A course in probability; 18756 and senior or graduate standing.

18757PP 
Network Management and Control 
 Prerequisites: A course in probability; 18756 and senior or graduate standing.

18758 
Wireless Communications 
 Prerequisites: 36217 or 36225

18759 
Wireless Networks 

18759RW 
Wireless Networks 

18760 
VLSI CAD: Logic to Layout 

18762 
Circuit Simulation: Theory and Practice 
 Prerequisites: 18320 and 21241

18765 
Digital Systems Testing and Testable Design 

18765PP 
Digital Systems Testing and Testable Design 

18771 
Linear Systems 

18771PP 
Linear Systems 
 Prerequisite: 18470 or 18474, and graduate standing in CIT or MCS

18771RW 
Linear Systems 
 Prerequisites: 18470 or 18474 and Graduate standing in CIT or MCS

18771SV 
Linear Systems 

18776 
Non Linear Control 

18777 
Complex LargeScale Dynamic Systems 
 Prerequisites: Senior or graduate standing

18781 
Speech Recognition and Understanding 
 Prerequisites: Sound mathematical background, knowledge of basic statistics, good computing skills. No prior experience with speech recognition is necessary. This course is primarily for graduate students in LTI, CS, Robotics, ECE, Psychology, or Computational Linguistics. Others by prior permission of instructor.

18781SV 
Speech Recognition and Understanding 
 Prerequisites: Sound mathematical background, knowledge of basic statistics, good computing skills. No prior experience with speech recognition is necessary. This course is primarily for graduate students in LTI, CS, Robotics, ECE, Psychology, or Computational Linguistics. Others by prior permission of instructor.

18782PP 
Machine Learning 
 Antirequisites: 10701 and 15781 and 18697

18785 
Data, Inference, and Applied Machine Learning 

18785RW 
Data, Inference, and Applied Machine Learning 

18790 
Wavelets and Multiresolution Techniques 
 Prerequisite: 18491. Students are expected to have a good background in basic engineering mathematics, signal processing and linear algebra.

18791 
Methods in Medical Imaging Analysis 
 Prerequisites: Knowledge of vector calculus, basic probability, and either C++ or python. Required textbook, "Machine Vision", ISBN: 052116981X; Optional textbook, "Insight to Images", ISBN: 9781568812175.

18792 
Advanced Digital Signal Processing 
 Prerequisites: 18491 and 36217

18793 
Image and Video Processing 

18793SV 
Image and Video Processing 

18794 
Pattern Recognition Theory 
 Prerequisites: 36217, or equivalent introductory probability theory and random variables course and an introductory linear algebra course and senior or graduate standing.

18795 
Bioimage Informatics 

18797 
Machine Learning for Signal Processing 
 Prerequisites: Linear Algebra, Basic Probability Theory, Signal Processing and Machine Learning.

18797RW 
Machine Learning for Signal Processing 
 Prerequisites: Linear Algebra, Basic Probability Theory, Signal Processing and Machine Learning.

18797SV 
Machine Learning for Signal Processing 
 Prerequisites: Linear Algebra, Basic Probability Theory, Signal Processing and Machine Learning.

18799J 
Special Topics in Signal Processing: Compressive sensing and sparse optimization 
 Prerequisites: 36217 or Undergraduate linear algebra, probability. An introduction to convex optimization would be useful but not necessary as the necessary material will be taught as part of the course.

18817 
Applied Physics: Fundamentals of Semiconductors and Nanostructures 
 Prerequisites: 09511, 09701, 09702, 18303, 18310, 18402, 27770, 33225, 33234 or familiarity with the material or basic concepts covered in these courses and senior or graduate standing.

18842 
Distributed Systems 

18842G 
Distributed Systems 

18842PP 
Distributed Systems 

18842T 
Distributed Systems 

18843 
Mobile and Pervasive Computing 
 Prerequisites: 15410 and senior or graduate standing.

18843SV 
Mobile and Pervasive Computing 
 Prerequisites: 15410 and senior or graduate standing.CrossListed: 14841

18845 
Internet Services 

18847B 
Special Topics in Computer Systems: “Advanced Cloud Computing” 
 Prerequisites: 15213, 18213 or 15513 from CMU, with a grade of at least a B

18847C 
Special Topics in Computer Systems: Parallel, Heterogeneous, and Emerging Architectures 

18847F 
Special Topics in Computer Systems: Foundations of Cloud and Machine Learning Infrastructure 
 Prerequisites: Introductory Probability, Introductory Linear Algebra

18847G 
Special Topics in Computer Systems: Computing for Engineers 

18847SH 
Special Topics in Computer Systems: Wireless Software Systems Architecture 

18858R2 
Special Topics in Communication: Networking Lab 
 Prerequisites: NoneCorequisites: 04641 or 14740 or 18756
 Corequisites: 04641 or 14740 or 18756

18875 
Engineering and Economics of Electric Energy Systems 
 Prerequisites: Basic electric circuits and/or basic economics and at least graduate standing.

18879C 
Special Topics in Systems and Controls: Optimal Control 

18879SC 
Special Topics in Systems and Controls: Optimal Control 

18898F 
Special Topics in Signal Processing: Intro to Datascience with Applications to Clinical Neural Data 
 Prerequisites: 18290, 36217 or equivalent, senior or graduate standing preferred; discuss suitability of background with the instructor

18898G 
Special Topics in Signal Processing: Sparsity, Structure, and Inference 
 Prerequisites: Probability, linear algebra

18899 A1 
Special Topics in Signal Processing: Applied Time Series Analysis 
 Prerequisites: Mathematics, statistics, probability, programming

18899 R1 
Special Topics in Signal Processing: Applied Time Series Analysis 
 Prerequisites: Mathematics, statistics, probability, programming

18899A3 
Special Topics in Signal Processing: Data and Inference (DI) 
 Prerequisites: Background in a quantitative discipline (Engineering, Computer Science, Physics, Mathematics, Statistics); Programming.

18899K3 
Special Topics in Signal Processing: Data Analytics 
 Prerequisites: Data and Inference and Applied Machine Learning MiniCourses; Background in quantitative discipline (Engineering, Computer Science, Physics, Mathematics, Statistics); Programming.

18899K4 
Special Topics in Signal Processing: Big Data Science 
 Prerequisites: Data and Inference and Applied Machine Learning MiniCourses; Background in quantitative discipline (Engineering, Computer Science, Physics, Mathematics, Statistics); Programming.

18899R3 
Special Topics in Signal Processing: Data and Inference (DI) 
 Prerequisites: Background in quantitative discipline (Engineering, Computer Science, Physics, Mathematics, Statistics); Programming.

18994 
Internship for Electrical and Computer Engineering Graduate Students 
 Prerequisites: Graduate standing in ECE

18995 
Practicum in Electrical and Computer Engineering 
 Prerequisite: Approval of Department Head
