The MS in Software Engineering (MS-SWE) prepares students to become leaders in engineering high quality, large scale, computing solutions to real life problems. Software engineering spans all aspects of developing software, including requirements analysis, design, construction, testing, usability, security, maintenance, and economics. Software engineering spans all types of software, including mobile and web applications, software services, enterprise software, and large complex systems. We revise courses regularly to keep up with changes in software engineering.

The MS-SWE program emphasizes pragmatic problem solving that addresses reliability, usability, future growth, security, cost, and efficiency. Graduates go on to technical leadership positions such as engineering lead, software architect, director of engineering, and CTO, as well as managerial and executive positions. MS-SWE students come from a diversity of undergraduate backgrounds, including computer science, engineering, mathematics, sciences, and business. The DC area has one of the largest collections of software companies in the world and the workforce is constantly growing, making our graduates in very high demand. Many MS-SWE students work full-time at companies that are constantly hiring, making every class meeting a mini-job fair. All classes are scheduled in the late afternoon to accommodate part-time students.

Admissions

To succeed in graduate courses, students entering the MS program must have coursework or equivalent knowledge in the following five foundation areas: (1) introductory programming in any programming language; (2) knowledge of an object-oriented programming language such as Java, C++, or C#; (3) data structures and algorithms; (4) machine organization such as those given in computer system architecture or assembly language courses; (5) and topics in discrete mathematics, including sets, propositional and predicate logic,  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 demonstrated in one of several ways:

  1. Applicable undergraduate coursework: Such courses must appear on transcripts from the student’s undergraduate university, or another accredited university. Applicable courses from George Mason University and Northern Virginia Community College (NVCC) are given here:
    1. Foundation: OO programming
      • GMU CS: CS 211 Object-Oriented Programming
      • GMU IT: IT 106 Introduction to IT Problem Solving Using Computer Programming IT 106 Introduction to IT Problem Solving Using Computer Programming & IT 206 Object Oriented Techniques for IT Problem Solving
      • NVCC: CSC 201
    2. Foundation: Data structures
      • GMU CS: CS 310 Data Structures 
      • GMU IT: IT 306 Data Structures and Algorithms in Java
      • NVCC: None
    3. Foundation: Machine organization
      • GMU CS: CS 367 Computer Systems and Programming CS 367 Computer Systems and Programming or CS 465 Computer Systems Architecture CS 465 Computer Systems Architecture
      • GMU IT: IT 342 Operating Systems Fundamentals IT 342 Operating Systems Fundamentals
      • NVCC: None
    4. Foundation: Discrete math
  2. Preparatory coursework taken at GMU: The CS department offers the following bridge foundation courses: (1-2) SWE 510 Object-Oriented Programming in Java, (3) INFS 519 Program Design and Data Structures, (4) INFS 515 Computer Organization Course and Operating Systems, and (5) INFS 501 Discrete and Logical Structures for Information Systems INFS 501 Discrete and Logical Structures for Information Systems. These courses may be taken by students in non-degree or provisional status.
  3. Passing appropriate testout exams: Students can self-prepare and attempt testout exams for SWE 510 Object-Oriented Programming in Java, INFS 519 Program Design and Data Structures, INFS 515 Computer Organization Course and Operating Systems, and INFS 501 Discrete and Logical Structures for Information Systems. 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 who fail any one of the exams must take the equivalent course before enrolling in the core curriculum courses.

Eligible domestic students who lack one or more foundation may be admitted provisionally and required to take the appropriate preparatory course or pass the testout exam. Other students may be advised to learn the foundation material and re-apply.

Application Requirements

In addition to general admission requirements of the university, each applicant to the MS program must hold a four-year (120-credit minimum) 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.
  • International students must submit their English Proficiency scores.

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 Design and Architecture3
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

Research Option

With the consent of a faculty sponsor and faculty advisor, students may complete a 6-credit thesis as part of the electives.

Electives

Students may select the remaining courses from the following list. Students may select courses not on this list with prior approval from the faculty advisor.

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 have the opportunity to earn 3-6 credits in graduate coursework that count towards both the BS and MS degrees.

Students may register for 3-6 credits of the following CS 500-level courses in place of the corresponding CS 400-level courses required for the BS degree. 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. Students also have the option to take up to 6 additional credits of graduate coursework, which serves as reserve graduate credit to be counted towards the MS degree only.

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 have the opportunity to earn 3-6 credits in graduate coursework that count towards both the BS and MS degrees. Students may register for 3-6 credits of the following CS 500-level courses in place of the corresponding CS 400-level courses required for the BS degree.

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 elective requirements. Students also have the option to take up to 6 additional credits of graduate coursework, which serve as reserve graduate credit to be counted towards the MS degree only.

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 up to 6 overlapping credits chosen from 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 Data Structures and Algorithms in Java 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.