Master of Engineering in Electrical & Computer Engineering
Graduate Certificate in Engineering - Electrical & Computer Engineering
For more information contact:
Computer Engineering
Dr. Shuvra Bhattacharyya, Professor
Electrical & Computer Engineering
2311 A.V. Williams Building
301-405-3638
Email: ssb@umd.eduElectrical Engineering
Dr. Mehdi Kalantari Khandani, Associate Research Scientist
Electrical & Computer Engineering
3447 A.V. Williams Building
301-405-6622
Email: mehkalan@umd.edu
This option, offered by Electrical and Computer Engineering, recommends four courses from a major core area, three courses from a minor core area, and three technical electives. The major and minor core areas are selected by the student. You may also consult the graduate catalog.
Communication and Signal Processing Core
ENPM 600 Probability and Stochastic Processes for Engineers (3) Prerequisite: undergraduate introduction to discrete and continuous probability . Axioms of probability; conditional probability and Bayes' rule; random variables, probability distributions and densities; functions of random variables; definition of stochastic process; stationary processes, correlation functions, and power spectral densities; stochastic processes and linear systems; estimation and optimum filtering. Applications in communication and control systems, signal processing, and detection and estimation.
ENPM 601 Analog and Digital Communication Systems (3) Prerequisite: ENPM 600 or equivalent. Analog modulation methods including AM, DSBSC-AM, SSB, and QAM; effects of noise in analog modulation systems. Digital communication methods for the infinite bandwidth additive white Gaussian noise channel: PAM, QAM, PSK, FSK modulation; optimum receivers using the MAP principle; phase-locked loops; error probabilities. Digital communication over bandlimited channels: intersymbol interference and Nyquist's criterion, adaptive equalizers, symbol clock and carrier recovery systems, trellis coding. Spread spectrum systems: direct sequence modulation and frequency hopping.
ENPM 602 Data Networks (3) Prerequisite: ENEE 324 or equivalent. Principles of network design, circuit switching and packet switching, OSI Reference Model: parity and cyclic redundancy check codes; retransmission request protocols; Markov chains and queuing models for delay analysis; multiaccess communication, local area networks, Ethernet and Token Ring standards; routing, flow control, internetworking; higher layer functions and protocols. Software tools for network simulation and performance analysis will be used.
ENPM 603 Theory and Applications of Digital Signal Processing (3) Prerequisite: Undergraduate introduction to discrete-time systems. Uniform sampling and the sampling theorem; the Z-transform and discrete-time system analysis; multi-rate systems; discrete-time random processes; methods for designing FIR and IIR digital filters; effects of quantization and finite work-length; the DFT and FFT; power spectrum estimation.
ENPM 604 Wireless Communication Networks (3) Prerequisites: ENEE 420 and ENEE 426 or equivalent. Design and analysis of wireless communication systems. Aspects of radio propagation, signal strength, multipath propagation, fading, diversity reception, cell shapes. Modulation and coding for the mobile radio channel including FDMA, TDMA, and CDMA. Multiaccess issues including frequency allocation, channel reuse, and power control. System level issues including traffic engineering, blocking, network design and optimization, channel allocation control, handoffs, mobility management, registration and tracking, signaling and user location database management. Examples of existing analog and emerging digital cellular standards.
ENPM 605 Information Theory and Coding (3) The purpose of this course is to study communication systems from a mathematical viewpoint and within the framework set up by Claude Shannon in 1948. This is achieved by viewing the information being communicated and also the noise and other disturbances in a communication system as stochastic processes and phenomena. Information theory then shows, through a number of elegant coding theorems, the optimum performance that can be achieved with any communication system. Both problems of data compression and error correction coding will be studied. Part of the course will be devoted to practical coding techniques and a few applications.
ENPM 606 Linear Control Systems (3) Simulation and modeling, linear systems theory, specifications, structures and limitations, feedback system stability in terms of loop gain, classical design, and state feedback.
ENPM 607 Computer System Design and Architecture (3) Prerequisite: ENEE 446 (Introduction to Computer Architecture) or equivalent. Principles of computer design and cost/performance factors; instruction set design and implementation, RISC vs. CISC instruction sets; control unit and pipeline design; floating-point arithmetic; memory hierarchy designs, caches, memory interleaving, virtual memory; I/O device interconnections to CPUs and main memory. Additional topics include parallel system designs, SIMD, MIMD, SPMD; interconnection networks for processors and memories; optimization of pipeline operations; superscalar architectures, power management techniques.
ENPM 609 Microprocessor-Based Design (3) Prerequisite: ENEE 244 or equivalent and ENEE 350 or equivalent. Introduction to microprocessor components, software, and tools. Architectures, instruction sets, and assembly language programming for a commercial microprocessor family. Real-time programming techniques. Peripheral chips such as parallel ports, counter-timers, DMA controllers, interrupt controllers, and serial communication units. Design projects emphasizing integrated hardware and software solutions to engineering problems.
ENPM 610 Digital VLSI Design (3)Prerequisite: ENEE 244 or equivalent. An introduction to the design and performance limits of VLSI circuits. Topics include VLSI digital design issues, testing techniques, fabrication techniques, layout, device physics, performance limits, stray resistance and capacitance, and computer-aided design tools.
Technical Electives
ENPM 611 Software Engineering (3) Prerequisite: Competency in a programming language. This course covers software engineering concepts, methods, and practices important to both the theorist and the practitioner. The entire range of responsibilities expected of a software engineer is presented. The fundamental areas of requirements development, software design, programming languages, and testing are covered extensively. Sessions on supporting areas such as systems engineering, project management, and software estimation are also included.
ENPM 612 System & Software Requirements (3) Prerequisite: None. This course focuses on the theoretical and practical aspects of requirements development. Students will recognize the place of requirements, how to work with users, requirements methods and techniques, the various requirements types, how to set requirements development schedules, requirements evolution, how to model and prototype requirements, how to evaluate and manage risk in requirements, techniques to test requirements, how to manage the requirements process, and how to write an effective requirements document.
ENPM 613 Software Design & Implementation (3) Prerequisites: Competency in a programming language and ENPM 611 or ENPM 612.* This course covers software design concepts and practices within the field important to both the practitioner and the theorist. Architectural and detailed designs are included for batch, client/server, and real-time systems. Design considerations for structured, object-oriented, and Web-based systems are covered. Design of databases, user interfaces, forms, and reports are also included. Implementation issues that affect the design, including error handling, performance, and inter-process communication, are presented.
ENPM 614 Software Testing & Maintenance (3) Prerequisite: ENPM 612 or ENPM 613.* This course covers aspects of software development after coding is completed. Students will understand the various levels of testing, techniques for creating test data, how to manage test cases and scenarios, testing strategies and methods, testing batch, client/server, real-time, and Internet systems, and the development of an effective test plan. Software maintenance will include the creation of easily maintained software; preventive maintenance, corrective maintenance, and enhancements; configuration management practices; and assuring quality in software maintenance.
| *Students are allowed to take ENPM 611 AND 613 CONCURRENTLY |
| *Students are allowed to take ENPM 612 AND 614 CONCURRENTLY |
ENPM 808L Satellite Communication Systems (3) This course is intended as a graduate level course to study the architecture and design of the modern satellite communication system. The first part includes an overview of satellite communication systems and a review of communication theory. The second part of the course includes Earth station design, radio link analysis and regulatory requirements. The third part of the course will cover multiple access, focusing on the TDMA scheme. The last part of the course introduces satellite applications with a focus on IP over satellite. An overview of various VSAT and mobile satellite systems will also be included.
ENPM 808N Network Security (3) Prerequisite: An operating systems and/or network protocol course or equivalent. Introduction to various approaches to design; specify and verify security protocols used in large systems and networks; familiarization with some current technologies. Security threats and countermeasures, communication security and basic encryption techniques, authentication protocols, data confidentiality and integrity, analysis of cryptographic protocols, and access control in large systems and networks.
ENPM 808O Operating System Design (3) Prerequisite: ENEE 350 or equivalent
Programming experience in C, C++, or Java. The course will cover the major topics of process management (processes and thread, process scheduling, process synchronization and communication); memory management (main memory and virtual memory); storage management (file systems, I/O systems); and protection/security.
ENPM 808R VLSI Testing and Design for Testability (3) Prerequisite: ENEE 244 or equivalent. This course will cover VLSI Test Process and Equipment, Faults and Fault Medeling, Fault Simulation, Combinational Logic ATPG, Sequential Logic ATPG, Iddq Testing, Function Testing, Memory Testing, Delay Testing, Design for Testability, Built-In Self-Test (BIST), and Boundary Scan.
ENPM 808T Next Generation Wireless Communication Networks (3) This course will consider computer-communication system survivability as an overreaching requirement, along with the subtended needs for security and reliability. The course will focus on requirements and their interdependencies, vulnerabilities, threats, risks, system and network architectures, and techniques for ensuring dependable survivability in the face of a wide range of adversities including hardware malfunctions, malicious misuse, and unexpected events. Although there are no explicit course prerequisites, a good computer-science undergraduate background and some experience with computer systems and networks is essential.
ENPM 808V Introduction to Modern Radar Technology (3) This introductory course in modern technology provides working knowledge or relevant basic principles. Fundamental concepts applicable to all modern radars are addressed and explained. Fourier transforms are discussed briefly , but in sufficient detail for study and comprehension or current complex waveforms.
ENPM 808W Systems Engineering Aspects of Wireless Communications (3) This course provides students with basic engineering techniques and system concepts used in the analysis and design of cellular and PCS networks. It focuses on signal processing, radio network planning, and traffic engineering of these networks.
Other courses offered by Electrical and Computer Engineering in the areas of computer engineering, control systems, communications and signal processing, electrophysics, and microelectronics; or approved technical electives in other departments such as Mathematics and Computer Science.
Graduate Certificate in Engineering Courses
Communication and Signal Processing
ENPM 600, ENPM 601, and two of the following courses:
ENPM 602, ENPM 603, ENPM 604, ENPM 605, ENPM 606
Computer Engineering
ENPM 607, ENPM 609, ENPM 610, and one of the following courses:
ENPM 611, ENPM 612, ENPM 613, ENPM 614, ENPM 808N, ENPM 808O, ENPM 808R
ENPM 600 Probability and Stochastic Processes for Engineers (3) Prerequisite: undergraduate introduction to discrete and continuous probability. Axioms of probability; conditional probability and Bayes' rule; random variables, probability distributions and densities; functions of random variables; definition of stochastic process; stationary processes, correlation functions, and power spectral densities; stochastic processes and linear systems; estimation and optimum filtering. Applications in communication and control systems, signal processing, and detection and estimation.
ENPM 601 Analog and Digital Communication Systems (3) Prerequisite: ENPM 600 or equivalent. Analog modulation methods including AM, DSBSC-AM, SSB, and QAM; effects of noise in analog modulation systems. Digital communication methods for the infinite bandwidth additive white Gaussian noise channel: PAM, QAM, PSK, FSK modulation; optimum receivers using the MAP principle; phase-locked loops; error probabilities. Digital communication over bandlimited channels; intersymbol interference and Nyquist's criterion, adaptive equalizers, symbol, clock and carrier recovery systems, trellis coding,. Spread spectrum systems: direct sequence modulation and frequency hopping.
ENPM 602 Data Networks (3) Prerequisite: ENEE 324 or equivalent. Principles of network design, architecture, circuit and packet switching. OSI Reference Model focused on a top down approach to the Internet -- its protocols, standards, and services (domain name service, SMTP, congestion and flow control, routing, queuing). Multiple access protocols and techniques: error detection and correction. LAN architectures: Ethernet, IEEE 802.11. Mobility and nomadicity: DHCP, Mobile IP. Security communication protocols and techniques: Authentication, key distribution, Ipsec.
ENPM 603 Theory and Applications of Digital Signal Processing (3) Prerequisite: undergraduate introduction to discrete-time systems. Uniform sampling and the sampling theorem; the Z-transform and discrete-time system analysis; multi-rate systems; discrete-time random processes; methods for designing FIR and IIR digital filters; effects of quantization and finite-work length; the DFT and FFT; power spectrum estimation.
ENPM 604 Wireless Communication Networks (3) Prerequisites: ENEE 420 and ENEE 426 or equivalent. Design and analysis of wireless communication systems. Aspects of radio propagation, signal strength, multipath propagation, fading, diversity reception, cell shapes. Modulation and coding for the mobile radio channel including FDMA, TDMA, and CDMA. Multiaccess accesss issues including frequency allocation, channel reuse, and power control. System level issues including traffic engineering, blocking, network design and optimization, channel allocation control, handoffs, mobility management, registration and tracking, signaling and user location database management. Examples of existing analog and emerging digital cellular standards.
ENPM 605 Information Theory and Coding (3) The purpose of this course is to study communication systems from a mathematical viewpoint and within the framework set up by Claude Shannon in 1948. This is achieved be viewing the information being communicated and also the noise and other disturbances in a communication system as stochastic processes and phenomena. Information theory then shows, through a number of elegant coding theorems, the optimum performance that can be achieved with any communication system. Both problems of data compression and error correction coding will be studied. Part of the course will be devoted to practical coding techniques and a few applications.
ENPM 606 Linear Control Systems (3) Simulation and modeling, linear systems theory, specifications, structures and limitations, feedback system stability in terms of loop gain, classical design, and state feedback.
ENPM 607 Computer System Design and Architecture (3) Prerequisite: ENEE 446 (Introduction to Computer Architecture) or equivalent. Principles of computer design and cost/performance factors; instruction set design and implementation, RISC vs. CISC instruction sets; control unit and pipeline design; floating-point arithmetic; memory hierarchy designs, caches memory interleaving, virtual memory; I/O device interconnections to CPUs and main memory. Additional topics include parallel system designs, SIMD, MIMD, SPMD; interconnection networks for processors and memories; optimization of pipeline operations; superscalar architectures, power management techniques.
ENPM 609 Microprocessor-Based Design (3) Prerequisite: ENEE 244 or equivalent and ENEE 350 or equivalent. Introduction to microprocessor components, software, and tools. Architectures, instruction sets, and assembly language programming for a commercial microprocessor family. Real-time programming techniques. Peripheral chips such as parallel ports, counter-timers, DMA controllers, interrupt controllers, and serial communication units. Design projects emphasizing integrated hardware and software solutions to engineering problems.
ENPM 610 Digital VLSI Design (3) An introduction to the design and performance limits of VLSI circuits. Topics include VLSI design issues, testing techniques, fabrication techniques, layout, device physics, performance limits, stray resistance and capacitance, and computer-aided design tools.
ENPM 808N Network Security (3) Prequisite: An operating systems and/or network protocol course or equivalent. Introduction to various approaches to design; specify and verify security protocols used in large systems and networks; familiarization with some current technologies. Security threats and countermeasures, communication security and baic encryption techniques, authentication protocols, data confidentiality and integrity, analysis of cryptographic protocols, and access control in large systems and networks.
ENPM 808O Operating System Design (3) Prerequisite: ENEE 350 or equivalent
Programming experience in C, C++, or Java. The course will cover the major topics of process management (processes and thread, process scheduling, process synchronization and communication); memory management (main memory and virtual memory); storage management (file systems, I/O systems); and protection/security.
ENPM 808R VLSI Testing and Design for Testability (3) Prerequisite: ENEE 244 or equivalent. This course will cover VLSI Test Process and Equipment, Faults and Fault Medeling, Fault Simulation, Combinational Logic ATPG, Sequential Logic ATPG, Iddq Testing, Function Testing, Memory Testing, Delay Testing, Design for Testability, Built-In Self-Test (BIST), and Boundary Scan.
Other courses offered by the Electrical Engineering Department in the areas of computer engineering, control systems, communications and signal processing, electrophysics, and microelectronics; or approved technical electives in other departments such as Mathematics and Computer Science.

For more information contact: