# Course Prerequisites & Corequisites

Course | Course Name | Requirements |
---|---|---|

18-100 | Introduction to Electrical and Computer Engineering |
Corequisites: 21-120 |

18-202 | Mathematical Foundations of Electrical Engineering |
Prerequisites: 21122 with C or better |

18-213 | Introduction to Computer Systems |
Prerequisites: 15-122 (Grade of C or higher is required in the prerequisites) |

18-220 | Electronic Devices and Analog Circuits |
Prerequisites: 18-100Corequisites: 18-202 and 33-142 |

18-240 | Structure and Design of Digital Systems |
Prerequisite: 18-100Corequisite: 21-127 |

18-290 | Signals and Systems |
Prerequisites: 18-100Corequisites: 18-202 |

18-300 | Fundamentals of Electromagnetics |
Prerequisite: 18-220 or equivalent |

18-310 | Fundamentals of Semiconductor Devices |
Prerequisite: 18-220 (Note: the prerequisite is typically waived for MSE students who intend to pursue the Electronic Materials Minor) |

18-320 | Microelectronic Circuits |
Prerequisite: 18-220Corequisite: 18-240 |

18-330 | Introduction to Computer Security |
Prerequisites: 18-213 or 15213Anti-requisites: 18-631 or 18-730 |

18-340 | Digital Arithmetic |
Prerequisites: Course in logic design (18-240 or equivalent).This course is crosslisted with 18-640. |

18-341 | Logic Design and Verification |
Prerequisites: 18-240 |

18-345 | Introduction to Telecommunication Networks |
Prerequisites: (36226 or 36212 or 36217) and (18-213) |

18-349 | Introduction to Embedded Systems |
Prerequisites: 18-240 and 18-213Anti-requisites: 18-342 and 18-348 |

18-370 | Fundamentals of Control |
Prerequisite: 18-290 |

18-372 | Fundamental of Electrical Power Systems |
Prerequisites: 18-202 and 18-220 |

18-401 | Electromechanics |
Prerequisite: 18-300 |

18-402 | Applied Electrodynamics |
Prerequisite: 18-300 or equivalent. |

18-403 | Microfabrication Methods and Technology |
Prerequisites: 18-310 |

18-411 | Computational Techniques in Engineering |
Prerequisites: Math sequence 21-120, 21-122, 21-259, 21-260 or equivalent; 15-100 or equivalent |

18-412 | Neural Technology: Sensing and Stimulation |
Prerequisites: 18-220 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.Anti-requisite: 18-612 |

18-413 | Nano-Bio-Photonics |
Prerequisites: Senior undergraduate or graduate standing, 18-300.Although students in 18-613 and 18-413 will share the same Lectures and Recitations. Students in 18-613 will receive distinct course projects. Students in 18-413 and 18-613 will be graded on separate curves. |

18-418 | Electric Energy Processing: Fundamentals and Applications |
Prerequisite: 18-220 |

18-421 | Analog Integrated Circuit Design |
Prerequisites: 18-290 and 18-320 or equivalent background material with permission of the instructor. |

18-422 | Digital Integrated Circuit Design |
Prerequisites: 18-240 and 18-320 or equivalent background material with permission of the instructor. |

18-432 | Senior Projects |
Prerequisite: Senior standing in Electrical and Computer Engineering |

18-441 | Computer Networks |
Prerequisites: (36226 or 36212 or 36217) and (18-213) |

18-447 | Introduction to Computer Architecture |
Prerequisites: 18-240 and 18-213 and (18-340 or 18-341 or 18-348 or 18-349 or 18-320) |

18-451 | Networked Cyber-Physical Systems |
Prerequisites: 18-349 OR (18-213 AND 18-240) OR equivalent background material with permission of the instructor. |

18-452 | Wireless Networking and Applications |
Prerequisites: 18-213 or 15-213 or 18-600 or equivalent background. C/C++ and/or Java programming skills are also needed for the project.Anti-requisite: 18-750 |

18-460 | Optimization |
Prerequisites: 18-202 and 21241 and 36217 OR equivalent background material with permission of the instructor. |

18-461 | Introduction to Machine Learning for Engineers |
Prerequisites: 18-202 and 15-122 and 36-217 and 21-127 Antirequisites: 10-401, 10-601, 10-701Anti-requisites: 10-401, 10-601, 10-701 |

18-464 | ULSI Technology Status and Roadmap for System on Chips and System in Package |
Prerequisites: 18-320 or 18-422 |

18-474 | Embedded Control Systems |
Prerequisites: 18-213 and 1837 |

18-482 | Telecommunications Technology and Policy for the Internet Age |
Prerequisites: 73100 |

18-491 | Fundamentals of Signal Processing |
Prerequisite: 18-290 |

18-492 | Special Topics in Speech Processing |
Prerequisites: 15-211 |

18-493 | Electroacoustics |
Prerequisite: 18-220 and 18-290 |

18-496 | Introduction to Biomedical Imaging and Image Analysis |
Prerequisites: 18-290 |

18-500 | ECE Design Experience |
Prerequisites: Any two 18-xxx ECE Area courses and all four ECE sophomore core courses, 18-213, 18-220, 18-240 and 18-290. |

18-510 | Sensor Systems Design |
Prerequisites: (18-300 and 18-320) or (18-300 and 18-491) or (18-310 and 18-320) or (18-310 and 18-491) or (18-320 and 18-491) or (18-300 and 18-421) or (18-310 and 18-421) or (18-401 and 18-320) or (18-402 and 18-320) or (18-401 and 18-421) or (18-402 and 18-421) or (18-401 and 18-491) or (18-402 and 18-491) or (18-419 and 18-320) or (18-419 and 18-421) or (18-419 and 18-491) or (18-421 and 18-491) |

18-525 | Integrated Circuit Design Project |
Prerequisites: 18-422 and 18-320 |

18-540 | Rapid Prototyping of Computer Systems |
Prerequisites: (18-320 or 18-370 or 18-491) and (18-340 or 18-341 or 18-349) |

18-545 | Advanced Digital Design Project |
Prerequisites: (18-340 and 18-341) or (18-340 and 18-348) or (18-349 and 18-340) or (18-340 and 18-447) or (18-341 and 18-348) or (18-349 and 18-341) or (18-341 and 18-447) or (18-348 and 18-447) or (18-447 and 18-349) |

18-549 | Embedded Systems Design |
Prerequisites: (18-320 or 18-447 or 15410 or 18-370 or 18-491) and (18-349 or 18-348) |

18-551 | Signal Processing System Design |
Prerequisites: 18-491 AND one of 18-{348, 349, 370, 496, 792, 793, 794} |

18-578 | Mechatronic Design |
Prerequisites: (18-348 or 18-349) and (18-320 or 18-370 or 15313) or (18-320 and 18-370) |

18-587 | Energy Conversion, Control, and Management |
Prerequisites: (18-491 or 18-370 or 18-372 or 18-418) and (18-348 or 18-349) |

18-600A | Foundations of Computer Systems |
Anti-requisites: 15-213, 18-213, 15-513 |

18-600B | Foundations of Computer Systems |
Anti-requisites: 15213, 18-213, 15513 |

18-600C | Foundations of Computer Systems |
Anti-requisites: 15213, 18-213, 15513 |

18-600D | Foundations of Computer Systems |
Anti-requisites: 15213, 18-213, 15513 |

18-600RW | Foundations of Computer Systems |
Anti-requisites: 15-213, 18-213, 15-513 |

18-600SA | Foundations of Computer Systems |
Anti-requisites: 15213, 18-213, 15513 |

18-600SB | Foundations of Computer Systems |
Anti-requisites: 15213, 18-213, 15513 |

18-610 | Fundamentals of Modern CMOS Devices |
Prerequisites: 18-310. |

18-612 | Neural Technology: Sensing and Stimulation |
Anti-requisite: 18-412 |

18-613 | Nano-Bio-Photonics |
Prerequisites: Senior undergraduate or graduate standing, 18-300.This course is cross listed with 18-413Although students in 18-613 and 18-413 will share the same Lectures and Recitations. Students in 18-613 will receive distinct course projects. Students in 18-413 and 18-613 will be graded on separate curves. |

18-614 | Microelectromechanical Systems |
Prerequisites: 18-300 or 18-310 or 18-320 or 24-351 |

18-615 | Micro and Nano Systems Fabrication |
Prerequisites: 18-310 |

18-622 | Advanced Digital Integrated Circuit Design |
Prerequisites: 18-240 and 18-320 or equivalent background material with permission of the instructor. |

18-623 | Analog Integrated Circuit Design |
Prerequisites: 18-290 and 18-320 or equivalent background material with permission of the instructor. |

18-625 | ULSI Mobile Platform and Server Product Design |
Prerequisites: 18-664 or instructor permission |

18-629D | Special Topics in Circuits: IC Design for Wireless Communication Systems |
Prerequisites: 18-623 |

18-631A | 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 self-study. |

18-631RW | 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 self-study. |

18-631SV | 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 self-study. |

18-632 | Introduction to Hardware Security |
Prerequisites: C in 18-240 AND (C in 18-341 OR C in 18-447) |

18-636 | Browser Security |
Prerequisites: Graduate standing or by instructor permission. |

18-637A | Wireless Network Security |
Prerequisites: Graduate standing and (18-631 or 18-730 or 14-741) and (14-740 or 18-756 or 15-641) |

18-638 | Mobile Security |
Prerequisites: Graduate standing and (18-631 or 18-730 or 14-741) and (14-740 or 18-756 or 15-641) |

18-638SV | Mobile Security |
Prerequisites: Graduating standing and (14741 or 18-631 or 18-730) and (14740 or 15641 or 18-756) |

18-639 | Policies of the Internet |
Prerequisite: None |

18-640 | Digital Arithmetic |
Prerequisites: Course in logic design (18-240 or equivalent).This course is crosslisted with 18-340. |

18-643 | Reconfigurable Logic: Technology, Architecture and Applications |
Prerequisites: 18-341 or 18-447 |

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

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

18-646 | Low-Power System-on-Chip Architecture |
Prerequisites: 18-213 or 15213 or permission from the instructor |

18-646SV | Low-Power System-on-Chip Architecture |
Prerequisites: 18-213 or 15213 or permission from the instructor |

18-648 | Real-Time Embedded Systems |
Prerequisites: 18-213 and 18-345 and 18-447 |

18-649 | Distributed Embedded Systems |
Prerequisites: 18-348 or 18-349 and senior or graduate standing. |

18-652 | 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. |

18-652RW | 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. |

18-652SA | 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. |

18-652SB | 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. |

18-653 | Software Architecture and Design |
Corequisites: 18-655Antirequisites: 17655, 49787Anti-requisites: 17655, 49787 |

18-653SV | Software Architecture and Design |
Corequisites: 18-655Antirequisites: 17655, 49787Anti-requisites: 17655, 49787 |

18-654SV | Software Verification and Testing |
Prerequisites: 18-652, 18-213 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. |

18-655 | Service Oriented Computing |
Prerequisites: Proficiency with either Java or Python programming language and in modern software development concepts.Corequisites: 18-652 |

18-655SV | Service Oriented Computing |
Prerequisites: Proficiency with at least one modern programming language and in modern programming concepts.Corequisites: 18-652 |

18-656SV | Data Intensive Workflow Development for Software Engineers |
Corequisites: 18-655 |

18-657SV | Decision Analysis and Engineering Economics for Software Engineers |
Prerequisites: 36217 and 18-652 |

18-659SV | Software Engineering Methods |
Prerequisites: 18-652 or instructor permission. |

18-660 | Optimization |
Prerequisites: 18-202 and 21241 and 36217 OR equivalent background material with permission of the instructor. |

18-660SV | Numerical Methods for Engineering Design and Optimization |
Prerequisites: 18-202, 21-241, 36-217 |

18-661 | Introduction to Machine Learning for Engineers |
Anti-requisites: 10-401, 10-601, 10-701 |

18-661SV | Introduction to Machine Learning for Engineers |
Anti-requisites: 10-401, 10-601, 10-701 |

18-663 | Hardware Architectures for Machine Learning |
Prerequisites: (18-461 OR 18-661 OR 10-401 OR 10-601 OR 10-701) AND (18-447 OR 18-340) |

18-664 | ULSI Technology Status and Roadmap for System on Chips and System in Package |
Prerequisites: 18-422 Graduate standing or instructor permission |

18-687 | Analytical Performance Modeling & Design of Computer Systems |
Prerequisites: 36-217Anti-requisite: 15-857A |

18-687SV | Analytical Performance Modeling & Design of Computer Systems |
Prerequisites: 36-217Anti-requisite: 15-857A |

18-690 | Introduction to Neuroscience for Engineers |
Prerequisites: 42-101 or 18-100 or equivalent |

18-697 | Statistical Discovery and Learning |
Anti-requisites: 10-701 and 15-781 |

18-697SV | Statistical Discovery and Learning |
Anti-requisites: 10-701 and 15-781 |

18-698 | Neural Signal Processing |
Prerequisites: 18-290; 36-217, 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 |

18-701 | Technical Writing for Engineers -- Linguistic Foundations |
Prerequisites: ECE PhD standing is required |

18-702 | Technical Writing for Engineers: Genre Foundations |
Prerequisites: ECE PhD standing is required |

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

18-712 | Elements of Photonics for Communication Systems |
Prerequisites: 18-300 and 18-310 and (18-402 or 33-439) and senior or graduate standing. |

18-715 | Physics of Applied Magnetism |
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-721 | Advanced Analog Integrated Circuits Design |
Prerequisites: 18-623 and senior or graduate standing. |

18-723 | RF IC Design and Implementation |
Prerequisites: 18-623 or 18-421 and senior or graduate standing. |

18-725 | Advanced Digital Integrated Circuit Design |
Prerequisites: 18-422 and 18-447 |

18-730 | Introduction to Computer Security |
Prerequisites: 15214Anti-requisites: 18-631 and 18-487 |

18-730PP | Introduction to Computer Security |
Prerequisites: 15-211 and senior or graduate standing. |

18-730SV | Introduction to Computer Security |
Prerequisites: 15214Anti-requisites: 18-631 and 18-487 |

18-731 | Network Security |
Prerequisites: 18-630 or 18-730 and senior or graduate standing. |

18-731PP | Network Security |
Prerequisites: 18-630 or 18-730 and senior or graduate standing. |

18-731RW | Network Security |
Prerequisites: 18-630 or 18-730 and senior or graduate standing. |

18-731SV | Network Security |
Prerequisites: 18-630 or 18-730 and senior or graduate standing. |

18-732 | Secure Software Systems |
Prerequisites: 18-730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing. |

18-732PP | Secure Software Systems |
Prerequisites: 18-730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing. |

18-732RW | Secure Software Systems |
Prerequisites: 18-730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing. |

18-732SV | Secure Software Systems |
Prerequisites: 18-730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing. |

18-733 | Applied Cryptography |
Prerequisites: 18-730 and senior or graduate standing. |

18-733J | Applied Cryptography |
Prerequisites: 18-730 and senior or graduate standing. |

18-733SV | Applied Cryptography |
Prerequisites: 18-730 and senior or graduate standing. |

18-739A | Special Topics in Security: Foundations of Security and Privacy |
Prerequisites: An introductory course on computer security such as 18-487 or 18-730 is recommended but not required. |

18-739C | Special Topics in Security: Vulnerability, Defenses, and Malware Analysis |
Prerequisites: 18-730 or equivalent introduction to computer security |

18-739E | Network Security and Management |
Prerequisite: 14740 or 15641 |

18-739M | 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. |

18-741 | Computer Networks |
Prerequisites: (36226 or 36212 or 36217) and (18-213) |

18-742 | Computer Architecture and Systems |
Prerequisites: 18-600 or 18-447 and senior or graduate standingAnti-requisites: 18-847C |

18-743 | Energy Aware Computing |
Prerequisites: Senior or graduate standing |

18-743SV | Energy Aware Computing |
Prerequisites: Senior or Graduate Standing. |

18-745 | Rapid Prototyping of Computer Systems |
Prerequisites: By permission of the instructors. |

18-746 | Storage Systems |
Prerequisite: 18-213 |

18-747 | Wireless Device Architecture |
Prerequisites: Graduate standing |

18-747SV | Wireless Device Architecture |
Prerequisites: Graduate standing |

18-748 | Wireless Sensor Networks |
Prerequisites: 18-348 or 18-349 or 15-410 |

18-749 | Building Reliable Distributed Systems |
Prerequisites: Graduate standing or instructor permission |

18-750 | Wireless Networking and Applications |
Prerequisites: 18-213 or 15-213 or 18-600 or equivalent background. C/C++ and/or Java programming skills are also needed for the project.Anti-requisite: 18-452 |

18-751 | Applied Stochastic Processes |
Prerequisites: 18-290 and 36217 |

18-751RW | Applied Stochastic Processes |
Prerequisites: 18-290 and 36217 |

18-751SV | Applied Stochastic Processes |
Prerequisites: 18-290 and 36217 |

18-752 | Estimation, Detection and Learning |
Prerequisites: 36-217 and senior or graduate standing |

18-753 | Information Theory |
Prerequisites: 36-217 and senior or graduate standing. |

18-754 | Error Control Coding |
Prerequisites: 36-217 and 18-450 |

18-755 | Networks in the Real World |
Prerequisites: Senior or Graduate standing |

18-756 | Packet Switching and Computer Networks |
Prerequisites: 18-345 and senior or graduate standing. |

18-756G | Packet Switching and Computer Networks |
Prerequisites: 18-345 and senior or graduate standing. |

18-756PP | Packet Switching and Computer Networks |
Prerequisites: 18-345 and senior or graduate standing. |

18-756R | Packet Switching and Computer Networks |
Prerequisites: 18-345 and senior or graduate standing. |

18-757 | Network Management and Control |
Prerequisites: A course in probability; 18-756 and senior or graduate standing. |

18-757PP | Network Management and Control |
Prerequisites: A course in probability; 18-756 and senior or graduate standing. |

18-758 | Wireless Communications |
Prerequisites: 36-217 or 36-225 |

18-759 | Wireless Networks |
Prerequisites: (15441 or 18-345) and (18-391) |

18-759RW | Wireless Networks |
Prerequisites: (15441 or 18-345) and (18-391) |

18-760 | VLSI CAD: Logic to Layout |
Prerequisites: 15-214 and 18-240 and 18-320 |

18-762 | Circuit Simulation: Theory and Practice |
Prerequisites: 18-320 and 21241 |

18-765 | Digital Systems Testing and Testable Design |
Prerequisites: 15-214 and 18-240 and (18-340 or 18-341) |

18-765PP | Digital Systems Testing and Testable Design |
Prerequisites: 15-214 and 18-240 and (18-340 or 18-341) |

18-771 | Linear Systems |
Prerequisites: 18-370 or 18-474 |

18-771PP | Linear Systems |
Prerequisite: 18-470 or 18-474, and graduate standing in CIT or MCS |

18-771RW | Linear Systems |
Prerequisites: 18-470 or 18-474 and Graduate standing in CIT or MCS |

18-771SV | Linear Systems |
Prerequisites: 18-370 or 18-474 |

18-776 | Non Linear Control |
Prerequisite: 18-771 |

18-777 | Complex Large-Scale Dynamic Systems |
Prerequisites: Senior or graduate standing |

18-781 | 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. |

18-781SV | 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. |

18-782PP | Machine Learning |
Anti-requisites: 10-701 and 15-781 and 18-697 |

18-785 | Data, Inference, and Applied Machine Learning |
Prerequisites: None |

18-785RW | Data, Inference, and Applied Machine Learning |
Prerequisites: None |

18-790 | Wavelets and Multiresolution Techniques |
Prerequisite: 18-491. Students are expected to have a good background in basic engineering mathematics, signal processing and linear algebra. |

18-791 | 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. |

18-792 | Advanced Digital Signal Processing |
Prerequisites: 18-491 and 36-217 |

18-793 | Image and Video Processing |
Prerequisites: 18-491 |

18-793SV | Image and Video Processing |
Prerequisites: 18-491 |

18-794 | Pattern Recognition Theory |
Prerequisites: 36-217, or equivalent introductory probability theory and random variables course and an introductory linear algebra course and senior or graduate standing. |

18-795 | Bioimage Informatics |
Prerequisites: 18-290 |

18-797 | Machine Learning for Signal Processing |
Prerequisites: Linear Algebra, Basic Probability Theory, Signal Processing and Machine Learning. |

18-797RW | Machine Learning for Signal Processing |
Prerequisites: Linear Algebra, Basic Probability Theory, Signal Processing and Machine Learning. |

18-797SV | Machine Learning for Signal Processing |
Prerequisites: Linear Algebra, Basic Probability Theory, Signal Processing and Machine Learning. |

18-799J | Special Topics in Signal Processing: Compressive sensing and sparse optimization |
Prerequisites: 36-217 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. |

18-817 | Applied Physics: Fundamentals of Semiconductors and Nanostructures |
Prerequisites: 09-511, 09-701, 09-702, 18-303, 18-310, 18-402, 27-770, 33-225, 33-234 or familiarity with the material or basic concepts covered in these courses and senior or graduate standing. |

18-842 | Distributed Systems |
Prerequisites: (15-605 or 14-642 or 18-348 or 18-349 or 15-513 or 18-600) and (18-345 or 18-756 or 14-740 or 15-641) and Graduate Standing |

18-842G | Distributed Systems |
Prerequisites: Graduate standing, (15-410 or 15-412 or 14-342 or 18-342 or 18-348 or 18-349) and (18-345 or 18-756 or 14-845) |

18-842PP | Distributed Systems |
Prerequisites: Graduate standing, (15-410 or 15-412 or 14-342 or 18-342 or 18-348 or 18-349) and (18-345 or 18-756 or 14-845) |

18-842T | Distributed Systems |
Prerequisites: Graduate standing and (15605 or 18-342 or 18-348 or 18-349) and (18-345 or 18-756 or 14740 or 15641). |

18-843 | Mobile and Pervasive Computing |
Prerequisites: 15-410 and senior or graduate standing. |

18-843SV | Mobile and Pervasive Computing |
Prerequisites: 15-410 and senior or graduate standing.Cross-Listed: 14-841 |

18-845 | Internet Services |
Prerequisites: 18-213 or 18-600 or 15213 or 15513 |

18-847B | Special Topics in Computer Systems: “Advanced Cloud Computing” |
Prerequisites: 15-213, 18-213 or 15-513 from CMU, with a grade of at least a B |

18-847C | Special Topics in Computer Systems: Parallel, Heterogeneous, and Emerging Architectures |
Prerequisites: 18-447 |

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

18-847G | Special Topics in Computer Systems: Computing for Engineers |
Prerequisites: 18-213 OR 15-213 OR 15-513 OR 18-600 |

18-847SH | Special Topics in Computer Systems: Wireless Software Systems Architecture |
Prerequisites: 18-600 or 18-349 or instructor’s permission. |

18-858R2 | Special Topics in Communication: Networking Lab |
Prerequisites: NoneCo-requisites: 04-641 or 14-740 or 18-756Corequisites: 04-641 or 14-740 or 18-756 |

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

18-879C | Special Topics in Systems and Controls: Optimal Control |
Prerequisites: 18-470 and 18-771 |

18-879SC | Special Topics in Systems and Controls: Optimal Control |
Prerequisites: 18-470 and 18-771 |

18-898F | Special Topics in Signal Processing: Intro to Data-science with Applications to Clinical Neural Data |
Prerequisites: 18-290, 36-217 or equivalent, senior or graduate standing preferred; discuss suitability of background with the instructor |

18-898G | Special Topics in Signal Processing: Sparsity, Structure, and Inference |
Prerequisites: Probability, linear algebra |

18-899 A1 | Special Topics in Signal Processing: Applied Time Series Analysis |
Prerequisites: Mathematics, statistics, probability, programming |

18-899 R1 | Special Topics in Signal Processing: Applied Time Series Analysis |
Prerequisites: Mathematics, statistics, probability, programming |

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

18-899K3 | Special Topics in Signal Processing: Data Analytics |
Prerequisites: Data and Inference and Applied Machine Learning Mini-Courses; Background in quantitative discipline (Engineering, Computer Science, Physics, Mathematics, Statistics); Programming. |

18-899K4 | Special Topics in Signal Processing: Big Data Science |
Prerequisites: Data and Inference and Applied Machine Learning Mini-Courses; Background in quantitative discipline (Engineering, Computer Science, Physics, Mathematics, Statistics); Programming. |

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

18-994 | Internship for Electrical and Computer Engineering Graduate Students |
Prerequisites: Graduate standing in ECE |

18-995 | Practicum in Electrical and Computer Engineering |
Prerequisite: Approval of Department Head |