Master's in Software Engineering
|Major Code: 8050||Degree Awarded: Master of Science|
|Age Restriction: N||Admission Status: graduate, main campus, Extended Studies|
|Delivery Mode/s: classroom only||Location/s: main campus, Spaceport|
|Admission Materials: 3 letters of recommendation, GRE|
The master of science in software engineering serves students who have earned a bachelor's degree in software engineering, computer science or a related discipline, as well as working software engineers who want to broaden their perspective while deepening their skills in software development. The program also accepts students who are already competent programmers wanting to prepare for careers in software engineering. Courses in this program are taught at a level that assumes that all students have a technical undergraduate degree and significant programming experience.
Applicants must have taken courses in differential and integral calculus, discrete mathematics, statistics and data structures and algorithms, as well as at least 12 credit hours of advanced coursework in undergraduate computer science. Admission may be granted with the stipulation that deficiencies are made up by taking necessary extra courses. GRE scores (General Test only) are required. Students with English language deficiencies are only permitted to enroll in a restricted set of academic courses.
The Master of Science in Software Engineering requires a minimum of 30 credit hours of approved graduate study. Students are encouraged to complete and successfully defend a thesis. Students who decide against writing a thesis must pass a final program examination. The curriculum includes four required courses:
SWE 5001 Software Engineering 1Credit Hours: 3The application of engineering rigor to all phases of the software development life cycle; requirements elicitation and analysis, software architecture, software design and construction, software integration and test, and software maintenance. Students work individually to develop a software system from an initial problem statement through release of the completed product.
SWE 5002 Software Engineering 2Credit Hours: 3The application of engineering rigor and team coordination to develop a software product. Provided with an initial problem statement, teams create and document their own disciplined procedures for each phase of the software development life cycle, then develop the software according to their own documented processes and finally provide in-depth critiques of the processes they followed.
SWE 5411 Software Testing 1Credit Hours: 3Explores functional (black box) methods for testing software systems, reporting problems effectively and planning testing projects. Students apply what they have learned throughout the course to a sample application that is commercially available or under development. The choice of sample application changes from term to term.
SWE 5621 Software Metrics and ModelingCredit Hours: 3Examines common software metrics, axiomatic foundations of measurement, validity of measurements and measurement dysfunction, and some statistical and modeling approaches to help students make their software measurements meaningful.
All students are required to pass Computer Science Seminar (
Each student selects elective courses to fulfill their credit hour requirements. One elective must be selected from courses that require significant programming and another must be a fundamental course in computer science. A list of courses fulfilling these requirements is available from the department.
The department excels in several specializations of software engineering and students are encouraged to concentrate in one of these areas by careful selection of elective courses.
Software testing is the process of technical investigation of a software product, usually to discover quality-related information (such as defects or product state data) about the product. This subfield of software engineering is undergoing rapid change, demanding more technical knowledge and more insight into the product and its risks. Florida Tech offers unusual breadth and depth of coursework and research opportunities in software testing. A specialization in software testing is best suited for those who have already worked in the field and want to become leaders in the testing community, perhaps as consultants, test automation architects or managers. Software engineering students who do not have significant experience should plan to take at least one, and preferably two, internships.
The specialization in software testing requires completion of both Human-Computer Interaction (
Additionally, the student must either complete a thesis on a software-testing-related topic or must take two optional courses that address software test related issues.