2011-2012 University Catalog 
  
2011-2012 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.

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, SWE 510  Object-Oriented Programming in Java, INFS 515 Computer Organization, and INFS 519 Program Design and Data Structures.

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.
  • Submit a department self-evaluation form, which can be obtained from the department. This form provides summary information concerning background and preparation for the program.
  • Show proof of a satisfactory score on the GRE, if required. The test should have been taken within five years of applying for admission. The department policy is that the GRE is required unless the applicant has an undergraduate degree in science or engineering from a U.S. university and graduated with a GPA of 3.00 or better in the last 60 hours; a graduate degree in science or engineering from a U.S. university; or been admitted as a non-degree student and meets all the following requirements: an undergraduate degree from a U.S. university, an undergraduate GPA of 3.00 or better in the last 60 hours, and a B in all foundation courses taken at Mason or elsewhere.
  • Submit the appropriate application form with three letters of recommendation from people directly knowledgeable of the applicant’s professional and academic competence.

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, software assurance, software management, and web applications. 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)


Electrical and Computer Engineering (ECE)


Total: 30 credits