Computer Science
This is an archived copy of the 2022-23 catalog. To access the most recent version of the catalog, please visit http://catalog.ndsu.edu.
Program Description
The Department of Computer Science offers the Master of Science (M.S.) and Doctor of Philosophy (Ph.D.) degrees in Computer Science. For additional information, please contact the department at (701) 231-8562 or gradinfo@cs.ndsu.edu.
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.
Code | Title | Credits |
---|---|---|
CSCI 161 | Computer Science II | 4 |
CSCI 222 | Discrete Mathematics | 3 |
CSCI 366 | Database Systems | 3 |
CSCI 372 | Comparative Programming Languages | 3 |
-
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. They 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 100.
- Eligibility for a teaching assistantship/tutor requires the following additional requirements:
- minimum TOEFL ibT score of 81 (IELTS of 7)
- 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.
- minimum TOEFL ibT score of 81 (IELTS of 7)
- The eligibility for a grader requires
- minimum TOEFL ibT score of 79 (IELTS of 6.5)
- 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.
- minimum TOEFL ibT score of 79 (IELTS of 6.5)
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 obtaining 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 receive a 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.
Code | Title | Credits |
---|---|---|
Master of Science in Computer Science Degree Requirements | ||
Core courses (required of all students): | ||
CSCI 713 | Software Development Processes | 3 |
CSCI 724 | Survey of Artificial Intelligence | 3 |
CSCI 741 | Algorithm Analysis | 3 |
CSCI 765 | Introduction To Database Systems | 3 |
Thesis Option (Plan A) | ||
Additional 600-800 level Computer Science courses selected in consultation with your advisor. | 8-12 | |
CSCI 790 | Graduate Seminar | 2 |
CSCI 798 | Master's Thesis | 6-10 |
Total Credits | 32 | |
Comprehensive Study Option (Plan B) | ||
Additional 600-800 level Computer Science courses selected in consultation with your advisor. | 14-16 | |
CSCI 790 | Graduate Seminar | 2 |
CSCI 797 | Master's Paper | 2-4 |
Total Credits | 32 | |
Culminating Experience-Based Option (Plan C) | ||
Additional 600-800 level Computer Science courses selected in consultation with your advisor. | 24 | |
Total Credits | 36 |
- 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.
- 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 and B.
Code | Title | Credits |
---|---|---|
Bachelor's to Doctor of Philosophy | ||
Core Courses: (or their equivalent in transfer or examination credits) | ||
CSCI 713 | Software Development Processes | 3 |
CSCI 724 | Survey of Artificial Intelligence | 3 |
CSCI 741 | Algorithm Analysis | 3 |
CSCI 765 | Introduction To Database Systems | 3 |
CSCI 790 | Graduate Seminar | 3 |
Additional courses selected in consultation with your adviser. | 24-39 | |
CSCI 899 | Doctoral Dissertation | 36-51 |
Total Credits | 90 |
Code | Title | Credits |
---|---|---|
Master's to Doctor of Philosophy | ||
Core Courses: (or their equivalent in transfer or examination credits) | ||
CSCI 713 | Software Development Processes | 3 |
CSCI 724 | Survey of Artificial Intelligence | 3 |
CSCI 741 | Algorithm Analysis | 3 |
CSCI 765 | Introduction To Database Systems | 3 |
CSCI 790 | Graduate Seminar | 3 |
Additional courses selected in consultation with your adviser. | 9-15 | |
CSCI 899 | Doctoral Dissertation | 30-36 |
Total Credits | 60 |
- 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.
- 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.
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 Software 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, Cybersecurity
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: Artificial Intelligence, 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: Artificial Intelligence, Cybersecurity, Robotics, Technology Policy
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
Affiliate Faculty
Kendall Nygard, Ph.D.
Virginia Polytechnic Institute and State University, 1978
Gursimran Walia, Ph.D.
Mississippi State University, 2009