Hide Advanced Options
Courses - Spring 2027
ENPM
Engineering, Professional Masters Department Site
ENPM604
Machine Learning Techniques Applied to Cybersecurity
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM808R or ENPM604.
Formerly: ENPM808R.
Focuses on applying machine learning techniques to cybersecurity, and includes labs to be done independently, as well as an overview of the latest machine learning algorithms and their application to cyber. A brief overview of which techniques should be applied to particular cyber problems will be provided, and the course culminates in students researching the latest applications of Machine learning to cyber, allowing the students to each develop a niche of expertise in that specific subtopic. As such, the students should be increasingly employable in their area of cyber expertise by industries searching for solutions to their cyber problem space.
ENPM605
Python Applications for Robotics
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM809E or ENPM605.
Formerly: ENPM809E.
This hands-on course will look at the use of Python 3 with the Robot Operating System (ROS) in order to control a mobile robot in Gazebo simulated environments.
ENPM611
Software Engineering
Credits: 3
Grad Meth: Reg, Aud
Recommended: Competency in one programming language is required, Python preferred.
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 Maryland Applied Graduate Engineering.
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 & Maintenance
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM611.
Restriction: Permission of Maryland Applied Graduate Engineering.
The purpose of this course is to provide an overview of software testing and maintenance and how these activities fit into the Software Engineering Life-Cycle. Many examples used in the lectures are derived from analysis of various NASA systems. Topics include various forms of testing such as Functional Testing, Combinatorial Testing, Structural Testing, Model-Based Testing, Security-oriented testing as well as Software Architecture's role in testability & maintainability, Regression Testing, Automated Testing, Testing Coverage including MC/DC coverage and testing standards.
ENPM634
(Perm Req)
Penetration Testing
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM685.
Recommended: Familiarity with Linux and Windows operating systems, as well as TCP/IP and basic networking concepts recommended.
Restriction: Permission of Maryland Applied Graduate Engineering.
Credit only granted for: ENPM809Q or ENPM634.
Formerly: ENPM809Q.
This course offers a hands-on deep dive into advanced penetration testing and red teaming. Building on foundational security tools covered in the prerequisite course, students will learn to research and write custom exploits, move through networks post-exploitation, and practice operational security. The course also covers vulnerability disclosure and how to effectively communicate findings to both technical and executive audiences.
ENPM637
Managing Software Engineering Projects
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM808E or ENPM637.
Formerly: ENPM808E.
Addresses the breadth of managing software engineering projects. It will help in transforming inspiring software engineers to software project leaders. The course will impart advanced principles, methods and tools for management of software projects in a realistic software engineering context. A hybrid project management will be taught with more focused on Agile Project Management paradigms. The course will also impart a cutting-edge scalable, modular, and integrated patterns of the Scaled Agile Framework (SAFe) 4.0 for the software engineering program and portfolios management. In addition, the course will also instill DevOps best practices to build much more responsible organizations that can move quickly in ever-changing circumstances. Methods for managing and optimizing the software development process are discussed along with techniques for performing each phase of the systems development lifecycle.
ENPM661
Planning for Autonomous Robots
Credits: 3
Grad Meth: Reg, Aud
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.
ENPM664
(Perm Req)
Embedded System Hacking and Security
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Prior programming experience, familiarity with computer architectures and reading assembly.
Restriction: Must have permission of Maryland Applied Graduate Engineering.
Credit only granted for: ENPM809I or ENPM664.
Formerly: ENPM809I.
The purpose of this course is to reveal the tools, techniques and procedures (TTPs) employed by adversaries to exploit and subvert the security of embedded systems. This course will cover the core concepts and techniques to analyze and characterize the behavior of embedded systems and platforms. Concepts will be introduced and discussed within the context of an adversary intent on altering or subverting the behavior of such systems. The course does not expect students to have any prior embedded systems experience.
This course requires the purchase of a kit. Information will be provided by the department when permission is requested.
ENPM665
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM809J or ENPM665.
Formerly: ENPM809J.
Covers the fundamentals of securing cloud-based workloads from the ground up with many hands-on examples. Through these hands-on exercises the course will demonstrate where the similarities and differences are when securing the cloud compared to securing traditional IT.
ENPM670
Energy Audits for Decarbonization and Sustainability Enhancement
Credits: 3
Grad Meth: Reg, Aud
Recommended: Prior knowledge of undergraduate basic thermodynamics and heat transfer. Knowledge of electrical systems and controls is desirable.
Provides students with fundamentals and applications of energy audit, modeling, and management in building energy systems. It will cover key definitions, units, the supply/demand fundamentals for the various energy sources, the challenges of decarbonization (across several sectors), drivers of energy demand in the buildings sector (residential, commercial, manufacturing), energy audit procedures for various types of systems, economics/life-cycle costing and more. Students will gain experience conducting energy audits through real-world project(s), different modeling tools (e.g. System Advisor Models), and data sources necessary to conduct core analyses across sectors will be covered.
ENPM673
Perception for Autonomous Robots
Credits: 3
Grad Meth: Reg, Aud
Recommended: Familiarity with Python. Must have completed or be concurrently enrolled in ENPM661; and must have proficiency in a programming language.
Restriction: Permission of Maryland Applied Graduate Engineering (MAGE).
This course offers a foundation in computer vision. Students will learn techniques and algorithms that can be used to solve an abundance of perception problems. This course is dedicated to anyone interested in giving their autonomous system (e.g., robot, autonomous driving car, or simply a smart camera) means to understand their surrounding world. Throughout the projects of this course students will gain hands-on experience in solving real-life problems such as lane detection for autonomous driving, computing velocities of moving objects, and building a 3D model of an object using 2D images from cameras. Moreover, students will gain experience with state-of-the-art tools such as programming using OpenCV, Python and introduction to Machine Learning using PyTorch.
ENPM686
Information Assurance
Credits: 3
Grad Meth: Reg, Aud
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.
ENPM690
Credits: 3
Grad Meth: Reg, Aud
Recommended: Proficiency in at least one commonly used programming language (e.g., C++, Python, Java), CMSC422 (Intro to Machine Learning) or equivalent.
Credit only granted for: ENPM808F or ENPM690.
Formerly: ENPM808F.
Machine learning may be used to greatly expand the capabilities of robotic systems, and has been applied to a variety of robotic system functions including planning, control, and perception. Adaptation and learning are particularly important for development of autonomous robotic systems that must operate in dynamic or uncertain environments. Ultimately we would like for the robots to expand their knowledge and improve their own performance through learning while operating in the environment (on-line and/or lifelong learning). This graduate course will explore the application of machine learning techniques, paradigms, and control design to robotic systems, focusing primarily on key useful representations and model building techniques for application in non-stationary robotic systems.
ENPM691
Hacking of C programs and Unix Binaries
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENEE150 or equivalent.
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.
ENPM692
Manufacturing and Automation
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM808P or ENPM692.
Formerly: ENPM808P.
Covers automation and product realization, digital factories, and disruptive manufacturing technologies. The role of additive manufacturing, sustainability, and performance simulation in selected manufacturing scenarios will be explored alongside automation strategies for rapid product development.
ENPM693
Credits: 3
Grad Meth: Reg, Aud
Recommended: Networks & Protocols course or equivalent knowledge, and basic programming knowledge.
Credit only granted for: ENPM808N or ENPM693.
Formerly: ENPM808N.
Introduction to various approaches to design security protocols used in data 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.
ENPM701
(Perm Req)
Autonomous Robotics
Credits: 3
Grad Meth: Reg, Aud
Restriction: Permission of Maryland Applied Graduate Engineering.
Credit only granted for: ENPM809T or ENPM701.
Formerly: ENPM809T.
This is a hands-on course exploring the principles of robotic autonomy. Students will explore the theoretical, algorithmic, and implementation aspects of autonomous robotic modeling and controls, perception, localization and SLAM, planning, and decision making. These techniques will be applied through completion of a semester-long hands-on project employing the course material, ground-based mobile robots, and Python.
This course requires the purchase of a robotics kit.
ENPM808
(Perm Req)
Advanced Topics in Engineering
Credits: 1 - 3
Grad Meth: Reg, Aud
Independent study project on a topic relevant to their academic program, supervised by a University of Maryland, College Park faculty member. Requires application and approval.
ENPM808V
Advanced Topics in Engineering; Quality Management Systems and Lean Six Sigma
Credits: 3
Grad Meth: Reg, Aud
This course delves into Quality Management Systems and Lean Six Sigma, offering a comprehensive understanding of quality principles, CMMI QMS, and Six Sigma DMAIC methodology. Participants will learn to develop Six Sigma projects, perform statistical analysis, create control charts, and conduct root cause analysis. Additionally, students will master the use of statistical distributions and hypothesis testing for quality improvement, as well as regression analysis and acceptance testing. By the course's end, attendees will be well-equipped to drive quality enhancements and process optimization within their organizations.
ENPM809J
Special Topics in Engineering; Introduction to Power Systems Engineering
Credits: 3
Grad Meth: Reg, Aud, S-F
A power systems analysis course focused on providing the fundamental concepts and calculations necessary for non-electrical engineering students to pursue education in related areas (e.g., electric vehicle engineering).
ENPM809X
Special Topics in Engineering; Data and Algorithms
Credits: 3
Grad Meth: Reg, Aud, S-F
The course will teach the algorithms, heuristics, and code development skills in solving numerous sorting, graph theory, string processing, and job scheduling problems. It provides both a broad coverage of basic algorithms and data structures and in-depth coverage on selected topics. Moderate to heavy programming in C or Python is expected. Through this study the students will improve their problem-solving skills via various algorithm development examples and exercises.
ENPM818E
Variable Topics in Engineering; Software/Product Engineering 360: The Business of Engineering
Credits: 3
Grad Meth: Reg, Aud
This course will introduce the various software/product business functions that drive and generate revenue for the business such as product management, product marketing, go-to-market, customer success, finance, product design, product operations and analytics, legal, etc. For each business function, key responsibilities, purpose, concepts and tools and techniques will be covered and the theory will be amplified with case-studies, industry speakers and a group project.
ENPM818G
Variable Topics in Engineering; Embedded Systems Hardware
Credits: 3
Grad Meth: Reg, Aud
Basics of logic designs leading to design of processors, memory, communication ports as well as multiprocessor systems enriched with design examples. Topics include embedded system modeling, hardware description languages (Verilog), dedicated hardware designs, and single-core, multi-core, and accelerator processing elements. Real-life embedded systems hardware design examples will be used throughout the course to illustrate these concepts and to prepare students for a future career inembedded systems design.
ENPM818J
Variable Topics in Engineering; (Real Time) Operating Systems
Credits: 3
Grad Meth: Reg, Aud
This course covers the real time system operating systems and its main components. From understanding its applications in daily life, business, space, academia, etc. This course will carry some good examples for each section. Topics include RTOS Introduction, Process, Task and Threads, Scheduling, Concurrency, Memory Management, Virtual Memory, File Systems and I/O, Device Drivers, Virtual Machines, Basics of Dockers and CPU and Memory Benchmarking. Course will end with a final group project. Course format includes lectures, homework, Quizzes, Two midterms, final project and exam. Course carries a perfect blend of theory and programming practices to prepare students for core application development with Realtime OS. Students will acquire not only technical knowledge, but also soft skills such as collaborations, critical thinking, and time management.
ENPM818K
Variable Topics in Engineering; Embedded System and IoT Security
Credits: 3
Grad Meth: Reg, Aud
As the deployment of embedded systems, IoT devices, and intelligent edge technologies continues to expand, the scope for security breaches and potential attacks also increases. Whether it's a compact IoT thermostat in a home or a complex interconnected system, each connected device presents one or more potential vulnerabilities that malicious actors can exploit. With countless devices already connected and an even greater number on the horizon, ensuring the security of these devices and safeguarding the generated data becomes an absolute necessity. In this course, our primary focus is on studying the security of embedded systems and IoT. Throughout the course, we extensively address current security challenges and their corresponding solutions, spanning hardware, software, architectural, and network domains inherent to both embedded systems and IoT landscapes. The core principles of cryptography and its practical applications within interconnected embedded systems will be covered. Additionally, the course will conduct a thorough exploration of specific attack scenarios such as Spectre and Meltdown, gaining a comprehensive grasp of the contemporary strategies employed by modern embedded systems to mitigate these vulnerabilities. The overarching objective of this course is to provide students with a solid foundational understanding of security within the realm of embedded systems and the expansive scope of the IoT.
ENPM818N
Variable Topics in Engineering; Cloud Computing
Credits: 3
Grad Meth: Reg, Aud
This course provides an in-depth exploration of cloud computing concepts, technologies, and applications. Students will learn about the fundamentals of cloud computing, its architecture, deployment models, and various services offered by major cloud providers. Practical hands-on exercises and real-world case studies will enable students to apply their knowledge to develop and deploy applications in the cloud. Overall, students will gain a comprehensive understanding of cloud computing concepts, technologies, and best practices, enabling them to design, implement, and manage applications and services in cloud environments.
ENPM818O
(Perm Req)
Variable Topics in Engineering; Networks and Protocols for Cloud Engineering
Credits: 3
Grad Meth: Reg, Aud
Restriction: Permission of Maryland Applied Graduate Engineering.

This course lays the foundation for networking principles and protocols applicable for cloud engineers. Starting with an introduction to layered architecture of data networks and introduces the concept of protocols and services of TCP/IP networks. It then progresses to provide details of operation of each layer of the protocol stack. These include detailed discussion on error detection, reliable data transfer, Local Area Networks (LANs), multiple access protocols, routing algorithms, flow control and congestion control mechanisms. Students will also learn 5G wireless data networks and protocols as it pertains to cloud access, including Internet of Things (IoT) protocols, Software Defined Networking, Network Function Virtualization concepts, IP Multicast and Mobile IP. As part of the course work, the students will learn how to capture and analyze real world network traffic.
ENPM818T
(Perm Req)
Variable Topics in Engineering; Data Storage and Databases
Credits: 3
Grad Meth: Reg, Aud
Restriction: Permission of Maryland Applied Graduate Engineering.

This course provides an in-depth exploration of modern database technologies and data management practices essential for aspiring data professionals. Students will develop a comprehensive understanding of both traditional relational databases and emerging NoSQL systems and learn how to effectively model, design, and manage databases to meet diverse storage and access needs.
ENPM818V
Variable Topics in Engineering; 5G Advanced Communication Networks and Devices, System Designs and Protocols
Credits: 3
Grad Meth: Reg, Aud
This course provides an in-depth understanding of advanced technologies and design principles used in 5G mobile and IoT networks and devices based on 3GPP Standards. The course covers 4G/LTE and LTE-M, Narrow BandIoT (NB-IoT) and 5G New Radio (NR) and NR-Lite standards, as well as their advanced features for new vertical applications and evolution toupcoming 6G systems.