Computer Science

In addition to the minimum Graduate School requirements, the following items are required for all Computer Science applicants seeking an advanced degree:

Master of Science

  • The applicant must have a bachelor’s degree from an educational institution of recognized standing. Admission to the program is competitive; the following minimum requirements are necessary but are not sufficient for automatic admission.
  • The applicant must show, by a combination of educational background, academic performance, and work experience, the potential to succeed in advanced study and research in computer science. Minimum preparation usually includes the ability to program in one or more modern, commonly used high-level languages (such as Java or C++); and experience in using data structures such as linked lists and binary trees. Minimum preparation for unconditional admission to the master's program would normally include courses in computer science principles and theory equivalent to the NDSU courses.
CSCI 161Computer Science II4
CSCI 222Discrete Mathematics3
CSCI 366Database Systems3
CSCI 372Comparative Programming Languages3

  • Applicants to the Computer Science M.S. program must have a cumulative grade point average (CGPA) 3.0 (out of 4.0) or higher in all previous courses to be admitted full standing.
  • 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.
  • 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.
  • 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.
  • The eligibility for a grader requires
    • minimum TOEFL ibT score of 79 (IELTS of 6.5, PTE of 54, Duolingo of 115)
      • must score at or above the 40th percentile on the TOEFL ibT Speaking and Writing subscales (currently 19 and 21 respectively)
    • IELTS equivalent scores are 5.5 and 6.0 respectively
    • PTE Academic equivalent scores are 51 and 56, respectively
    • Duolingo is 110 or greater.

Doctor of Philosophy

The applicant must have at least a four-year bachelor's degree, or a master's degree in computer science. In some cases, students with a degree in a closely related area may be considered, provided the course work includes exposure to the skills listed under M.S. above. Students with only a bachelor's degree should have substantial computer science experience, whether acquired through course work or professional experience.

Admission to the program is competitive, and requirements for admission to this program are more rigorous than for admission to the M.S. program. Students applying with a bachelor's degree only should meet a minimum GPA of 3.25 in previous coursework. 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. The admissions committee will evaluate the applicant's overall academic record, as well as any relevant employment and professional experience. Of particular importance is evidence of the applicant's potential for scholarship and independent research at the Ph.D. level. International students are welcome. English Language requirements are the same as for the Computer Science M.S. program.

The graduate admissions committee reviews all applications during the month following the application deadline and considers accepted students for any available assistantship positions within the department. If an assistantship is not offered at time of admission, accepted students can then fill out an application on the Computer Science website for later consideration.

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. Related 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 one or two semesters.

Master of Science in Computer Science Degree Requirements
Core courses (required of all students):
CSCI 713Software Development Processes3
CSCI 724Survey of Artificial Intelligence3
CSCI 741Algorithm Analysis3
CSCI 765Introduction to Database Systems3
Additional 600-800 level Computer Science courses selected in consultation with your adviser.
Thesis Option (Plan A)32
Additional graduate coursework8-12
CSCI 790Graduate Seminar2
CSCI 798Master's Thesis6-10
Comprehensive Study Option (Plan B)32
Additional Graduate Coursework14-16
CSCI 790Graduate Seminar2
CSCI 797Master's Paper2-4
Culminating Experience-Based Option (Plan C)36
Additional Graduate Coursework24
 

Additional requirements for the Master of Science in Computer Science program:

  • Research advisor should be selected by the end of the second semester at NDSU.
  • Additional 600-800 level Computer Science courses selected in consultation with your advisor
    • 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 advisor, supervisory committee, and graduate coordinator 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.
  • There may be a maximum of 3 credits of independent study.
  • Successful completion of the final oral examination on the student's research for Plan A Thesis Option and Plan B Master's Paper Option

Bachelor’s to Doctor of Philosophy in Computer Science degree requirements90
Core Courses: (or their equivalent in transfer or examination credits)15
Software Development Processes
Survey of Artificial Intelligence
Algorithm Analysis
Introduction to Database Systems
Graduate Seminar
8-13 additional courses selected in consultation with your adviser. 24-39
CSCI 899Doctoral Dissertation36-51

Master's to Doctor of Philosophy in Computer Science degree requirements 60
Core Courses: (or their equivalent in transfer or examination credits)15
Software Development Processes
Survey of Artificial Intelligence
Algorithm Analysis
Introduction to Database Systems
Graduate Seminar
3-5 additional courses selected in consultation with your adviser. 9-15
CSCI 899Doctoral Dissertation30-36
Doctor of Philosophy + Master of Science in Computer Science degree requirements90
Core Courses: (or their equivalent in transfer or examination credits)15
Software Development Processes
Survey of Artificial Intelligence
Algorithm Analysis
Introduction to Database Systems
Graduate Seminar
8-13 additional courses selected in consultation with your adviser. 24-39
CSCI 899Doctoral Dissertation36-51

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

  • Research advisor should be selected by the second semester at NDSU.
  • A minimum of 15 didactic credits numbered 700 -789 or 800-898,
    • at least 9 are not included in the Computer Science core courses listed above
    • none of these can be individual study course credits.
  • A maximum of two courses (6 credits) 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 advisor 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 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-51 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 examination 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 defense of the dissertation.

Some additional information regarding the course work:

  • A student holding a Master of Science degree from an educational institution of recognized standing may use:
    • 30 credits previously completed toward the 90 total credits required for the doctoral degree if the M.S. degree is in Computer Science OR
    • Up to 9 credits previously earned graduate level courses with a grade of B or better may be used toward the 90 total credits for the doctoral degree if the M.S. degree is not in Computer Science.
  • The 90 credits (including any credits transferred) must be computing-related with at least 39 credits involving significant graduate level computer science material, which are offered by a computer science department.
  • The 90 credits may include a maximum of 6 credits of non-didactic courses (independent studies or seminars). Seminars are limited to 3 of those credits.

Additional requirements for the Doctor of Philosophy + Master of Science option (Effective starting Fall 2024):

  • 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,
    • at least 9 are not included in the Computer Science core courses listed above
    • none of these can be individual study course credits.
  • A maximum of two courses (6 credits) at the 600 level; Field Experience/Practicum credits do not count.
  • 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-51 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.
  • Satisfactory completion of the comprehensive examination at the Ph.D. level (written exam based on the core courses).
  • 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