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
  • The applicant for the Computer Science M.S. degree program must have a cumulative grade point average (GPA) in all previous courses of at least 3.0 (out of 4.0) or equivalent to attain full standing.
  • The applicant for the Computer Science M.S. degree program must have a score above the median (50th percentile) for the quantitative reasoning portion of the GRE exam.
  • International students are welcome to apply. They must submit TOEFL, IELTS, or PTE Academic score. Minimum requirements are: TOEFL score of at least 550 (paper based) or 79 (internet based); IELTS score of at least 6.5; or PTE Academic score of at least 53.
  • Eligibility for a teaching assistantship requires the following additional requirements:  minimum TOEFL ibT score of 81 (IELTS of 7), a TOEFL ibT Speaking subscale score of 23 or above and a TOEFL ibT Writing subscale score of 21 or above. The IELTS equivalent scores are 6.0 and 6.0 respectively.
  • These individuals must have a minimum TOEFL ibT score of 79 (IELTS of 6.5) and must score at or above the 40th percentile on the TOEFL ibT Speaking and Writing subscales (currently 19 and 21 respectively). The IELTS equivalent scores are 5.5 and 6.0 respectively.

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. The applicant for Computer Science Ph.D. degree program must have a GRE score above the median (50th percentile) for the quantitative reasoning portion. 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 waiver of graduate tuition and a monthly stipend. 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
  • Research adviser should be selected by the end of the second semester at NDSU.
  • A Plan of Study listing coursework and examination committee members should be completed by the end of the second semester at NDSU.
  • All course work must be approved by the student's adviser, Supervisory Committee, department chair, and graduate dean through the plan of study.
  • A maximum of 9 semester credits may be transferred into the program. There may be a maximum of 6 credits of independent study.
  • Comprehensive Examination (on the core courses) should be completed by the end of the fourth semester.
  • Final Oral Examination on the student's research.

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
  • 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 Computer Science Core Courses listed above.
  • 30-45 semester 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.
  • Research proposal presentation and preliminary oral examination (qualifying exam) should be completed by the fourth semester at NDSU
  • Satisfactory completion of the Comprehensive Exam at the PhD Level. (written based on the core courses)
  • Dissertation
  • Final oral examination on 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 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.
  • The 90 credits (including any credits transferred) must be computing-related with at least 45 credits involving significant graduate level computer science material. Generally, these credits would be offered by a computer science department.
  • The 90 credits may include a maximum of 15 credits of non-didactic courses (independent studies or seminars). Seminars are limited to 4 of those credits.
  • The student's advisory committee, the department chair, the college dean, and the graduate dean all must approve the course work on the plan of study.

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