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
Application Requirements
In addition to general admission requirements of the university, applicants must have earned a GPA of 3.00 or better on a 4.0 scale in the last 60 credits of their baccalaureate degree. Other requirements are as follows:
- A one-page statement of educational and career goals
- Current resume
- Internationally-educated students must submit their English Proficiency scores
Admissions Requirements
To succeed in graduate courses, applicant's baccalaureate degree must include the following subjects:
- Introductory programming in any programming 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
- 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:
- 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:
- Introductory programming
- GMU CS: CS 112 Introduction to Computer Programming (Mason Core)
- GMU IT: IT 106 Introduction to IT Problem Solving Using Computer Programming
- NVCC: CSC 201
- Object-oriented programming
- Data structures and algorithms
- Computer systems
- Discrete mathematics
- GMU Math: MATH 125 Discrete Mathematics I (Mason Core)
- NVCC: MATH 288
- Introductory programming
- Alternatively, students may take equivalent courses after their undergraduate program and before applying to the MSCS program, and submit appropriate transcripts. George Mason’s School of Computing offers the following bridge foundation courses, which students can use to bridge into the MS SWE program:
The bridge courses may be taken by students in provisional status, while enrolled in the Foundations of Computer (bridge) Certificate program, while in non-degree status, or while in another graduate program at Mason. Students who earn a B or better in all bridge courses they did not have in their undergraduate degree can then apply for full admission into the MS SWE program.
- Alternatively, students may attempt appropriate testout exams: Students can self-prepare and attempt testout exams for each of the four foundation requirements (OO programming, data structures, machine organization, and discrete math). 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 do not pass an exam must take an 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 join the Computing Foundations (bridge) Certificate program, and re-apply after completing the needed courses.
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: 12 credits of core courses, 9 credits of software engineering-related courses, and 9 credits of elective courses.
Advising
The department holds orientation meetings at the beginning of each semester 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 advising services to students. Initial and procedural inquiries can be submitted to csgrad@gmu.edu. Each student is assigned a faculty advisor with whom to confer on matters related to degree requirements.
Degree Requirements
Total credits: 30
Students must complete 30 approved graduate credits (10 courses), divided into core (required) courses, software engineering related courses, and constrained electives.
Core Courses
Code | Title | Credits |
---|---|---|
SWE 619 | Object-Oriented Software Specification and Construction | 3 |
SWE 621 | Software Design and Architecture | 3 |
SWE 632 | User Interface Design and Development | 3 |
SWE 637 | Software Testing | 3 |
Total Credits | 12 |
Software Engineering Related Courses
Code | Title | Credits |
---|---|---|
Students must take three courses from the following list: | 9 | |
Software Engineering | ||
Computer Science | ||
Compilers | ||
Database Systems | ||
Computer Communications and Networking | ||
Operating Systems | ||
Introduction to Artificial Intelligence | ||
Theory and Applications of Data Mining | ||
Distributed Systems 1 | ||
Advanced Natural Language Processing | ||
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 | ||
Applied Information Technology | ||
Advanced Human Computer Interaction (Applied Information Technology) | ||
Total Credits | 9 |
- 1
Credit will not be given for both SWE 622 and CS 675.
Research Option
With the consent of a faculty sponsor and program director, 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.
Code | Title | Credits |
---|---|---|
List of allowed electives: | 9 | |
All Software Engineering (SWE) courses at the 600-level or above. | ||
All Computer Science (CS) courses numbered 530 or above. | ||
All Information Security and Assurance (ISA) courses at the 500-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: | ||
Introduction to Analytics and Modeling | ||
Operations Research: Deterministic Optimization | ||
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 Credits | 9 |
Applied Computer Science, BS/Software Engineering, Accelerated MS
Overview
Highly-qualified students in the Applied Computer Science, BS can complete both a BS-ACS and a Software Engineering, MS in five years through the BS-MS accelerated (BAM) program.
General BAM policies are in the catalog under AP.6.7 Bachelor's/Accelerated Master's Degrees. Policies governing all graduate degrees are in the catalog under AP.6 Graduate Policies.
Admission Requirements
Students in the Applied Computer Science, BS program are encouraged to apply to the BAM program after earning 60 undergraduate credits with an overall GPA of at least 3.30. Students must also have successfully completed CS 310 Data Structures and CS 330 Formal Methods and Models.
Accelerated Option Requirements
Students accepted to the BAM program may earn up to 12 credits of graduate coursework that count towards both the BS and MS degrees. They may begin taking graduate courses after completing 75 undergraduate credits and successfully completing CS 367 Computer Systems and Programming.
The following graduate courses can replace the corresponding undergraduate courses.
Code | Title | Credits |
---|---|---|
CS 540 | Compilers (to replace CS 440) | 3 |
CS 550 | Database Systems (to replace CS 450) | 3 |
CS 551 | Computer Graphics (to replace CS 451) | 3 |
CS 555 | Computer Communications and Networking (to replace CS 455) | 3 |
CS 571 | Operating Systems (to replace CS 471) | 3 |
CS 580 | Introduction to Artificial Intelligence (to replace CS 480) | 3 |
CS 583 | Analysis of Algorithms (to replace CS 483) | 3 |
CS 584 | Theory and Applications of Data Mining (to replace CS 484) | 3 |
CS 587 | Introduction to Cryptography (to replace CS 487) | 3 |
SWE 619 | Object-Oriented Software Specification and Construction (to replace SWE 419) | 3 |
SWE 637 | Software Testing (to replace SWE 437) | 3 |
SWE 642 | Software Engineering for the World Wide Web (to replace SWE 432) | 3 |
Notes:
- Students may not use both the graduate course and the undergraduate alternative for their BS degree.
- Students must satisfy all recommended and required prerequisites for the graduate courses they take
- Students also have the option to take up to 6 additional credits of graduate coursework on reserve, which can be used for the MS degree only.
Degree Conferral
Students must apply for degree conferral the semester before they expect to complete their BS requirements. At the beginning of their final undergraduate semester, students must submit a completed Bachelor's-Accelerated Master's Transition form to the CS department office. The master’s degree will be conferred after the student completes the MS requirements.
Computer Science, BS/Software Engineering, Accelerated MS
Overview
Highly-qualified students in the Computer Science, BS program can complete both a BS-CS and a Software Engineering, MS in five years through the BS-MS accelerated (BAM) program.
General BAM policies are in the catalog under AP.6.7 Bachelor's/Accelerated Master's Degrees. Policies governing all graduate degrees are in the catalog under AP.6 Graduate Policies.
Admission Requirements
Students in the Computer Science, BS program are encouraged to apply to the BAM program after earning 60 undergraduate credits with an overall GPA of at least 3.30. Students must also have successfully completed CS 310 Data Structures and CS 330 Formal Methods and Models .
Accelerated Option Requirements
Students accepted to the BAM program may earn up to 12 credits of graduate coursework that count towards both the BS and MS degrees. They may begin taking graduate courses after completing 75 undergraduate credits and successfully completing CS 367 Computer Systems and Programming.
The following graduate courses can replace the corresponding undergraduate courses.
Code | Title | Credits |
---|---|---|
CS 540 | Compilers (to replace CS 440) | 3 |
CS 550 | Database Systems (to replace CS 450) | 3 |
CS 551 | Computer Graphics (to replace CS 451) | 3 |
CS 555 | Computer Communications and Networking (to replace CS 455) | 3 |
CS 571 | Operating Systems (to replace CS 471) | 3 |
CS 580 | Introduction to Artificial Intelligence (to replace CS 480) | 3 |
CS 583 | Analysis of Algorithms (to replace CS 483) | 3 |
CS 584 | Theory and Applications of Data Mining (to replace CS 484) | 3 |
CS 587 | Introduction to Cryptography (to replace CS 487) | 3 |
SWE 619 | Object-Oriented Software Specification and Construction (to replace SWE 419) | 3 |
SWE 637 | Software Testing (to replace SWE 437) | 3 |
SWE 642 | Software Engineering for the World Wide Web (to replace SWE 432) | 3 |
Notes:
- Students may not use both the graduate course and the undergraduate alternative for their BS degree.
- Students must satisfy all recommended and required prerequisites for the graduate courses they take.
- Students also have the option to take up to 6 additional credits of graduate coursework on reserve, which can be used for the MS degree only.
Degree Conferral
Students must apply for degree conferral the semester before they expect to complete their BS requirements. At the beginning of their final undergraduate semester, students must submit a completed Bachelor's-Accelerated Master's Transition form to the CS department office. The master’s degree will be conferred after the student completes the MS requirements.
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 60 undergraduate credits and take graduate level courses after completion of 75 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 a minimum of 3 credits (maximum 6 credits) overlapping from the following courses:
Code | Title | Credits |
---|---|---|
CS 550 | Database Systems (satisfies IT 414 requirement in the BS INFT program) | 3 |
SWE 619 | Object-Oriented Software Specification and Construction (satisfies as one DTP concentration course in the BS INFT 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 or IT 309 Data Structures and Algorithms in Python as part of their concentration requirements in the BS program.
Students must also satisfy all the CS foundation requirements prior to admission: https://cs.gmu.edu/current-students/ms-students/foundation-courses/.
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. At the completion of MS requirements, a master’s degree is conferred.
Computing Foundations Graduate Certificate/Software Engineering, MS Bridge Pathway
Overview
The field of computing refers to a variety of processes grounded in computational thinking. These processes include designing and constructing software systems to process information, to create communications and entertainment, and to identify information relevant to a particular purpose or problem. The emergence of new computing industries, the increased reliance on computation in all parts of society, and the demand for computing throughout a worldwide economy reflect computing's broad applications. As the field of computing has evolved, jobs in many fields now focus on the use of software.
The Computing Foundations Graduate Certificate provides a bridge to computing opportunities for students with undergraduate backgrounds in disciplines other than computer science-related areas of study. Students will learn how computers work and how software is designed, written, and deployed. Students will learn practical skills in developing software and be prepared to conceptualize, design, and implement software. Graduates will be able to analyze problems and design software to solve those problems, and develop effective and efficient software implementations.
Admission Requirements
Students must be admitted to the Computing Foundations Graduate Certificate and elect a bridge pathway option as part of their application. Students who do not choose a bridge pathway option, but later wish to continue in the Software Engineering, MS program, must submit a new Graduate Admission application in accordance with University deadlines.
Bridge Continuation Requirements
Students who elected the bridge pathway on their graduate admission application and have applied for graduation from the Computing Foundations Graduate Certificate with a 3.0 or better GPA will be invited to join the Software Engineering, MS program for the semester that immediately follows (Fall or Spring).
Any certificate courses that the student anticipates applying toward the Master's must be completed by the semester or term of graduation specified on their transition form for the bridge program, be graded B or better, and be aligned with the respective Master's degree program requirements.
Certificate electives designated for Software Engineering, MS Bridge students, SWE 619 Object-Oriented Software Specification and Construction and SWE 621 Software Design and Architecture may count toward Software Engineering, MS degree requirements.
Certificate Conferral
Certificate students who elected a bridge pathway on their graduate admission application, and who are successfully completing their final term of Computing Foundations Graduate Certificate courses, must apply to graduate from the Certificate and submit a transition form to the Computer Science department before the graduation application inactivation deadline. Failure to apply to graduate and submit a transition form to the department before the graduation application inactivation deadline may forfeit the bridge option and students may be required to submit a new Graduate Admission application for a future term if they wish to proceed with the Software Engineering, MS degree program.
Master’s Conferral
Students who have successfully completed all Software Engineering, MS degree requirements within university time limits (AP.6.9.2) will have their Master’s conferred after completing their application for graduation.