Software Engineering
Program and Application Information | |
---|---|
Department Head: | Dr. Brian M. Slator |
Graduate Coordinator: | Dr. Kenneth Magel |
Department Location: | 258 QBB (formerly IACC) |
Department Phone: | (701) 231-8562 |
Department Email: | gradinfo@cs.ndsu.edu |
Department Web Site: | cs.ndsu.edu/ |
Application Deadline: | M.S. and Ph.D. -- February 1 for fall admission; September 1 for spring admission*, M.S.E. and Certificate: -- June 1 for fall semester; November 1 for spring semester*; No summer admission for any Software Engineering Program |
Degrees Offered: | Ph.D., M.S., M.S.E., Certificate |
Test Requirement: | 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 in Software Engineering, Master of Software Engineering, Master of Science in Software Engineering, 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. The Master of Software Engineering is a course work only program while the Master of Science in Software Engineering is a course work, comprehensive examination and research program. For additional information, see cs.ndsu.edu or contact the Computer Science Department at (701) 231-8562 or gradinfo@cs.ndsu.edu.
Admissions Requirements
In addition to the Graduate School requirements , applicants must fulfill the program requirements listed below:
Certificate
- B.S. or equivalent degree from an educational institution of recognized standing, including 12 semester hours or equivalent of Computer Science or Software Engineering courses from an educational institution of recognized standing, or at least one year full-time professional software engineering experience;
- Programming skill in a modern higher level programming language, preferably C++, C#, or Java;
Master of Software Engineering
- Bachelor’s level (B.S., B.A., Sc.B., etc.) degree from an educational institution of recognized standing;
- Ability to design and implement a program consisting of several interacting classes that might total approximately 100 executable statements;
- International Students require a minimum TOEFL ibT of 79 or an IELTS of 6.5.
- A 3.0 (on a 4.0 scale) GPA in previous coursework. Conditional admission may be given with a 2.7 or higher GPA.
Master of Science
- Four year or longer B.S. or equivalent degree from an educational institution of recognized standing with at least a 3.0 grade point average on a 4.0 grade point scale. Eighteen semester hours or equivalent in Computer Science from an educational institution of recognized standing, or at least 2 years of full-time professional software engineering experience. Full time professional experience may offset the GPA requirement at the rate of 0.1 in GPA for each 18 months of such experience to a maximum of 0.3 in GPA;
- Programming skill with one modern higher level programming language, preferably C++, C#, or Java.
Doctor of Philosophy
- Four year or longer B.S. or equivalent degree from an educational institution of recognized standing with at least a 3.25 grade point average (GPA) on a 4.0 grade point scale. Eighteen semester hours or equivalent in Computer Science from an educational institution of recognized standing, or at leas3 years of full-time professional software engineering experience. Significant full-time professional software development experience may offset this GPA requirement at the rate of 0.1 in GPA for each 2 years of such experience to a maximum of 0.4 in GPA. If the applicant has an M.S. or equivalent degree from an educational institution of recognized standing, the GPA in that degree should be at least 3.35 on a 4.0 scale.
- Programming skill in at least 1 higher level programming language, preferably C++, C#, or Java.
Graduate Certificate
Requires 10 semester credit hours consisting of
Code | Title | Credits |
---|---|---|
CSCI 713 | Software Development Processes | 3 |
Select two of the following: | 6 | |
Software Project Planning and Estimation | ||
Software Requirements Definition and Analysis | ||
Software Design | ||
Software Construction | ||
Software Testing and Debugging | ||
CSCI 790 | Graduate Seminar (in appropriate area as approved by the student's adviser) Examples include:Database Systems, Extreme Programming, Formal Methods in Software Engineering, Intelligent Agents) | 1 |
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. | ||
Total Credits | 10 |
Sample Certificate Combinations:
Software Design:
Code | Title | Credits |
---|---|---|
CSCI 713 | Software Development Processes | 3 |
CSCI 715 | Software Requirements Definition and Analysis | 3 |
CSCI 716 | Software Design (+ Seminar with project) | 3 |
Software Testing:
Code | Title | Credits |
---|---|---|
CSCI 713 | Software Development Processes | 3 |
CSCI 714 | Software Project Planning and Estimation | 3 |
CSCI 718 | Software Testing and Debugging (+ Seminar with project) | 3 |
Software Project Management:
Code | Title | Credits |
---|---|---|
CSCI 713 | Software Development Processes | 3 |
CSCI 714 | Software Project Planning and Estimation | 3 |
CSCI 715 | Software Requirements Definition and Analysis (+ Seminar with project) | 3 |
Software Construction:
Code | Title | Credits |
---|---|---|
CSCI 713 | Software Development Processes | 3 |
CSCI 716 | Software Design (+ Seminar with project) | 3 |
CSCI 717 | Software Construction (+ Seminar with project) | 3 |
Master of Software Engineering
Offered through on-campus classes or through Distance and Continuing Education classes. Please note that F-1 and J-1 non-immigrant international students are only allowed to take one online course per semester.
Completion of 12 courses listed below with grades of B or better and two-semester sequence of CSCI 771 and CSCI 772 Software Development Project. Any CSCI 700 or 800 level course can be substituted for a required course with departmental approval, except CSCI 771 and CSCI 772.
Code | Title | Credits |
---|---|---|
CSCI 713 | Software Development Processes | 3 |
CSCI 714 | Software Project Planning and Estimation | 3 |
CSCI 715 | Software Requirements Definition and Analysis | 3 |
CSCI 716 | Software Design | 3 |
CSCI 717 | Software Construction | 3 |
CSCI 718 | Software Testing and Debugging | 3 |
CSCI 724 | Survey of Artificial Intelligence | 3 |
CSCI 765 | Introduction To Database Systems | 3 |
CSCI 771 | Software Development Project I | 3 |
CSCI 772 | Software Development Project II | 3 |
CSCI 846 | Development of Distributed Systems | 3 |
CSCI 847 | Software Complexity Metrics | 3 |
Total Credits | 36 |
- Successful completion of an Internet-based 16 hour module on Computer Ethics. This module will be required for students starting the program in fall, 2015 or later.
- Maximum of 4 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
Code | Title | Credits |
---|---|---|
Core Courses | 12 | |
Students must complete the core within five semesters of their entering the program. | ||
Software Development Processes | ||
Software Requirements Definition and Analysis | ||
or CSCI 718 | Software Testing and Debugging | |
Software Design | ||
Introduction To Database Systems | ||
Six credits (not part of the core) from: | 6 | |
Software Project Planning and Estimation | ||
Software Requirements Definition and Analysis | ||
Software Construction | ||
Software Testing and Debugging | ||
Formal Methods for Software Development | ||
Development of Distributed Systems | ||
Software Complexity Metrics | ||
Empirical Methods in Software Engineering | ||
Six credits (Thesis students) or 3 credits (Paper students) of other Computer Science or Computer Engineering courses selected with and approved by the student's graduate advisory committee. | 3-6 | |
CSCI 790 | Graduate Seminar | 3 |
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). | ||
Research Component: Either a thesis option or comprehensive study 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. | ||
CSCI 797 | Master's Paper | 3-6 |
or CSCI 798 | Master's Thesis | |
Total Credits | 33 |
- The Software Engineering Comprehensive Examination. This examination shall include integrative questions on the 4 courses which make up the software engineering core. The exam must be passed within the first 5 semesters of the program. Each student is allowed a maximum of 2 attempts to pass this examination. Students are encouraged to complete the comprehensive examination early in their program.
- Up to 9 previously earned credits from an educational institution of recognized standing with a grade of B or better may be used toward the 33 total credits required for the master degree, upon approval by the advisor, committee members and head of the department.
- 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 Master of Science in Software Engineering from NDSU requirements or their equivalent in transfer or examination credits.
- Satisfactory completion of the Ph.D. Qualifying Examination. This examination will consist of integrative questions on the 4 core courses described under the Master of Science degree. Students must complete this requirement within their first 7 semesters of participation in the program.
- Minimum of 15 hours of course work chosen from the courses listed below and not duplicating any items used to satisfy requirements for the Master of Science degree:
Code | Title | Credits |
---|---|---|
Select five of the following: | ||
Software Development Processes | ||
Software Project Planning and Estimation | ||
Software Requirements Definition and Analysis | ||
Software Design | ||
Software Construction | ||
Software Testing and Debugging | ||
Formal Methods for Software Development | ||
Development of Distributed Systems | ||
Software Complexity Metrics | ||
Empirical Methods in Software Engineering |
- Additional courses totaling up to 9 hours can be taken in Computer Science or ECE-Computer Engineering chosen by the student and adviser, then approved by the Student's Supervisory Committee.
- Thirty-six to 45 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:
- A student holding a Master of Science degree from an educational institution of recognized standing may use:
30 credits of previously completed coursework toward the 90 total credits required for the doctoral degree OR
Up to 9 credits previously earned from an educational institution of recognized standing with a grade of B or better may be used toward the 90 total credits required for the doctoral degree. - The 90 credits may include a maximum of 15 credits of independent study and seminar hours. Seminars are limited to four of those credits.
-
The student's supervisory committee, the department chair, college dean, and the graduate dean all must approve the course work on the plan of study at least 4 semesters before graduation.
Anne Denton, Ph.D.
University of Mainz, 1996
Research Interests: Data Mining, Bioinformatics, Scientific Informatics, Databases, Geospatial Data, Cloud Computing
Wei Jin, Ph.D.
State University of New York at Buffalo, 2008
Research Interests: Text and Web Mining, Information Retrieval and Extraction, Machine Learning, Bioinformatics and Health Informatics
Dean Knudson, Ph.D.
Northwestern University, 1972
Research Interests: Software Engineering, International Capstone Programs, University/Industry Relationships
Jun Kong, Ph.D.
University of Texas, Dallas, 2005
Research Interests: Human Computer Interaction, Mobile Computing, Software Engineering
Juan (Jen) Li, Ph.D.
University of British Columbia, 2008
Research Interests: Large-scale Distributed System ( P2P and Cloud Computing, Distributed Search, Routing Algorithms), Semantic Web Technologies, Social Networks, Information Retrieval, Knowledge Discovery
Simone Ludwig, Ph.D.
Brunel University, 2004
Research Interests: Swarm Intelligence, Evolutionary Computation, Fuzzy Reasoning, Cloud Computing
Kenneth Magel, Ph.D.
Brown University, 1977
Research Interests: Software Engineering, Human-Computer Interfaces, Software Complexity, and Software Design
Kendall Nygard, Ph.D.
Virginia Polytechnic Institute and State University, 1978
Research Interests: Data Science, Optimization Modeling, Smart Grid, Sensor Networks, Agents, Artificial Intelligence, Security, Adaptive Systems, Swarm Intelligence
William Perrizo, Ph.D.
University of Minnesota, 1972
Research Interests: Data Mining, Distributed Database Systems, Centralized Database Systems, Data Security, Bioinformatics
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 Media
Vasant Ubhaya, Ph.D.
University of California-Berkeley, 1971
Research Interests: Algorithm Analysis, Approximation and Optimization
Gursimran Walia, Ph.D.
Mississippi State University, 2009
Research Interests: Empirical Software Engineering, Software Errors and Software Quality Improvement, Requirements Engineering, Human Cognition in Software Engineering, Managing and Estimating Software Quality
Changhui Yan, Ph.D.
Iowa State University, 2005
Research Interests: Bioinformatics, Computational Biology, Genomics, Machine Learning, Data Mining, Big Data, Cloud Computing
Professors of Practice
Pratap Kotala, Ph.D.
North Dakota State University, 2015
Oksana Myronovych, Ph.D.
North Dakota State University, 2015
Adjunct Faculty
Hyunsook Do, Ph.D.
University of Nebraska, 2007
Research Interests: Software Engineering, Software Testing, Regression Testing, Software Maintenance, Requirements Verification, Software Empirical Methodologies