Hide Advanced Options
Courses - Spring 2019
ENPM
Engineering, Professional Masters Department Site
ENPM601
(Perm Req)
Analog and Digital Communication Systems
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM600; or students who have taken courses with comparable content may contact the department. And permission of ENGR-CDL-Office of Advanced Engineering Education.
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.
ENPM602
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENEE324; or students who have taken courses with comparable content may contact the department.
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.
ENPM610
Digital VLSI Design
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Must have completed undergraduate courses in solid state devices and digital/analog circuit design.
VLSI design with emphasis on CMOS technology. Logic functions using CMOS switches; MOSFET characteristics; BiCMOS, dynamic logic and domino logic structures; PLA's, FPLA's, and gate arrays; layout via MAGIC, use of VHDL, IRSIM, and Spice; design rules and verification techniques; packaging techniques; chip design options: standard cells, sea-of-gates, full custom; design capture and verification tools; design of CMOS datapaths, memory, and control; possible fabrication via MOSIS.
ENPM611
Software Engineering
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Competency in one programming language; and must have completed an undergraduate software engineering course. Or permission of instructor.
Restriction: Permission of ENGR-CDL-Office of Advanced Engineering Education.
Software engineering concepts, methods, and practices important to both the theorist and the practitioner will be covered. The entire range of responsibilities expected of a software engineer are 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.
ENPM612
(Perm Req)
System and Software Requirements
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM611.
Restriction: Permission of ENGR-CDL-Office of Advanced Engineering Education.
Focus will be placed 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.
ENPM614
(Perm Req)
Software Testing & Maintenence
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM611.
Restriction: Permission of ENGR-CDL-Office of Advanced Engineering Education.
Aspects of software development after coding is completed will be covered. 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 manintenance.
ENPM615
Embedded Systems
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Must have completed undergraduate courses in logic design, computer architecture, and programming.
Credit only granted for: ENPM 808C or ENPM 615.
Formerly: ENPM 808C.
Introduction to embedded systems design and evaluation: requirements, specification, architecture, hardware and software components, integration and performance evaluation. Topics include instruction sets, CPU, embedded computing platform, program design and analysis, operating systems, hardware accelators, multiprocessors, networks, and system analysis. Real-life embedded systems design examples will be used throughput the course to illustrate these concepts.
ENPM616
Wireless Communications: Concepts and Technologies
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM 616 or ENPM 808T.
Formerly: ENPM 808T.
Advanced topics in wireless communications for voice, data, and multimedia. Overview of current wireless systems and standards followed by characterizing the wireless channel, including path loss for different environments, random log-normal shadowing due to signal attenuation, and the flat and frequency-selective properties of multipath fading. Fundamental capacity limits of wireless channels and the characteristics of the capacity-achieving transmission strategies. Overview of wireless networks, including multiple and random access techniques, WLANs, cellular system design, and ad-hoc network design. Applications for these systems, including the evolution of cell phones and PDAs, smart homes and appliances, sensor networks, and automated highways and skyways.
ENPM620
(Perm Req)
Computer Aided Engineering Analysis
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Permission of ENGR-Office of Advanced Engineering Education.
Credit only granted for: ENPM620 or ENRE620/ENNU620.
Computer assisted approach to the solution of engineering problems. Review and extension of undergraduate material in applied mathematics including linear algebra, vector calculus, differential equations, and probability and statistics.
ENPM632
(Perm Req)
Advanced TCP/IP Networking
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM631; or permission of instructor. And permission of ENGR-CDL-Office of Advanced Engineering Education.
Introduction to the Socket Interface and network programming, advanced topics in IPv6, internet security, advanced topics in TCP performance, and congestion management, creating a simple web server, mobile IP, IP switching and MPLS, voice over IP and QoS, advanced use of Wireshark (statistics and graphs)
ENPM650
Solar Thermal Energy Systems
Credits: 3
Grad Meth: Reg, Aud
Covers a review of related fundamentals, including limitations imposed by thermodynamics, solar spectral characteristics, measurement, and analytical models to predict solar irradiance with respect to time, location and orientation. The course will then examine the characteristics of various components in solar thermal systems with particular emphasis on flat plate and concentrating collectors, fixed and tracking collector systems, heat exchangers and thermal storage to understand how they work and how their performance is influenced by their design. The course will then lead to an examination of systems and system performance, including system design, predicted energy savings and related economics. The course will introduce low temperature applications such as solar hot water, space heating and water distillation, as well as concentrating solar energy for solar thermo-chemical processes to produce hydrogen and solar power generation systems. A project of importance to the development of Solar Thermal Power Systems will be assigned.
ENPM651
Heat Transfer for Modern Application
Credits: 3
Grad Meth: Reg, Aud
The applications selected will vary widely: from cooling of electronics to prevention of fog and stalagmite formation in ice rinks. Multi-mode (i.e. simultaneous conduction, convection, radiation, mass transfer) problems will be emphasized. Lectures on basic principles, followed by assignments in which students formulate solutions and explain results.
ENPM656
Energy Conversion II -- Mobile Power
Credits: 3
Grad Meth: Reg, Aud
Presents the scientific and engineering basis for design, manufacture, and operation of thermal conversion technologies utilized for mobility power generation. The interface between fuel combustion chemistry and generated power are addressed. The practical aspects of design and operation of various alternatives for power are compared. The impact of choices with regard to power and fuel alternatives as well as air pollution potential are also considered.
ENPM661
Planning for Autonomous Robots
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM661 or ENPM808C.
Formerly: ENPM808C.
Planning is a fundamental capability needed to realize autonomous robots. Planning in the context of autonomous robots is carried out at multiple different levels. At the top level, task planning is performed to identify and sequence the tasks needed to meet mission requirements. At the next level, planning is performed to determine a sequence of motion goals that satisfy individual task goals and constraints. Finally, at the lowest level, trajectory planning is performed to determine actuator actions to realize the motion goals. Different algorithms are used to achieve planning at different levels. This graduate course will introduce planning techniques for realizing autonomous robots. In addition to covering traditional motion planning techniques, this course will emphasize the role of physics in the planning process. This course will also discuss how the planning component is integrated with control component. Mobile robots will be used as examples to illustrate the concepts during this course. However, techniques introduced in the course will be equally applicable to robot manipulators.
ENPM671
Advanced Mechanics of Materials
Credits: 3
Grad Meth: Reg, Aud
Formulate and quantitatively state the mechanical/physical responses of structural components and configurations subjected to loads, temperature, pre-strains etc. The two methods of anlysis employed are the mechanics of materials approach and the theory of elasticity approach. Analysis and design of components of structural/machine systems as experienced in aeronautical, civil, mechanical and nuclear engineering.
ENPM672
(Perm Req)
Fundamentals for Thermal Systems
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Undergraduate engineering, physics or chemistry degree.
Restriction: Permission of ENGR-Office of Advanced Engineering Education.
Included in this course is an introduction to thermodynamics, fluid mechanics and heat transfer. Emphasis is on gaining an understanding of the physical concepts through the solving of numerical problems associated with simple thermal fluid processes and cycles. Both ideal gases and multiphase fluids will be considered as the working fluids.
ENPM673
Perception for Autonomous Robots
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM673 or ENPM808T.
Formerly: ENPM808T.
Image Processing and Computer Vision techniques for Mobile Robots is taught. Three topics are covered: Image Processing (Image Enhancement, Filtering, Advanced Edge and Texture ), 3D Vision (3D Geometry from Multiple view geometry, Motion Processing and Stereo) and an Introduction to Image Segmentation and Object Recognition. Students are introduced to a number of existing software toolboxes from Vision and Robotics, and will implement a number of smaller projects in Matlab.
ENPM685
Security Tools for Information Security
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Familiarity with Linux and Windows operating systems, as well as TCP/IP and basic networking concepts.
Credit only granted for: ENPM808D or ENPM685.
Formerly: ENPM808D.
Students will perform host- and network-based security tasks relating to security, investigation, compliance verification and auditing using a wide selection of commonly used tools on both Windows and Linux platforms, with emphasis on open source tools.
ENPM686
Information Assurance
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM808E or ENPM686.
Formerly: ENPM808E.
The first half of lectures provides an overview of cybersecurity. One third of these lectures focuses on the fundamentals of cybersecurity like authentication, access control, and security models. The second third focuses on the practice of cybersecurity using Unix and Windows NT as case studies. The last third is dedicated to security in distributed systems including network security, and World Wide Web security. The second half of the lectures focuses on the information assurance process. First, information assets are enumerated and classified. Second, the main vulnerabilities and threats are identified. Third, a risk assessment is conducted by considering the probability and impact of the undesired events. Finally, a risk management plan is developed that includes countermeasures involving mitigating, eliminating, accepting, or transferring the risks, and considers prevention, detection, and response.
ENPM691
(Perm Req)
Hacking of C programs and Unix Binaries
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENEE150; or students who have taken courses with comparable content may contact the department.
Teaches the fundamentals of secure programming in C. An in depth discussion on various security vulnerabilities (e.g., buffer overflows) in C applications will be taught with hands-on demo of concepts during the class. Students will learn how a C program runs "under-the-hood". The course will teach nitty-gritty of C programs by analyzing at the assembly level. The course discusses best practices (e.g., coding standards) and design principles for secure programming so that security can be built-in during design time. In addition to assignments, students are required to present papers related to this course.
ENPM695
(Perm Req)
Secure Operating Systems
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM691 and CMSC106; or permission of instructor. And permission of ENGR-CDL-Office of Advanced Engineering Education.
Credit only granted for: ENPM695 or ENPM808B.
Formerly: ENPM808B.
Additional information: This course assumes knowledge of C programming and a previous operating systems class or knowledge in various issues such as process management, process synchronization, the critical section problem, CPU scheduling, memory management, secondary storage management.
Operating systems are the basic building block on which programmers build applications and on which security-minded professionals rely, whether they are monitoring activity on a computer, testing applications for security, or determining how malicious code affected their network. This course covers advanced topics in operating systems including process management and communication, remote procedure calls, memory management (including shared memory and virtual memory), checkpointing and recovery, file system, I/O subsystem and device management, distributed file systems and security. The course consists of reading and discussing research papers and includes a course project.
ENPM697
Secure Software Testing and Construction
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Permission of instructor; or (ENPM691 and CMSC106). And permission of ENGR-CDL-Office of Advanced Engineering Education.
Credit only granted for: ENPM808K or ENPM697.
Formerly: ENPM808K.
As software gets more complex, there is even more potential for vulnerabilities to remain in the production version. While traditional and emerging software testing methods are very good at detecting a large majority of "bugs" in the software, modifications to the methods are necessary to ensure vulnerabilities related to security are discovered and mitigated prior to release. In industry, there is also a cost-benefit analysis that determines the limits to pre-release testing, further enforcing the need to uniquely identify security vulnerabilities, potentially prioritizing their correction over other vulnerabilities. This course will cover methods of building security in from the beginning of development and testing the resulting software to ensure security vulnerabilities are detected. The course will use a mixture of textbook principles and research papers to cover the concepts. Students will also complete a course project.
ENPM808
(Perm Req)
Advanced Topics in Engineering
Credits: 1 - 3
Grad Meth: Reg, Aud
ENPM808A
Advanced Topics in Engineering; Advanced Thermal Power Plants
Credits: 3
Grad Meth: Reg, Aud
Must have completed undergraduate courses in thermodynamics, heat transfer, and fluid mechanics OR have completed ENPM672.
ENPM808E
Advanced Topics in Engineering; Managing Software Engineering Projects
Credits: 3
Grad Meth: Reg, Aud
ENPM808F
Advanced Topics in Engineering; Robot Learning
Credits: 3
Grad Meth: Reg, Aud
ENPM808G
Advanced Topics in Engineering; Additive Manufacturing for Aerospace, Energy and Water Applications
Credits: 3
Grad Meth: Reg, Aud
ENPM808P
Advanced Topics in Engineering; Manufacturing and Automation
Credits: 3
Grad Meth: Reg, Aud
ENPM808Q
Advanced Topics in Engineering; Energy Policy
Credits: 3
Grad Meth: Reg, Aud
ENPM808X
(Perm Req)
Advanced Topics in Engineering; Software Development for Robotics
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENEE150 or equivalent and proficiency in object-oriented programming (OOP).
ENPM809B
(Perm Req)
Special Topics in Engineering; Building a Manufacturing Robot Software System
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENEE150 or equivalent. Programming experience (C/C++) required.
ENPM809D
Special Topics in Engineering; Applied Engineering Optimization
Credits: 3
Grad Meth: Reg, Aud
ENPM809I
Special Topics in Engineering; Embedded System Hacking and Security
Credits: 3
Grad Meth: Reg, Aud
ENPM809K
Special Topics in Engineering; Fundamentals for Artificial Intelligence and Deep Learning Framework
Credits: 3
Grad Meth: Reg, Aud
ENPM809O
Special Topics in Engineering; River Engineering
Credits: 3
Grad Meth: Reg, Aud
ENPM809P
Special Topics in Engineering; FPGA-based Digital System Design
Credits: 3
Grad Meth: Reg, Aud
ENPM809X
Special Topics in Engineering; Data and Algorithms
Credits: 3
Grad Meth: Reg, Aud
ENPM809Y
(Perm Req)
Special Topics in Engineering; Introductory Robot Programming
Credits: 3
Grad Meth: Reg, Aud
ENPM809Z
Special Topics in Engineering; Sustainability and Innovation
Credits: 3
Grad Meth: Reg, Aud