Software Engineering is a discipline concerned with the practical problems of developing large-scale software systems. Software engineers are the architects of the software component of a computer-based system, providing several levels of representations or blueprints leading to specifications through which programmers build the subsystems and modules of the system. Software development methodologies and management techniques combine with theories from mathematics and computer science in a cost-effective manner to solve real-world system development problems. This degree provides students with the theoretical foundations of software engineering, experience in team projects involving software development and management, hands-on experience with state-of-the-art tools, an understanding of advanced software development and management techniques, and exposure to the most recent developments and emerging technologies in SE. All students complete any necessary prerequisite courses plus 13 graduate courses. All students are required to participate in an extensive team software development project using cutting edge technologies and the Software Engineering Research Seminar to keep them abreast of this rapidly changing field. For this reason, they are not required to take a Core Knowledge Examination. However, to be admitted into the program, they need to have demonstrated through their prior coursework that they can consistently perform at a B level or higher. Students complete the requirements of one of the three concentrations: Project Management, Software Development, or Software Systems. The Project Management Concentration of the Master of Science in Software Engineering addresses the management of the quality of software products and processes and provides coursework in management and measurement techniques. The Software Development Concentration of the Master of Science in Software Engineering addresses the foundations, methodologies, and tools for developing high quality large-scale software systems, with an emphasis on the technical issues of software development. The Software Architecture Concentration of the Master of Science in Software Engineering addresses the management and design of large-scale or enterprise-level software systems solutions. Emphasis is on integrating and balancing the needs and expectations of all stakeholders in the system, including customers, developers, and end users. The Gaming and Entertainment Technologies Concentration of the Master of Science in Software Engineering addresses the foundations, methodologies, and tools for developing large-scale computer games and entertainment software systems. The emphasis is placed on the software architecture of such systems and their main components such as physics engines, artificial intelligence modules, and communication subsystems, etc. The Software Engineering program has two phases:
-
Prerequisite Phase
-
Graduate Phase
The Prerequisite Phase ensures that all students acquire the necessary background prior to enrolling in graduate courses. All or part of the Prerequisite Phase may be waived if a student has the equivalent academic background. In the Graduate Phase, students develop as software engineering professionals by completing required courses that provide a common body of knowledge for their concentration as well as advanced courses that complement and add depth to the common body of knowledge. All students also participate in an extensive team software development project and the Software Engineering Research Seminar. Individual needs are addressed through elective courses chosen in consultation with a faculty advisor.
|
|
|
|
|
|
|