Doctor of Philosophy in Scientific Computing

Admission Requirements

  1. Master’s degree, normally in an engineering or science related field with an overall graduate GPA of at least 3.25 (on a 4.0 scale), or a Bachelor’s degree, normally in an engineering or science related field with an overall undergraduate GPA of at least 3.00 (on a 4.0 scale) and the Graduate Record Examination General Test.
  2. Prerequisites:
    • Expertise in a high level language and a basic knowledge of data structures.
    • Basic knowledge of formal languages, automata, and computability.
    • Basic knowledge of computer architecture or operating systems.
    • Basic knowledge of calculus, statistics, and linear algebra.
  3. Satisfy the School of Graduate Studies’ English Language Proficiency requirements as listed in the Graduate Academic Information section.

The department recognizes that the prerequisite expertise identified above may be acquired in several ways. Students who do not meet all of the requirements may be admitted to qualified status with the obligation of meeting the remaining requirements early in their graduate study.

Degree Requirements

Students seeking the Doctor of Philosophy in Scientific Computing degree must satisfy all general requirements set forth by the School of Graduate Studies. In addition, they must meet the following requirements set by the Computer Science Department:

1.   All students are required to obtain interdisciplinary graduate training. This requirement may be met by:

  a.     Either taking two course clusters from the computational category and one course cluster from an applications  category

  b.     Or taking three course clusters from the computational category and conducting dissertation research in an applications category in the applicable department.

2.     Course clusters must be approved by the student's Faculty Advisory Committee.

3.     Students may, with approval of the Computer Science Department's Graduate Committee, design their own                     applications category cluster.

4.     The student's Faculty Advisory Committee must include one member from the applicable applications cluster or        dissertation research.

5.     The Computer Science Department's Graduate Committee must approve the Faculty Advisory Committee membership.

6.     Students who have a degree in a field other than Computer Science are not required to obtain interdiscipli­nary graduate training. These students are required to take three computational category course clusters. In addition, the student's Faculty Advisory Committee will comprise only from Computer Science faculty.

 7.     Students with approved Bachelor degree:

a.  Must complete 51-66 credit hours of coursework;

          b.  Must complete eight of the core courses.

8.    Students with approved Master degree: 

a.  Must complete 27-39 credit hours of coursework;

b.  Must complete four of the core courses.

9.    Elective courses: CSci 500 and CSci 566 may not be used as electives. Only 3 credits of CSci 591 may be used as an    elective.

10.    Successful completion of written Graduate Qualifying Examination (GQE). The GQE's passing cut off point will be higher than the GQE's passing for Master Students (MS) taking the same exam. The GQE will consist of questions on each of the four areas. Moreover, the PhD students are required to complete GQE's requirement within the first 4 semesters, but are strongly encouraged to complete the GQE earlier in their studies.

11.   Successful completion of Graduate Comprehensive Exam (GCE).

12.   Completion of CSci 599 Dissertation research (9-21 credits).

13.   Completion of CSci 999 Dissertation (12 credits maximum).

14.   Final oral examination, which includes a defense of the dissertation.

CSCI 599Research1-21
CSCI 999Dissertation1-12

Core courses:

CSCI 513Advanced Database Systems3
CSCI 522Theoretical Foundations of Computer Science3
CSCI 532High Performance Computing and Paradigms3
CSCI 543Advanced Artificial Intelligence3
CSCI 551Security for Cloud Computing3
CSCI 555Computer Networks3
CSCI 565Advanced Software Engineering3
CSCI 575Analysis of Algorithms3

Core Clusters:

Computational Clusters:

The computing clusters contain related courses that provide depth of knowledge in specialized computing systems or methods.

  1. Software Engineering Cluster: Software engineering combines the ideas from engineering, management, and math disciplines in order to improve our ability to build complex software systems on time and within the budget. Requires any three of the following courses:
    CSCI 463Software Engineering3
    CSCI 562Formal Specification Methods3
    CSCI 565Advanced Software Engineering3
    CSCI 582Software Architecture3
  2. Data Management Cluster: The cluster enhances a student’s knowledge in data engineering and management. It includes the study of database systems, data management, data mining and data warehousing, digital libraries and information retrieval and systems.
    Requires the following three courses:
    CSCI 455Database Management Systems3
    CSCI 513Advanced Database Systems3
    CSCI 515Data Engineering and Management3
  3. Artificial/Computational Intelligence Cluster: The goal of this track is to provide the student with both classical and advanced topics in artificial and computational intelligence. It includes the study of problem solving methods, approximate reasoning, machine learning, decision making, data mining and other application techniques. Requires the following three courses:
    CSCI 543Advanced Artificial Intelligence3
    CSCI 544Soft Computing: Computational Intelligence I3
    CSCI 554Applications in AI/Computational Intelligence3
  4. Distributed Systems Cluster: The goal for this track is to provide the student with an understanding of the hardware technologies (hardware, network, and storage devices) required to develop a machine suitable for high performance computing. Requires the following three courses:
    CSCI 427Cloud Computing3
    CSCI 551Security for Cloud Computing3
    CSCI 555Computer Networks3
  5. High Performance Computing Cluster: The cluster provides an understanding of the system architecture (hardware, network, and storage devices) and the software technologies (MPI, PVM, and Java) required to create a system capable of high performance computing. Requires the following three courses:
    CSCI 451Operating Systems I3
    CSCI 532High Performance Computing and Paradigms3
    CSCI 575Analysis of Algorithms3
  6. Graphics and Visualization Cluster: The goal of this track is for the student to master the OpenGL graphics library, to develop a working understanding of signal and image processing techniques, and to be able to apply those skills to the visualization of results generated by complex computer simulations. Requires the following three courses:
    CSCI 446Computer Graphics I3
    CSCI 448Computer Graphics II3
    CSCI 547Scientific Visualization3
  7. Modeling and Simulation Cluster: In this cluster the student will study the various techniques for developing mathematical models and software simulations to predict the behavior of complex physical phenomena. Requires the following three courses:
    MATH 460Mathematical Modeling3
    CSCI 445Mathematical Modeling and Simulation3
    CSCI 545Discrete Dynamical Systems Modeling and Simulation3
Application Clusters

The application clusters provide exposure to specific scientific disciplines that commonly make use of scientific computing methods. In addition to the clusters listed here, other clusters may be defined by the Faculty Advisory Committee with approval of the Computer Science Department’s Graduate Committee.

  1. Computational Mathematics Cluster: This cluster provides an understanding of the computational methods used to solve complex mathematical problems on a digital computer. Requires three graduate level mathematics courses. Possible courses are:
    MATH 461Numerical Analysis3
  2. Computational Chemistry Cluster: This cluster provides an understanding of the mathematical tools used to solve several major classes of problems in modern theoretical chemistry on a digital computer. Requires three graduate level chemistry courses. Possible courses include:
    CHEM 4703
    CHEM 471Quantum Mechanics & Spectroscopy3
    CHEM 530Chemical Thermodynamics3
    CHEM 534Quantum and Computational Chemistry3
  3. Computational Physics Cluster: This cluster provides an understanding of the mathematical tools used to solve current problems in modern physics on a digital computer. Requires the following courses:
    PHYS 402Computers in Physics3
    PHYS 509Methods of Theoretical Physics3
    Select one of the following:3
    Introduction to Astrophysics
    Introduction to Astrophysics II
    Methods of Theoretical Physics
    Solid State Physics
    Solid State Physics II
    Quantum Mechanics
    Quantum Mechanics
    Theory Electricity Magnetism
    Theory of Electricity and Magnetism
    Statistical Physics
    Analytical Mechanics
  4. Atmospheric Sciences Cluster: This cluster provides an understanding of the mathematical tools used to solve several major classes of problems in modern atmospheric sciences on a digital computer. Requires the following courses:
    ATSC 505Advanced Atmospheric Dynamics3
    ATSC 530Numerical Weather Prediction3
    Select one of the following:3
    Atmospheric Data Analysis
    Measurement Systems
    Statistical Methods in Atmospheric Science
    Advanced Surface Transportation Weather
    Current/Special Topics in Meteorology

Office of the Registrar

Tel: 701.777.2711
1.800.CALL.UND
Fax: 701.777.2696

Twamley Hall Room 201
264 Centennial Drive Stop 8382
Grand Forks, ND 58202-8382