Skip to Navigation
George Mason University
    George Mason University
   
 
 
 
2016-2017 University Catalog 
  
2016-2017 University Catalog

Software Engineering, MS


Banner Code: VS-MS-SWE

School: Volgenau School of Engineering  
Department: Computer Science  

This program provides specialized knowledge and experience in developing and modifying large, complex software systems. It emphasizes technical and management aspects of software engineering development. Software engineering is an established discipline based on requirements analysis, design, construction, testing, maintenance, economics, and management issues. 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 and efficient.

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 master’s program is concerned with technical and managerial issues, but primary emphasis is placed on the 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 is revised on a regular basis to stay abreast of the latest developments in information technology (IT). The program introduced a major revision for fall 2005; recent additions include software construction with the object-oriented Java programming language, requirements analysis with use cases and the Unified Modeling Language (UML), object-oriented software design with the UML, graphical user interface design, software engineering for the web, software project management using the spiral life cycle model and the Capability Maturity Model, software architecture, design patterns, system testing and testing of object-oriented components, and formal methods using the Object Constraint Language. All classes are scheduled in the late afternoon and early evening to accommodate employed students.

An accelerated master’s option is available to students in the information technology applied computer science  or computer science  bachelor’s program.  See each listing for specific requirements.

Foundation Requirements

Students entering the MS program must have course work 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 501 - Discrete and Logical Structures for Information Systems , INFS 515 - Computer Organization Course and Operating Systems , INFS 519 - Program Design and Data Structures , and SWE 510 - Object-Oriented Programming in Java .

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.

Admission 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 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 three 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.

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.

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.

Degree Requirements


In addition to the general requirements of the university, the MS in Software Engineering requires a minimum of 30 graduate credits. The course work 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.

Emphasis Courses (9 credits)


Students may choose an emphasis by taking three courses from one of the emphasis areas of software design, secure software engineering, software management, and web applications design and development. With permission from the advisor, a student may choose to not take an emphasis. The emphasis area courses are:

Elective Courses (9 credits)


Students may select the remaining courses from the list of approved elective courses, including other emphasis areas and courses from other MS programs in the department and the Volgenau School. Students may choose other graduate electives with the consent of their faculty advisor and the graduate coordinator.

Students, with the consent of a faculty sponsor and faculty advisor, may also elect courses in individualized study, special topics, or a 6-credit thesis, which is primarily intended for students planning to pursue a PhD in Information Technology with a concentration in Software Engineering. The course designations are:

Approved Electives


Below is the list of approved electives organized by academic program. Students should note that a maximum of two 500-level courses are allowed as electives. Courses not on this list may only be taken with explicit signed permission from the MS-SWE advisor.

Computer Science (CS)

Total: 30 credits