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
Spring 2020 Class time/details on ELMS Christopher Ackermann
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
Spring 2020 Tu 7:00pm - 9:40pm Mikael Lindvall
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
Spring 2020 Th 7:00pm - 9:40pm Mikael Lindvall , Anumeet Nepaul
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 ...
FPGA-based Digital System Design (3 Credits) | Elective
This course covers Field Programmable Gate Array (FPGA) architectures, HDL synthesis/ place and route, FPGA configuration, hardware validation; Modeling of VLSI circuits using HDL; Logic synthesis techniques for FPGA design flows; Design verification ...
Security and Software (3 Credits) | Elective
This course is about building secure software by designing software from the bottom-up to be secure, educating software developers, architects and users about positive security-conscious software development and usage practices. The ...