Hide Advanced Options
Courses - Fall 2024
ENPM
Engineering, Professional Masters Department Site
Open Seats as of
10/10/2024 at 10:30 PM
ENPM606
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Comfortable with basic math concepts (sums, variables), discrete math, and some programming experience (i.e. have taken an introductory programming course or equivalent, in any language, but preferably Python).
Credit only granted for: ENPM808W or ENPM606.
Formerly: ENPM808W .
The purpose of this course is to teach some of the best and most general approaches to get the most out of data through clustering, classification, and regression techniques. Students will gain experience analyzing several kinds of data, including document collections, financial data, scientific data, and natural images.
ENPM611
Software Engineering
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Competency in one programming language; and must have completed an undergraduate software engineering course.
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.
ENPM613
(Perm Req)
Software Design & Implementation
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM611.
Restriction: Permission of Maryland Applied Graduate Engineering.
Covers the software design process, from understanding the need or problem, to creating suitable architecture and detailed design solutions, to preserving and evolving the design during implementation and maintenance. The main study topics include: requirements analysis models; user centered design; architecture design through decomposition and composition; architecture styles and architecture tactics for supporting various quality attributes such as security and usability; design for reuse and with reuse; detailed design object-oriented principles (such as SOLID) and design patterns; approaches for evaluating, comparing, and selecting design solutions; standard notations for documenting architecture views, detailed design, and analysis models; and industry standards for creating design deliverables. Students will acquire not only technical knowledge, but also soft skills such as communication, collaborations, critical thinking, leadership, negotiation, and time management.
ENPM615
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Must have completed undergraduate courses in logic design, computer architecture, and programming.
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.
ENPM621
Heat Pump and Refrigeration Systems Design Analysis
Credits: 3
Grad Meth: Reg, Aud
Thermal engineering of heat pump and refrigeration systems and thermal systems modeling. Thermodynamics and heat transfer. Cycle analysis, alternative refrigerants, graphical analysis using property charts. Analysis of applications such as space conditioning, food perservation, manufacturing, heat recovery and cogeneration.
ENPM622
Energy Conversion I - Stationary Power
Credits: 3
Grad Meth: Reg, Aud
Thermal engineering of modern power generation systems. Cycle analysis of various modern power generation technologies including gas turbine, combined cycle, waste burning and cogeneration. Energy storage and energy transport.
ENPM625
Heating, Ventilation and Air Conditioning of Buildings
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Undergraduate thermodynamics, fluid mechanics and heat transfer.
Fundamentals of heating, ventilation and air conditioning analysis and design. Thermodynamics, heat transfer and fluid mechanics principles applied to field problems. Quantitative analyses stressed. Topics include psychometrics, thermal loads, incompressible flow in ducts and pipes, heat exchangers, cooling towers, and refrigeration.
ENPM633
Introduction to Machine Learning
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM808A, ENME808E or ENPM633.
Basic algorithms and techniques in machine learning and their practical implementation.
ENPM634
Penetration Testing
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: ENPM809Q or ENPM634.
Formerly: ENPM809Q.
This course will give students a hands-on deep dive into penetration testing tools and methodologies. Starting with reconnaissance, open source intelligence, and vulnerability scanning we will move on to exploiting both clients and servers, moving laterally through a network while evading security measures.
ENPM640
Rehabilitation Robotics
Credits: 3
Grad Meth: Reg, Aud
Recommended: Basic understanding of linear time-invariant control systems (e.g. ENPM667) is preferred but not required. No background or previous experience in assistive robotics, human biomechanics, and/or neuroscience is required.
Credit only granted for: ENPM808J, ENPM640, or ENME444.
Formerly: ENPM808J.
An introduction to a field of robotics dedicated to improving the lives of people with disabilities. The course is designed for students wishing to learn more about rehabilitation robotics, one of the fasting growing fields of robotics. Rehabilitation robotics is the application of robots to overcome disabilities resulting from neurologic injuries and physical trauma, and improve quality of life. This course considers not only engineering design and development, but also the human factors that make some innovative technologies successful and others commercial failures. Engineering innovation by itself, without considering other factors such as evidence-based R&D and product acceptance, may mean that some technologies don't become or remain available or are inefficacious to aid their intended beneficiaries. This course differs from medical robotics in its focus on improving the quality of life through robot-mediated rehabilitation treatments, rather than improving or enhancing applications such as surgical interventions.
ENPM645
Human-Robot Interaction
Credits: 3
Grad Meth: Reg, Aud
Recommended: Some knowledge of A.I. fundamentals and data analytics recommended, but not required.
Credit only granted for: ENPM808K or ENPM645.
Formerly: ENPM808K.
To define the intersection of human-robot interactions to include human-computer interfaces, as well as robotic emotions and facial expressions emulations. The result will provide a basis for students to assess the best approaches for interacting effectively with robots. Areas to be covered include biologically-inspired robotics, cognitive robotics, cultural and social aspects of robotics, data mining, examples of human systems interfaces, and machine learning with respect to A.I. principles and limitations.
ENPM655
AI-Based Software Systems
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM808O or ENPM655.
Formerly: ENPM808O.
The goal of this new course is to address the important problem of specifying, developing, and testing software systems that are based on artificial intelligence (AI) components.
ENPM660
Wind Energy Engineering
Credits: 3
Grad Meth: Reg, Aud
An examination of four central topics in wind energy engineering: the nature of wind energy as a resource for generating electricity; the aerodynamics of wind turbines by which the wind energy is converted into mechanical energy; the mechanics and dynamics of the wind energy system (tower, rotor, hub, drive train, and generator); and the electrical aspects of wind turbines. Additional topics to be included in the course include:Wind turbine design; wind turbine control; wind turbine siting, system design, and integration; Wind energy system economics; and wind energy systems environmental impacts and aspects. The course is intended to pass along substantial subject matter knowledge and skills, it can only be treated as an introduction to this extensive, multidisciplinary topic. However, students are expected to emerge with a substantial knowledge of wind energy systems and the methods used to analyze such systems.
ENPM662
Introduction to Robot Modeling
Credits: 3
Grad Meth: Reg, Aud
Recommended: Students should have intermediate programming skills (Python) and basic algebra knowledge for this course.
This course introduces basic principles for modeling a robot. Most of the course is focused on modeling manipulators based on serial mechanisms. The course begins with a description of the homogenous transformation and rigid motions. It then introduces concepts related to kinematics, inverse kinematics, and Jacobians. This course then introduces Eulerian and Lagrangian Dynamics. Finally, the course concludes by introducing basic principles for modeling manipulators based on parallel mechanisms. The concepts introduced in this course are subsequently utilized in control and planning courses.
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.
ENPM667
Control of Robotic Systems
Credits: 3
Grad Meth: Reg, Aud
This is a basic course on the design of controllers for robotic systems. The course starts with mainstay principles of linear control, including a review of elementary concepts of systems, and discusses applications to independent joint control. The second part of the course introduces a physics-based approach to control design that uses energy and optimization principles to tackle the design of controllers that exploit the underlying dynamics of robotic systems. The course ends with an introduction to force control and basic principles of geometric control if time allows.
ENPM672
(Perm Req)
Fundamentals for Thermal Systems
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Undergraduate engineering, physics or chemistry degree.
Restriction: Permission of Maryland Applied Graduate Engineering.
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.
ENPM680
Introduction to Secure Coding for Software Engineering
Credits: 3
Grad Meth: Reg, Aud
Credit only granted for: ENPM809W or ENPM680.
Formerly: ENPM809W.
Covers core concepts and techniques to analyze and characterize such security bugs, and potential ways to mitigate them. Concepts will be introduced and discussed within the context of an adversary intent on altering or subverting the behavior of the software with security impacts.
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.
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.
ENPM687
Digital Forensics and Incidence Responses
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Experience with both Windows and Unix-based operating systems, including using the command line.
Students will implement a robust incident response methodology, including proper forensic handling of evidence, and cover legal aspects of national and international law regarding forensics. The bulk of the course covers evidence acquisition, preservation, analysis and reporting on multiple platforms.
ENPM691
(Perm Req)
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.
ENPM694
Networks and Protocols
Credits: 3
Grad Meth: Reg, Aud
Provides an in-depth review of the Internet with a focus on the end-to-end effects of technologies and protocols that operate in different layers. All protocols and technologies are covered in a holistic framework with an emphasis on their effect on the network and application performance. The course also includes a brief introduction of more modern concepts in the field of networking such as SDN and NFV to encourage deeper study of those topics.
ENPM695
(Perm Req)
Secure Operating Systems
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM691 and CMSC106; or permission of instructor.
Restriction: Permission of Maryland Applied Graduate Engineering.
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.
ENPM696
Reverse Software Engineering
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENEE150 or equivalent.
Recommended: Proficiency with using a *nix command line in a shell of their choice, e.g., Bash, Zsh, csh. Ability to create and manage virtual machines running intel-based Linux and Windows distributions.
An in-depth understanding of software reverse engineering concepts and hands-on training with reverse engineering tools, including disassemblers, decompilers, and code analyzers. Students will become familiar with both low-level software and the x86 instruction set through binary reversing sessions. This course also provides insights into many subjects such as system security, source code analysis, software design, and program understanding that will be beneficial in a variety of fields.
ENPM700
(Perm Req)
Software Development for Robotics
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: ENPM702.
Restriction: Permission of Maryland Applied Graduate Engineering.
Credit only granted for: ENPM808X or ENPM700.
Formerly: ENPM808X.
Teaches the tools and processes to develop professional quality software for deployed systems and products. Students will learn the best practices of taking new ideas or prototypes, and understanding what it takes to build the complex software that is so important to today's commercialized robotic systems.
ENPM702
Introductory Robot Programming
Credits: 3
Grad Meth: Reg, Aud
Restriction: Permission of Maryland Applied Graduate Engineering.
Credit only granted for: ENPM809Y or ENPM702.
Formerly: ENPM809Y .
This hands-on course will introduce students to the C++ programming language and is specifically designed for students who have had little to no programming experience in their previous studies.
ENPM703
Fundamentals of AI and Deep Learning
Credits: 3
Grad Meth: Reg, Aud
Prerequisite: Linear algebra; Fundamentals of programming; Fundamentals of statistics.
Credit only granted for: ENPM809K or ENPM703.
Formerly: ENPM809K.
Fundamentals of machine learning techniques with a deep dive into cutting edge concepts that enabled neural networks to achieve state of the art performance in many visual, textual, and biomedical problems. Fundamental concepts like forward networks, convolution networks, recurrent neural networks, back propagation, loss functions, batch gradient descent, and stochastic optimization will be studied.
ENPM808
(Perm Req)
Advanced Topics in Engineering
Credits: 1 - 3
Grad Meth: Reg, Aud
ENPM808J
Advanced Topics in Engineering; Design of Experiments
Credits: 3
Grad Meth: Reg, Aud
The course objective is to learn how to plan, design and conduct experiments efficiently and effectively, and analyze the resulting data to obtain objective conclusions. Both design and statistical analysis issues are discussed.
ENPM809F
Special Topics in Engineering; Internet of Things
Credits: 3
Grad Meth: Reg, Aud
This course covers the fundamental aspects of Internet of Things (IoT) including IoTarchitecture, network protocols, data management and access technologies, IoT security threats and technologies.
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.
ENPM818M
Variable Topics in Engineering; Introduction to Networking and Distributed Systems 5G/6G
Credits: 3
Grad Meth: Reg, Aud
Course includes basics of TCP/IP Stack, Applications Layers, Data Flow Layers, Data Encapsulation, Protocol Stack, Basic Network Terminology, Network Topology, ARP, BOOTP, DHCP, Local Area Network, Network Components, IPv4, ICMP, Transport Layer Protocols, Application Layer Protocols, Client/Server Models, Subnet/NAT, Routing, Switching, Basics of Distributed Systems, Wireless Protocols, 5G/6G, Edge, Cloud, Energy Consumptions. Course format includes lectures, homework, Quizzed, Two midterms, final project and exam. Course carries a perfect blend of theory and programming practices to prepare students for core network development and/or network architecture.
ENPM818N
Variable Topics in Engineering; Cloud Computing
Credits: 3
Grad Meth: Reg, Aud
This course provides an in-depth exploration of cloud 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.
ENPM818P
Variable Topics in Engineering; Linux System Administration
Credits: 3
Grad Meth: Reg, Aud
This course will provide an hand-ons experience with the installation, configuration and administration of Linux operating systems. Linux topics will include operating system architecture and components, task scheduling, memory and process management, device drivers, partitioning and file systems, boot processes, command line, customizing the environment,shell scripting, networking, and securing the system. The hands-on portion of the class will be an opportunity for the students to create and manage virtual machines, install Linux in virtual machines,work with the command line and various Linux tools to customize, administer and secure linux-based systems. The lab sessions will also cover launching Linux cloud instances as well. To summarize, students will acquire the technical knowledge to install, customize, manage and secure a system running a Linux Operating System
ENPM818R
Variable Topics in Engineering; Virtualization and Container Technologies
Credits: 3
Grad Meth: Reg, Aud
This course on virtualization and container technologies will cover a range of topics related to these two fundamental concepts in the field of IT and software development. This comprehensive course is designed to provide participants with an in-depth understanding of virtualization and container technologies, empowering them to architect and optimize modern IT infrastructures.