About

Do you see yourself developing and designing computer software? Are you interested in managing large software projects? Are you interested in software analysis and testing?

Software engineering is an interdisciplinary field that combines the disciplines of computer science and engineering. The master of science in software engineering prepares students to specify, model, implement, and manage large software system projects using industry-standard practices. The program also focuses on meeting the career development needs of professionals practicing in fields related to software systems.

Individuals with a bachelor's degree in computer science, software engineering, electrical engineering, or a related field who want to expand their knowledge and experience in software development, software testing, software architecture, or software project management are excellent candidates for this master's degree program. The curriculum includes software engineering foundation, software construction, software architecture and design, software systems modeling and analysis, and software verification and validation.

ECU Advantage

ECU has the first MS degree in software engineering in North Carolina. It is offered both face-to-face and online, and has specializations suitable for new software engineers and for the practicing professional software developer. Classes are small. All students are required to complete a project or thesis under the supervision of a faculty member, and the project or thesis greatly enhances the value of the degree.

Job prospects and salary for graduates of the Master of Science in Software Engineering are very good. Graduates are prepared to enter the workforce or continue in a current role at a higher level.

What You Will Study

Program Coordinator/Graduate Program Director: Nic Herndon (C-108 Science and Technology Building; 252-328-9696; herndonn19@ecu.edu)

The Software Engineering, MS is designed to provide students with practical knowledge, skills, and professional practices needed to succeed and excel in a rapidly changing software engineering industry. The program also prepares students to pursue further graduate work leading to a PhD degree.

I. Admission Requirements

Applicants should follow the admissions requirements and process as stated in the admission and retention section of this catalog and the graduate admissions website. A cumulative undergraduate GPA of 3.0 is required. Thirtieth (30th) percentile score on the GRE General test is required. Nonnative speakers must submit an acceptable score on one of the language tests approved by the Graduate School or have evidence of at least 1 year of college/university study in the United States.

Students whose bachelor's degrees are in engineering, mathematics, statistics, physics, chemistry, or similar analytic and quantitative disciplines may be required to complete additional courses before being admitted to the degree, such as discrete mathematics, data structures, as recommended by the graduate program director.

    II. Degree Requirements

    A minimum cumulative GPA of 3.0 must be submitted for all graduate courses. No more than 6 s.h. of course work evaluated as C may be counted toward the degree.

    The degree requires a minimum of 30 s.h. as follows:

      A. Core - 9 s.h.
      • SENG 6230 - Software Engineering Foundations
      • SENG 6235 - Software Project Management
      • SENG 6265 - Foundations of Software Testing
      B. Options - 21 s.h.

      Choose one of the following options: 

        1. Thesis (6 s.h. of SENG 7000) and Electives (15 s.h.)

        A thesis is required for this option. Students summarize their research in the form of a formal written document and deliver an oral presentation. Thesis research is typically conducted over two semesters. Six (6 s.h.) count toward the minimum degree requirement.

        Fifteen s.h. from 6000-level software engineering (SENG) courses and 6000-level computer science (CSCI) courses are required for this option. The semester hours from the CSCI courses must not exceed nine (9).

        To select electives, go to the list of CSCI and SENG electives in part III. 

        • SENG 7000 - Thesis
        2. Project (3 s.h. of SENG 6290) and Electives (18 s.h.)

        A research project with a written report is required for this option. The project option involves collecting research literature on a topic of interest, critically examining it, and summarizing the research in the form of a formal technical report. This option may also involve developing software systems or proof of concept systems. Students must deliver an oral presentation of their findings. Students select topics for their projects in consultation with research advisors prior to the beginning of the last semester of study. The project is typically completed during the last semester of study.

        Eighteen (18) semester hours from 6000-level software engineering (SENG) courses and 6000-level computer science (CSCI) courses are required for this option. The semester hours from the CSCI courses must not exceed nine (9).

        To select electives, go to the list of CSCI and SENG courses in part III. 

        • SENG 6290 - Software Engineering Project
        3. Coursework (21 s.h. of electives only)

        Twenty-one (21) s.h. from 6000-level software engineering (SENG) courses and 6000-level computer science (CSCI) courses. The semester hours from the CSCI courses must not exceed nine (9).

        The coursework option requires an e-Portfolio comprehensive examination. Please contact the graduate studies director for more information.

        To select electives, go to the list of CSCI and SENG courses in part III. 

      III. Electives List

      Electives should be carefully selected after consultation with the graduate program director. 

      • CSCI 6905 - Topics in Computer Science
      • CSCI 6230 - Software Engineering Foundations
      • CSCI 6300 - Cryptographic Protocols
      • CSCI 6410 - Design and Analysis of Algorithms
      • CSCI 6420 - Computability and Complexity
      • CSCI 6510 - Distributed Computing
      • CSCI 6600 - Database Management Systems
      • CSCI 6710 - Developing e-Commerce Systems
      • CSCI 6810 - Topics in Artificial Intelligence
      • CSCI 6820 - Computer Graphics
      • CSCI 6840 - Data Mining
      • CSCI 6030 - Information Extraction and Retrieval
      • CSCI 6040 - Computational Analysis of Natural Languages
      • CSCI 6045 - Cyber-Physical Systems
      • CSCI 6050 - Digital Image Analysis and Understanding
      • CSCI 6100 - Cryptography and Information Security
      • CSCI 6120 - Computer Systems Architecture
      • CSCI 6130 - Networking and Telecommunication
      • CSCI 6140 - Mobile Communications and Wireless Security
      • CSCI 6150 - Computer and Network Security
      • CSCI 6220 - Topics in Language Design
      • CSCI 6010 - Big Data Analytics and Management
      • CSCI 6020 - Machine Learning
      • SENG 6270 - Software Verification and Validation
      • SENG 6275 - Dependable Systems and Software Reliability
      • SENG 6280 - Process Management and Lifecycle Modeling
      • SENG 6285 - Cloud Computing
      • SENG 5000 - Programming and Data Structures Foundations
      • SENG 5005 - Discrete Structures and Algorithmic Foundations
      • SENG 6240 - Software Architecture and Design
      • SENG 6245 - Software Construction
      • SENG 6247 - Software Security Engineering
      • SENG 6250 - Software Systems Modeling and Analysis
      • SENG 6255 - Software Requirements Engineering
      • SENG 6260 - Software Metrics and Quality Management
      IV. Comprehensive Assessment Requirement

      All ECU graduate programs require students to successfully complete a comprehensive requirement. This program requires the following:

      • Thesis option (thesis with oral presentation)
      • Project option (research project with written report)
      • Coursework option (e-Portfolio)
        V. Plan of Study Form Requirement

        Students are required to complete a Plan of Study Form in consultation with the graduate program director before they begin their graduate study. This is usually done during the week before the first day of classes of first semester.

          For more information about this degree visit the university's academic catalogs.