The MS in Software Engineering provides specialized knowledge and experience in developing and modifying large, complex software systems. It emphasizes technical and human aspects of software engineering development. Software engineering spans all aspects of developing software, including requirements analysis, design, construction, testing, maintenance, economics, and management. A pragmatic approach to problem solving is the hallmark of a software engineer. Software engineers are concerned with the theoretical and practical aspects of technology, cost, and social impact of software systems that are effective, efficient, and flexible.

Software engineers are in demand in every segment of society affected by computing technology. Potential employers include all software vendors and Internet-based companies, electronic business organizations, businesses that build and sell computers, research and development laboratories, aerospace companies, government contractors, banks, insurance companies, and manufacturing organizations. The MS-SWE program educates future leaders of technical aspects of building and modifying high-quality software systems.

Successful applicants have a broad variety of undergraduate backgrounds, including computer science, science and mathematics, engineering, liberal arts, and business. Many students are working or have worked in the software industry.

The program and courses are revised regularly to stay abreast of the latest developments in software engineering. All classes are scheduled in the late afternoon and early evening to accommodate employed students.

Admissions

Students entering the MS program must have coursework or equivalent knowledge in the following areas: introductory programming in any language; knowledge of an object-oriented programming language such as Java, C++, or C#; data structures and algorithms; machine organization (such as those given in computer system architecture or assembly language courses); and topics in discrete mathematics, including sets, relations, functions, trees, graphs, and inductive proofs.

The level of knowledge required in these areas is equivalent to that taught in undergraduate courses and may be achieved by taking the following foundation courses from Mason:

INFS 501Discrete and Logical Structures for Information Systems3
INFS 515Computer Organization Course and Operating Systems3
INFS 519Program Design and Data Structures3
SWE 510Object-Oriented Programming in Java3
Total Credits12

In addition, it is desirable, though not required, that entering students have at least one year of work experience in building or modifying software systems.

Prospective students are asked to complete a department self-evaluation form, indicating whether previously taken courses may satisfy these foundation requirements. On acceptance, students are advised of the necessary foundation courses to be satisfactorily completed to meet this requirement. Foundation courses do not earn credit toward the MS degree; however, they must be successfully completed with a grade of B or better before enrolling in the core curriculum.

Students may test out to indicate they have the requisite knowledge for those foundation courses. The exams are given before classes begin in January and August, and can only be taken once. Registration is not required; students need only be present at the date, time, and location specified and bring some form of photographic identification. Detailed information is available on the department web site. Students failing any one of the exams must take the equivalent course before enrolling in the core curriculum courses.

Application Requirements

In addition to general admission requirements of the university, each applicant to the MS program must hold a four-year (120-credit) baccalaureate degree in an appropriate discipline from an accredited institution and have earned a GPA of 3.00 or better in the last 60 credits of undergraduate study. Other requirements are as follows:

  • Provide a resume and a one- to two-page statement of educational and work experience in the computing field that includes a statement of career goals in software engineering.
  • Complete the self-evaluation section of the online application. This information is used by the admissions committee to assess an applicant's academic preparation for the MS program. Students with some deficiencies in preparation may be admitted provisionally pending completion of foundation courses required for the program. 
  • Submit the appropriate application with two letters of recommendation from people directly knowledgeable of the applicant's professional and academic competence.
  • The GRE is only required for those who have not earned a Bachelor's degree from a US Institution.
  • International students must submit their English Proficiency scores.

Acceptance into the MS program is based on an overall assessment of the applicant's ability to complete the program of study satisfactorily. Well-qualified students with minor deficiencies may be admitted to the program in provisional status, with specified course work to be completed within a specified time.

Policies

Program Requirements

In addition to the general requirements of the university, the MS in Software Engineering requires a minimum of 30 graduate credits. The coursework is divided into three categories: a breadth requirement of 12 credits of core courses, a depth requirement of 9 credits of emphasis courses, and 9 credits of elective courses.

Advising

The department holds orientation meetings each January and August to advise incoming and continuing students. Members of the faculty are present to answer questions and offer advice concerning programs of study. Detailed information is available on the department web site.

The department also provides an advising function to students, as outlined in the student advising form available from the department. Each student is assigned a faculty advisor with whom to confer on matters related to degree requirements. A plan of study form for the MS degree should be completed and submitted by the student soon after admission; this plan serves as a guide for the student.

Banner Code: VS-MS-SWE

Degree Requirements

Total credits: 30

Core Courses

SWE 619Object-Oriented Software Specification and Construction3
SWE 621Software Modeling and Architectural Design3
SWE 632User Interface Design and Development3
SWE 637Software Testing3
Total Credits12

Software Engineering Related Courses

Students must take three courses from the following list:9
Software Engineering
Computer Science
Language Processors
Database Systems 1
Computer Communications and Networking
Operating Systems
Distributed Systems 2
Information Security and Assurance
Information Security Theory and Practice
Security Policy
Operating Systems Security
Information Systems
Database Programming for the World Wide Web
Operations Research
Operations Research: Stochastic Models
Total Credits9
1

 Credit will not be given for both INFS 614 and CS 550.

2

 Credit will not be given for both SWE 622 and CS 675.

Electives

Students may select the remaining courses from the following list. Students may select courses not on this list with approval from the faculty advisor. Students, with the consent of a faculty sponsor and faculty advisor, may also complete a 6-credit thesis, which is primarily intended for students considering pursuing a PhD.

List of allowed electives:9
All Software Engineering (SWE) courses at the 600-level or above.
All Computer Science (CS) courses at the 500-level or above.
All Information Security and Assurance (ISA) courses at the 600-level or above.
All Information Systems (INFS) courses at the 600-level or above.
Any of the following Electrical and Computer Engineering courses:
Computer Network Architectures and Protocols
Real-Time Embedded Systems
Any of the following Operations Research courses:
Analytics and Decision Analysis
Operations Research: Deterministic Models
Operations Research: Stochastic Models
Any of the following Statistics courses:
Applied Probability
Applied Statistics I
Any of the following Systems Engineering courses:
Introduction to Air Traffic Control
Topics in Systems Engineering
Principles of Command, Control, Communications, Computing, and Intelligence (C4I)
Any of the following Psychology courses:
Cognitive Engineering: Cognitive Science Applied to Human Factors
Seminar in Human Factors and Applied Cognition
Total Credits9

Applied Computer Science, BS/Software Engineering, Accelerated MS

Overview

Highly-qualified students in the Applied Computer Science, BS have the option of obtaining an accelerated Software Engineering, MS. See AP.6.7 Bachelor's/Accelerated Master's Degrees.

Students in an accelerated degree program must fulfill all university requirements for the master's degree. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Applied Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30.  Students must have successfully completed:

CS 310Data Structures3
CS 330Formal Methods and Models3
CS 367Computer Systems and Programming4
Total Credits10

Accelerated Option Requirements

Students must complete all credits that satisfy requirements for the BS and MS programs, with 6 credits overlap.

Students register for two 500-level computer science core courses (6 credits) in place of the corresponding 400-level computer science courses, as part of the undergraduate degree requirements. Specifically, students must take:

CS 583Analysis of Algorithms3
Select one of the following:3
Language Processors
Database Systems
Computer Graphics
Computer Communications and Networking
Operating Systems
Introduction to Artificial Intelligence
Theory and Applications of Data Mining
Total Credits6

Note:

Students complete all Software Engineering, MS core courses and apply the two courses from the above list toward the elective requirements.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Computer Science, BS/Software Engineering, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Software Engineering, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data StructuresCS 330 Formal Methods and Models and CS 367 Computer Systems and Programming.

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap. Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for two of the following courses in place of the corresponding 400-level courses:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 583Analysis of Algorithms3
CS 584Theory and Applications of Data Mining3

Note:

Students complete all MS in Software Engineering core courses and apply the two courses from the above list toward the elective requirements.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Information Technology, BS/Software Engineering, Accelerated MS

Overview

Highly-qualified students in the Information Technology, BS have the option of obtaining an accelerated Software Engineering, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Information Technology, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Criteria for admission are identical to criteria for admission to the Software Engineering, MS Program.

Accelerated Option Requirements

Students must complete all credits that satisfy requirements for the BS and MS programs, with 6 credits overlapping with the following two courses:

CS 550Database Systems (satisfies IT 414 requirement in the BS program)3
SWE 619Object-Oriented Software Specification and Construction (satisfies as one DTP concentration course in the BS program)3

Note:

Students must complete MATH 125 Discrete Mathematics I (Mason Core) as their discrete math requirement and IT 306 Program Design and Data Structures as part of their concentration requirements in the BS program

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student’s final undergraduate semester, students must complete a Bachelor’s/Accelerated Master’s Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master’s degree is conferred.