Overview
Software Engineering is a discipline that offers tools, processes, methods, and techniques to develop and maintain quality software. Software engineering can very well be considered the practical application of computer systems knowledge in the design and development of software, and the required associated documentation, operation, and maintenance. The computer industry is in desperate need of technically qualified people in software engineering. The Master of Science in Software Engineering is designed to prepare graduates to be pioneers and leaders in software engineering. They are trained to be practitioners in the essential areas of software architecture, computer system engineering, computer-based media, common object-oriented engineering, database design, and software development and project management.
The Master of Science in Software Engineering program provides professional education in both system and software development using state-of-the-art design and development methods in compliance with standards set by IEEE, Department of Defense, and the Software Engineering Institute at Carnegie Mellon University. This program is designed to provide students with the management and technology skills in the discipline of software engineering. Graduates are prepared for positions in software project management, software development, database management systems (DBMS), and software quality assurance.
Program Learning Outcomes
· Students shall demonstrate an understanding of a software project's concept of operation
· Students shall demonstrate the knowledge and practice of the methodologies for managing software products
· Students shall understand and demonstrate the principles of requirements management and analysis modeling
· Students shall understand the principles of database design, analysis, and the development of database management systems
· Students shall demonstrate an understanding of the principles of software architecture design
· Students shall demonstrate the ability to utilize the methodologies of hardware, software integration, and networking for project management.
· Students shall properly apply hardware and software enhancements in a Web-based environment.
· Students shall design and demonstrate a prototype database system using object-oriented design and modeling techniques.
· Students shall demonstrate the principles of software development life cycle.
Requirements
Degree Requirements
(17 Courses, 76.5 Quarter Units)
To receive a Master of Science in Software Engineering, students must complete at least 54 quarter units of graduate work. A total of 13.5 quarter units of graduate credit may be granted for equivalent graduate work completed at another institution, as it applies to this degree, and provided the units were not used in earning another advanced degree. Students should refer to the section in the graduate admission requirements for specific information regarding application and matriculation.
Program Prerequisites
(5 courses, 22.5 quarter units)
Candidates for the program must possess a Bachelor of Science with a Major in Computer Science. Students holding non-computer baccalaureate degrees can qualify for admission to the program by choosing any one or a combination of the following options.
Gain permission of the lead faculty of the MSSE program based on an interview and supported by verifiable documented proof of proficiency in each specific area of the prerequisite courses. The five prerequisite courses prepare students in the areas of programming, database design, and operating systems.
or
Complete all prerequisite courses
CSC 242 Introduction to Programming Concepts and Methods
(Prerequisite: CSC 200, CSC 208)
CSC 252 Programming in C++
(Prerequisite: CSC 242)
CSC 300 Object Oriented Design and Analysis
(Prerequisite: CSC 252)
CSC 335 Data Structures and Algorithms
(Prerequisite: CSC 300, CSC 331)
CSC 422 Principles of Database Design
(Prerequisite: CSC 300)
Program Requirements
(12 courses, 54 quarter units)
Students enrolled or seeking admission to the program can start any course with the exception of SEN 660, SEN 686A, and SEN 686B; however, it is recommended that they take the courses in the order specified below.
SEN 620 Principles of Software Engineering
SEN 621 Software Tools and Processes
SEN 625 Basic Software Architecture
SEN 630 Applied Software Architecture
SEN 650 Human Computer Interface
SEN 651 User Interfaces and Software Engineering
SEN 645 Designing Database Applications
SEN 655 Application Software Development
SEN 635 Software Testing Strategies and Metrics
SEN 660 Software Quality Engineering
SEN 686A Software Engineering Project I
(Prerequisite: SEN 660)
SEN 686B Software Engineering Project II
(Prerequisite: SEN 686A)