Requirements specific to the software engineering program include:
The Software Engineering program is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. Our faculty consist of world class researchers and practitioners who apply the latest Software Engineering principles on large projects at NASA, DARPA, Raytheon, and Lockheed Martin.
Students earning a Master of Engineering or Graduate Certificate in Engineering degree through our program will learn to develop and maintain affordable, reliable, and efficient software systems that align with customer needs. Courses focus on three technical areas—cybersecurity, computer engineering, and systems engineering—preparing students to help solve pressing real-world problems.
Software Engineering (3 Credits) | Core
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 ...
System and Software Requirements (3 Credits) | Core
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 ...
Software Design & Implementation (3 Credits) | Core
Software design concepts and practices within the field important to both the practitioner and the theorist will be covered. Architectural and detailed designs are included for batch, client/server, and real-time systems. Design considerations ...
Software Testing & Maintenence (3 Credits) | Core
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, ...
Reverse Software Engineering (3 Credits) | Core
This course provides 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 ...
Managing Software Engineering Projects (3 Credits) | Core
This course 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 ...
AI-based Software Systems (3 Credits) | Elective
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. Since such systems are often safety critical or must be dependable ...
Software Defined Networking (3 Credits) | Elective
Communications and Signal Processing
The course will teach the concepts and techniques for Software Defined Networking (SDN), including an overview of available controllers, switches, and tools. More specifically, the course will cover a review of basic networking concepts, motivation ...
Introduction to Secure Coding for Software Engineering (3 Credits) | Elective
Software pervades our everyday lives and is a critical part of many of the technologies in use by people globally. It is both complex and diverse in its applications including but not limited to a significant number of domains where technology ...