Software Engineering / Software and Security Engineering

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

Software Engineering Certificate

  1. Bachelor of Science (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; 
  2. Programming skill in a modern higher level programming language, preferably C++, C#, or Java; 
  3. A 3.0 (on a 4.0 scale) GPA in previous coursework. Conditional admission may be given with a 2.85 or higher GPA and professional experience.

Master of Software Engineering

  1. A B.S. or equivalent degree from an educational institution of recognized standing, including 12 credit 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.;
  2. Programming skill in a modern higher level programming language, preferably C++, C#, or Java;
  3. GRE score is not required for admission. However, a GRE score above the median (50th percentile) for the quantitative reasoning portion is strongly recommended for gaining priority in assistantships;
  4. International applicants are welcome. International students from some countries are exempt from English proficiency examination requirement (See details at https://www.ndsu.edu/gradschool/apply/international). Others must submit TOEFL, IELTS, PTE Academic score or Duolingo score. Minimum requirements are:
    • TOEFL score of at least 550 (paper based) or 79 (internet based)
    • IELTS score of at least 6.5
    • PTE Academic score of at least 53; or
    • Duolingo score of 105.
  5. A 3.0 (on a 4.0 scale) GPA in previous coursework. Conditional admission may be given with a 2.85 or higher GPA and professional experience.

Master of Science in Software and Security Engineering

  1. A 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;
  2. GRE score is not required for admission.  However, a GRE score above the median (50th percentile) for the quantitative reasoning portion is strongly recommended for gaining priority in assistantships. 
  3. International applicants are welcome. International students from some countries are exempt from English proficiency examination requirement (See details at https://www.ndsu.edu/gradschool/apply/international). Others must submit TOEFL, IELTS, PTE Academic score or Duolingo score. Minimum requirements are:
    • TOEFL score of at least 550 (paper based) or 79 (internet based)
    • IELTS score of at least 6.5
    • PTE Academic score of at least 53; or
    • Duolingo score of 105.
  4. Eligibility for a teaching assistantship/tutor requires the following additional requirements:  
    • minimum TOEFL ibT score of 81 (IELTS of 7, PTE of 54, Duolingo of 115),
      • TOEFL ibT Speaking subscale score of 23 or above and
      • TOEFL ibT Writing subscale score of 21 or above
      • IELTS equivalent scores are 6.0 and 6.0 respectively
      • PTE Academic equivalent scores are 62 and 56, respectively
      • Duolingo score is 115 or greater.
  5. Programming skill with one modern higher level programming language, preferably C++, C#, or Java.
  6. A 3.0 (on a 4.0 scale) GPA in all previous coursework.

Doctor of Philosophy in Software and Security Engineering

  1. 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. 
    1. 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.
    2. 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.
    3. 18 semester hours or equivalent in Computer Science from an educational institution of recognized standing, or at least 3 years of full-time professional software engineering experience. 
  2. GRE score is not required for admission.  However, a GRE score above the median (50th percentile) for the quantitative reasoning portion is strongly recommended for gaining priority in assistantships.
  3. International applicants are welcome. International students from some countries are exempt from English proficiency examination requirement (See details at https://www.ndsu.edu/gradschool/apply/international). Others must submit TOEFL, IELTS, PTE Academic score or Duolingo score. Minimum requirements are:
    • TOEFL score of at least 550 (paper based) or 79 (internet based)
    • IELTS score of at least 6.5
    • PTE Academic score of at least 53; or
    • Duolingo score of 105.
  4. Eligibility for a teaching assistantship/tutor requires the following additional requirements:  
    • minimum TOEFL ibT score of 81 (IELTS of 7, PTE of 53, Duolingo of 115),
      • TOEFL ibT Speaking subscale score of 23 or above and
      • TOEFL ibT Writing subscale score of 21 or above
      • IELTS equivalent scores are 6.0 and 6.0 respectively
      • PTE Academic equivalent scores are 62 and 56, respectively
      • Duolingo score is 115 or greater.
  5. Programming skill in at least 1 higher level programming language, preferably C++, C#, or Java.

Financial Assistance

Assistantships are available to selected graduate students. Teaching one section of a lower division service course requires 10 hours of work per week and qualifies the student for a monthly stipend. In addition to the stipend, graduate assistants with a 20 hours/week assistantship receive a full graduate tuition waiver. Graduate assistants with an assistantship that is less than 20 hours/week but at least 10 hours/week receive a 50% graduate tuition waiver. Tuition waivers cover base tuition for NDSU graduate credits only. Students are responsible for differential tuition, student fees, and tuition for non-graduate level credits taken or Cooperative Education credits. 

Other assistantships that provide a stipend and tuition waiver include research assistantships, which involve assisting faculty with their research, and graduate service assistantships, which involve tutoring, grading or computer-related work with faculty members or organizations on campus. Relevant prior experience increases the likelihood of a teaching or tutoring assistantship being awarded. For all assistantships, a student's chances are greater after they have been at NDSU for one or two semesters.

Software Engineering Certificate 

CSCI 713Software Development Processes3
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 848Empirical Methods in Software Engineering3
Total Credits12


 


Master of Software Engineering (online)

Core Courses
CSCI 713Software Development Processes3
CSCI 715Software Requirements Definition and Analysis3
CSCI 716Software Design3
CSCI 718Software Testing and Debugging3
CSCI 714Software Project Planning and Estimation3
CSCI 717Software Construction3
CSCI 848Empirical Methods in Software Engineering3
Electives - 9 Credits9
Online CSCI courses at the 600, 700, and 800 levels
Total Credits30

Master of Science in Software and Security Engineering

Core Courses12
Survey of Cybersecurity
Data-Driven Security
Software Development Processes
Software Design
Additional required courses 5
Graduate Seminar
Empirical Methods in Software Engineering
Software engineering focus select from:9
CSCI Courses in the ranges of 611-619 and 711-719
Introduction to Database Systems
Cybersecurity focus - select from:9
CSCI Courses in range 601-610 excluding 603 and 605
CSCI Courses in range 701-710, excluding core courses
Introduction to Database Systems
Foundations of the Digital Enterprise
Plan A: Master's Thesis6
Master's Thesis (6 credits)
Plan B: Master's Paper6
Other Computer Science or Software Engineering Courses (3 credits)
Master's Paper (3 credits)
Total Credits32

 Additional requirements for Master of Science in Software and Security Engineering:

  • Research adviser should be selected by the end of the second semester at NDSU.
  • A maximum of two courses (6 credits) at the 600 level.
  • Field Experience/Practicum credits do not count.
  • Courses on topics that are typically considered to be part of computer science, such as AI, machine learning, software engineering, etc. should be taken in the Computer Science Department. Outside courses (courses without a CSCI prefix) need prior approval by the graduate coordinator and the research advisor and should only be approved if a course with similar content is not already offered by our department. A syllabus might need to be submitted by the student wanting to take a particular course from another department to ensure adequate coverage of computer science content.
  • All course work must be approved by the student's adviser, Supervisory Committee, graduate coordinator, and graduate dean through the Plan of Study.
  • A Plan of Study listing coursework and examination committee members should be completed by the end of the second semester at NDSU.
  • A maximum of 9 credits may be transferred into the program.
  • Successful completion of the Final Oral Examination on the dissertation for Plan A and B.

Doctor of Philosophy in Software and Security Engineering

Bachelor's to Doctor of Philosophy in Software and Security Engineering 

Core courses:12
Survey of Cybersecurity
Data-Driven Security
Software Development Processes
Software Design
Additional required courses6
Graduate Seminar
Empirical Methods in Software Engineering
Software engineering focus select from:9
CSCI Courses in the ranges of 611-619 and 711-719
Introduction to Database Systems
Cybersecurity focus - select from:9
CSCI Courses in range 601-610 excluding 603 and 605
CSCI Courses in range 701-710, excluding core courses
Introduction to Database Systems
Foundations of the Digital Enterprise
All Students:
Software engineering & cybersecurity courses approved by the student's Supervisory Committee. (15-27 credits)
Doctoral Dissertation (36-48 credits)
Total Credits90

Master's to Doctor of Philosophy in Software and Security Engineering 

Core courses:12
Survey of Cybersecurity
Data-Driven Security
Software Development Processes
Software Design
Additional required courses6
Empirical Methods in Software Engineering
Graduate Seminar
Software engineering focus select from:9
CSCI Courses in the ranges of 611-619 and 711-719
Introduction to Database Systems
Cybersecurity focus - select from:9
CSCI Courses in range 601-610 excluding 603 and 605
CSCI Courses in range 701-710, excluding core courses
Foundations of the Digital Enterprise
CSCI 765 - Introduction to Database Systems
All Students:
Software engineering & cybersecurity courses approved by the student's Supervisory Committee. (0-3 credits)
Doctoral Dissertation (30-33 credits)
Total Credits60
 
 
Doctor of Philosophy + Master of Science in Software and Security Engineering  
Core courses:12
Survey of Cybersecurity
Data-Driven Security
Software Development Processes
Software Design
Additional required courses6
Graduate Seminar
Empirical Methods in Software Engineering
Software engineering focus select from:9
CSCI Courses in the ranges of 611-619 and 711-719
Introduction to Database Systems
Cybersecurity focus - select from:9
CSCI Courses in range 601-610 excluding 603 and 605
CSCI Courses in range 701-710, excluding core courses
Introduction to Database Systems
Foundations of the Digital Enterprise
All Students:
Software engineering & cybersecurity courses approved by the student's Supervisory Committee. (15-27 credits)
Doctoral Dissertation (36-48 credits)
Total Credits90

Additional requirements for the Bachelor's to Doctor of Philosophy and Master's to Doctor of Philosophy options:

  • Research adviser should be selected by the second semester at NDSU.
  • A minimum of 15 didactic credits numbered 700 -789 or 800-898, of which at least 9 are not included in the Software and Security Engineering Core Courses listed above; none of these can be individual study course credits.
  • A maximum of two courses at the 600 level. Field Experience/Practicum credits do not count.
  • Students who took core courses as part of their M.S. studies at NDSU should discuss replacement courses with the adviser and the Graduate program coordinator.
  • Courses on topics that are typically considered to be part of computer science, such as AI, machine learning, software engineering, etc. should be taken in the Computer Science Department. Outside courses (courses without a CSCI prefix) need prior approval by the graduate coordinator and the research advisor and should only be approved if a course with similar content is not already offered by our department. A syllabus might need to be submitted by the student wanting to take a particular course from another department to ensure adequate coverage of computer science content.
  • All course work must be approved by the student's adviser, supervisory committee, graduate coordinator, and graduate dean through the plan of study.
  • A Plan of Study listing coursework and supervisory committee members should be completed by the end of the second semester at NDSU.
  • 30-48 credit hours of research – The Ph.D. requires a research contribution to be made under the supervision of one of the Computer Science department’s graduate faculty members.
  • Students who applied the listed core courses towards a M.S. degree obtained from NDSU can take up to 42 research credits.
  • Satisfactory completion of the Comprehensive Exam at the Ph.D. level (written exam based on the core courses).
  • Research proposal presentation and preliminary oral examination (Qualifying Exam) should be completed by the fourth semester at NDSU after passing the Comprehensive Exam.
  • Successful completion of the Final Oral Examination on the dissertation.

Additional requirements for the Doctor of Philosophy + Master of Science option:

  • Ph.D. students in this option will earn a Master of Science degree after they pass the preliminary oral examination (Qualifying Exam).
  • Students will need to submit a Ph.D. Plan of Study indicating “Ph.D. + Master’s” as the degree.
  • Before a student can apply to take the preliminary oral examination (Qualifying Exam), they must have
  1. passed the comprehensive exam.
  2. completed 30 credits, of which 21 credits need to be didactic credits at the graduate level at NDSU.
  3. submitted a paper as first author to a high-quality journal or conference on a topic related to their Ph.D. dissertation.
  • After students have passed the preliminary examination, they must complete the Graduate School Graduation Application in order for their M.S. degree to be posted to their academic record.
  • Students will be eligible to participate in commencement of their M.S. degree the term they pass the preliminary oral examination (Qualifying Exam).
  • Research advisor should be selected by the second semester at NDSU.
  • A minimum of 15 didactic credits numbered 700 -789 or 800-898, of which at least 9 are not included in the Software and Security Engineering core courses listed above; none of these can be individual study course credits.
  • A maximum of two courses at the 600 level.
  • All course work must be approved by the student's advisor, supervisory committee, and graduate coordinator through the plan of study.
  • A Plan of Study listing coursework and supervisory committee members should be completed by the end of the second semester at NDSU.
  • 30-48 credit hours of research – The Ph.D. requires a research contribution to be made under the supervision of one of the Computer Science department’s graduate faculty members.
  • Successful completion of the final defense of the dissertation.

Zahid Anwar, Ph.D.
University of Illinois at Urbana-Champaign, 2008
Research Interests: Cybersecurity Policy and Law, Artificial Intelligence and Machine Learning

Anne Denton, Ph.D.
University of Mainz, 1996
Research Interests: Data Mining, Bioinformatics, Scientific Informatics, Databases, Geospatial Data, Cloud Computing

Ajay Jha, Ph.D.
Kyungpook National University, 2017
Research Interests: Software Engineering, Software Testing and Maintenance

Jun Kong, Ph.D.
University of Texas, Dallas, 2005
Research Interests: Human Computer Interaction, Mobile Computing, Software Engineering

Pratap Kotala, Ph.D.
North Dakota State University, 2015
Research Interests: Software Engineering

Juan (Jen) Li, Ph.D.
University of British Columbia, 2008
Research Interests: Smart and Connected Health, Semantic Web Technologies, Internet of Things (IoT)

Lu Liu, Ph.D.
University of Texas San Antonio, 2017
Research Interests: Bioinformatics, Data Mining, Machine Learning, Data Science

Simone Ludwig, Ph.D.
Brunel University, 2004
Research Interests: Swarm Intelligence, Evolutionary Computation, Deep Neural Networks, Fuzzy Reasoning, Machine Learning

Kenneth Magel, Ph.D.
Brown University, 1977
Research Interests: Software Engineering, Human-Computer Interfaces, Software Complexity, and Software Design

M. Zubair Malik, Ph.D.
University of Texas at Austin, 2014
Research Interests: Program Analysis, Automated Program Repair, Secure Software Development, Software Verification-Validation and Testing, Software Systems (especially large scale Distributed Systems for Data science and Machine Learning), Formal Methods, Application of Artificial Intelligence in Program Analysis

Oksana Myronovych, Ph.D.
North Dakota State University, 2009
Research Interests: Software Engineering

Saeed Salem, Ph.D.
Rensselaer Polytechnic Institute, 2009
Research Interests: Bioinformatics, Machine Learning and Data Mining

Jeremy Straub, Ph.D.
University of North Dakota, 2015
Research Interests: Multi-tier Mission Architecture & Control, Autonomous Data Link Reduction, Autonomous Vehicle Control, Machine Vision, Super Resolution

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

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