Content | Navigation |

Graduate School

 


Software Engineering

Department Head

Dr. Brian Slator

Graduate Committee Email

gradinfo@cs.ndsu.edu

Department Location

258 IACC

Telephone Number

(701) 231-8562

Degrees Offered

Ph.D., M.S.,M.S.E.,  Certificate

Application Deadline

Master of Science and Ph.D., March 1 for Fall; October 1 for Spring; No Summer Applications
MSE – December 10 for Spring; July 1 for Fall

Test Requirements

GRE (M.S. and Ph.D. only)

English Proficiency Requirements

TOEFL ibT 79
IELTS 6.5

Program Description 


Software Engineering is focused on the application of systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software systems. Inclusive of computer programming but going well beyond, Software Engineering is concerned with methodologies, techniques, and tools to manage the entire software life cycle, including development of requirements, specifications, design, testing, maintenance, and project management. The advent of Software Engineering is a natural result of the continuous quest for software quality and reusability, and the maturing of the software development industry.

The Department of Computer Science offers a Graduate Certificate, M.S., and Ph.D. in Software Engineering. The programs are designed to appeal to both full-time students and software professionals who are employed and wish to pursue a program part time. Minimum qualifications for admission are the same as those specified for advanced degrees in Computer Science. For additional information, see www.cs.ndsu.nodak.edu or contact the Director of Software Engineering (701) 231-8189. For a complete listing of courses and faculty, please refer to the Computer Science section. 

Admission Requirements 


In addition to the Graduate School admission requirements, applicants must fulfill the program requirements listed below:


Certificate

  1. B.S. or equivalent degree from an accredited university;
  2. Twelve semester hours or equivalent of Computer Science or Software Engineering courses from an accredited university, or at least one year full-time professional software engineering experience;
  3. Programming skill in a modern higher level programming language, preferably C++, C#, or Java.
  4. GRE is not required for the Certificate in Software Engineering.


Master of Software Engineering

Offered through on-campus classes or through Distance and Continuing Education classes.

  1. Bachelor’s level (B.S., B.A., Sc.B., etc) degree from an accredited institution
  2. Skill in a higher level programming language such as Java, C# or C++. You should be able to design and implement a program consisting of several interacting classes that might total approximately 100 executable statements
  3. International Students require a minimum TOEFL of 550 (paper-based) or 79 (Internet-based) or an IELTS of 6.
  4. GRE is not required for Master of Software Engineering degree. (M.S.E.)

Master of Science

  1. B.S. or equivalent degree from an accredited university with at least a 3.0 grade point average on a 4.0 scale. Full-time professional experience may offset this GPA requirement at the rate of 0.1 in GPA for each eighteen months of such experience to a maximum of 0.4 in GPA;
  2. Eighteen semester hours or equivalent in Computer Science from an accredited institution, or at least two years of full-time professional software engineering experience;
  3. Programming skill with one modern higher level programming language, preferably C++, C#, or Java. 

Doctor of Philosophy

  1. B.S. or equivalent degree from an accredited university with at least a 3.25 grade point average on a 4.0 scale. Significant full-time software development professional experience may offset this GPA requirement at the rate of 0.1 in GPA for each two years of such experience to a maximum of 0.4 in GPA;
  2. Eighteen semester hours or equivalent in Computer Science from an accredited institution, or at least three years of full-time professional software engineering experience;
  3. Programming skill in at least one higher level programming language, preferably C++, C#, or Java. 

Degree Requirements

 

Graduate Certificate

  • Requires 10 semester credit hours consisting of
    CSCI 713 Software Development Processes
    Any two of the following five courses:
    CSCI 714, Software Project Planning and Estimation
    CSCI 715 Software Requirements Definition and Analysis
    CSCI 716 Software Design
    CSCI 717 Software Construction
    CSCI 718 Software Testing and Debugging
  • One CSCI 790 seminar in an appropriate area as approved by the student's adviser. Examples include:
    Database Systems
    Extreme Programming
    Formal Methods in Software Engineering
    Intelligent Agents
  • An extensive project of approximately one third of a semester incorporated into whichever of the above courses the student and her (his) adviser selected. The project may be job related. This project serves as the capstone experience for the student.

Sample Certificate Combinations:

Software Design: CSCI 713, 715, 716 + Seminar with project in 716
Software Testing: CSCI 713, 714, 718 + Seminar with project in 718.
Software Project Management: CSCI 713, 714, 715 + Seminar with project in 715.
Software Construction: CSCI 713, 716, 717 + Seminar with project in 716 or 717.
Other arrangements could be done as well.

Master of Software Engineering
Offered through on-campus classes or through Distance and Continuing Education classes.

  • Completion of these twelve courses with grades of A or B (CSci 793 is taken twice  to complete a two semester project). CSci 745 or CSci 783 may be substituted for any course numbered above 719:
    • CSCI 713 Software Development Processes - 3 credits
    • CSCI 714 Software Project Planning and Estimation - 3 credits.
    • CSCI 715 Software Requirements Definition and Analysis - 3 credits
    • CSCI716 Software Design - 3 credits
    • CSCI 717 Software Construction - 3 credits
    • CSCI 718 Software Testing and Debugging - 3 credits
    • CSCI 724 Survey of Artificial Intelligence - 3 credits
    • CSCI 746 Development of Distributed Systems - 3 credits
    • CSCI 747 Software Complexity Metrics - 3 credits
    • CSCI 765 Introduction to Database Systems - 3 credits
    • CSCI 793 Individual Study: Software Development Project - 3 credits
    • CSCI 793 Individual Study: Software Development Project - 3 credits

    (CSCI 793 is taken twice to complete a two semester project)

  • Successful completion of an Internet-based sixteen hour module on Computer Ethics. This module will be required for students starting the program in fall, 2012 or later.
  • Maximum of four courses may be attempted in any one semester. If a course is started in a particular semester, it must be dropped or completed within that semester.

Master of Science in Software Engineering

Program Requirements (33 semester hours)

  • The Software Engineering Core (12 credits): Students must complete the core within five semesters of their entering the program.
    • CSCI 713: Software Development Processes
    • CSCI 765: Introduction to Database Systems
    • CSCI 716: Software Design
    • Either CSCI 715: Software Requirements Definition, or CSCI 718: Software Testing and Debugging. Each student selects one of these two courses.
  • The Software Engineering Comprehensive Examination. This examination shall include integrative questions on the four courses which make up the software engineering core (see 1 above). The exam must be passed within the first seven semesters of their program. Each student is allowed a maximum of two attempts to pass this examination. Students are encouraged to complete the comprehensive examination early in their program.
  • Six credits (not part of the core) from:
    • CSCI 714 Software Project Planning and Estimation
    • CSCI 715 Software Requirements Definition
    • CSCI 717 Software Construction
    • CSCI 718 Software Testing and Debugging
    • CSCI 747 Software Complexity Metrics
    • CSCI 745 Formal Methods for Software Development
    • CSCI 746 Development of Distributed Applications
  • Nine credits of other Computer Science or Computer Engineering courses selected with and approved by the student's graduate advisory committee.
  • Three CSCI 790 graduate seminars in software engineering areas (1 credit each). These seminars must be approved in advance by the student's graduate adviser (a form is provided for this purpose).
  • A comprehensive study option (3 credits) paper based on a significant software development project undertaken by the student, perhaps as a member of a team, either at the University or as part of a job. This project will require design, implementation, and testing of a significant piece of computer software.
  • A Final Oral Examination on the paper and course work. This examination shall include questions on design choices, implementation methods, and testing choices for the student project.

Ph.D. in Software Engineering

Program Requirements (90 semester hours)

  • All M.S. course requirements (items 1,3,4, and 5 above) or their equivalent in transfer or examination credits.
  • CSCI 793 Software Development Project (6 semester hours). This course will require the design, implementation, and testing of a significant piece of computer software. This course must be completed successfully before the Qualifying Examination may be attempted. If a student successfully passed the M.S. in Software Engineering Comprehensive Examination at the Ph.D. qualifying level while earlier completing an M.S. at North Dakota State University, the student shall not need to take the Qualifying Examination, but this course must be completed successfully within the first two years of the Ph.D. program.
  • Satisfactory completion of the Ph.D. Qualifying Examination. This examination will consist of integrative questions on the four core courses described in (1) under the M.S. above. Students must complete this requirement within their first seven semesters of participation in the program.
  • Twelve hours of course work chosen from the courses listed below and not duplicating any items used to satisfy 1:
    • CSCI 714 Software Project Planning and Estimation
    • CSCI 715 Software Requirements Definition
    • CSCI 716 Software Design
    • CSCI 717 Software Construction
    • CSCI 718 Software Testing and Debugging
    • CSCI 747 Software Complexity Metrics
    • CSCI 745 Formal Methods for Software Development
    • CSCI 746 Development of Distributed Applications
  • Six hours of additional course work in Computer Science or Computer Engineering chosen by the student and his advisor and approved by the Student's Advisory Committee.
  • Thirty-six semester credit hours for research, preparation, and defense of a dissertation in Software Engineering. These hours will be graded on a Satisfactory/Unsatisfactory basis.
  • Additional course work requirements:
    1. Beyond the M.S. degree, a maximum of 9 credits of course work can be transferred.
    2. The 90 credits may include a maximum of 15 credits of non-didactic courses (independent studies and seminar hours). Seminars are limited to four of those credits.
  • The student's advisory committee, the department chair, and the graduate dean all must approve the course work on the plan of study at least two semesters before graduation.

    Click here for course descriptions.

Faculty

Rui (April) Dai, Ph.D.
Georgia Institute of Technology, 2011
Research Interests: Wireless Sensor Networks, Multimedia Communications, and Cyber-physical Systems.

Anne Denton, Ph.D.
University of Mainz, 1996
Research Interests: Data Mining, Bioinformatics, Scientific Informatics, Educational Technology, Model Building, Databases

Hyunsook Do, Ph.D.
University of Nebraska, 2007
Research Interests: Software Engineering, Software Testing, Maintenance, and Empirical Methodologies.

Wei Jin, Ph.D.
State University of New York at Buffalo, 2008
Research Interests: Data Mining and Knowledge Discovery (particularly text and web mining), Information Retrieval and Extraction, Machine Learning, and Bioinformatics

Dean Knudson, Ph.D.
Northwestern University, 1972
Research Interests: Software Development and Management

Jun Kong, Ph.D.
University of Texas, Dallas, 2005
Research Interests: Software Engineering; Human-Computer Interaction; Model Management

Juan (Jen) Li, Ph.D.
University of British Columbia, 2008
Research Interests: Distributed system: P2P and Grid Systems, Mobile Ad Hoc Network, Distributed Search, Routing Algorithms; Semantic Web Technologies; Information Retrieval and Knowledge Discovery; Green Computing

Simone Ludwig, Ph.D.
Brunel University, 2004
Research Interests: Swarm Intelligence, Evolutionary Computation, Fuzzy Reasoning, Service-oriented Computing, and Cloud Computing

Kenneth Magel, Ph.D.
Brown University, 1977
Research Interests: Software Engineering, Human-Computer Interfaces, Computer Networks, Subsymbolic Computation

Kendall Nygard, Ph.D.
Virginia Polytechnic Institute and State University, 1978
Research Interests: Electronic Commerce, Software Agents, Operations Research, Sensor Networks, Artificial Intelligence

William Perrizo, Ph.D.
University of Minnesota, 1972
Research Interests: Distributed Database Systems, Centralized Database Systems

Saeed Salem, Ph.D.
Rensselaer Polytechnic Institute, 2009
Research Interests: Bio-Informatics and Data Mining

Brian Slator, Ph.D.
New Mexico State University, 1988
Research Interests: Artificial Intelligence, Educational Games

Vasant Ubhaya, Ph.D.
University of California-Berkeley, 1971
Research Interests: Algorithm Analysis, Operations Research

Gurisimran Walia, Ph.D.
Mississippi State University, 2009
Research Interests: Empirical Software Engineering, Software Errors; Software Inspections and Software Quality Improvement, Requirements Engineering, Human Cognition in Software Engineering, Managing and Estimating Software Quality, Information Assurance, Software Engineering for Computer Security.

Changhui Yan, Ph.D.
Iowa State University, 2005
Research Interests: Bioinformatics, Computational Biology, Machine Learning and Data Mining

Emeritus


Robert Gammill, Ph.D.
Massachusetts Institute of Technology


Student Focused. Land Grant. Research University.

Follow NDSU
  • Facebook
  • Twitter
  • RSS
  • Google Maps

NDSU Graduate School
Phone: +1 (701) 231-7033
Campus address:  106 Putnam Hall
Physical/delivery address:  NDSU Graduate School/106 Putnam Hall/1349 12th Avenue Northwest/Fargo, ND 58102
Mailing address:  NDSU Dept. 2820/PO Box 6050/Fargo, ND 58108
Page manager: NDSU Graduate School

Last Updated: Tuesday, January 28, 2014 8:14:48 PM