University of North Dakota Home
Office Name
'
A to Z Index'Directory'Map
InFORMATION FOR STUDENTS:
 
 
'
Computer Science
'
Professors: Grant, Hu, Kim, Liu, Marsh (Graduate Director), O’Neil (Chair), Reza and Wiggen

Program Description


The Department of Computer Science offers graduate study leading to the Master of Science degree. Both the thesis option and the non-thesis option are available. The department is a part of the John D. Odegard School of Aerospace Sciences which provides unique opportunities for research by faculty and graduate students. There is strong interest within the department in the areas of artificial intelligence, computer security, database, image processing, internet applications, networks, object oriented design, operating systems, simulation, software engineering, and theoretical computer science.

Admission Requirements
 
1.

Bachelor’s degree, normally in Computer Science.
  2. Overall undergraduate GPA of at least 2.85.
  3. Graduate Record Examination General Test or an undergraduate degree from a CAC/ABET-accredited degree program in Computer Science. 
  4. Eight prerequisites:
1) Expertise in two high-level languages (CSci 161, 260)
2) Basic knowledge of data structures (CSci 242)
3) Basic knowledge of computer architecture (CSci 370)
4) Basic knowledge of operating systems (CSci 451)
5) Basic knowledge of formal languages, automata, and computability (CSci 435)
6) Basic knowledge of discrete mathematics (Math 208)
7) Completion of one year of calculus (Math 165 and 166)
8) Completion of an additional course in statistics, probability, or linear algebra (Math 321, 327, 403, 421 or 442)

The department recognizes that the expertise identified above may be acquired in several ways, but the appropriate UND courses are listed as a guideline for prospective students. Students who do not meet all of these prerequisites may be admitted to Qualified status with the obligation of meeting the remaining requirements early in their graduate study but without graduate credit.


Degree Requirements

All students must complete the twelve-credit core of required courses, defined as follows:
  1. Two courses from the list below:
    CSci 522 Theoretical Foundations
    CSci 532 Programming Languages and Paradigms
    CSci 575 Analysis of Algorithms
    CSci 565 Advanced Software Engineering
 
2.

Two courses from the list below:
    CSci 513 Advanced Database Systems
    CSci 543 Advanced Artificial Intelligence
    CSci 551 Distributed Operating Systems
    CSci 555 Computer Networks

Applied Software Engineering Track
(non-thesis option, 32 credit hours)
 
1.

The core of required courses (12 credits).
  2. Four or five elective courses (12-15 credits). CSci 500 may not be used as an elective. Only 3 credits of CSci 591 may be used as an elective.
  3. The core and elective courses must include CSci 463 (Software Engineering) and either of CSci 565 (Advanced Software Engineering) or CSci 562 (Formal Specification Methods).
  4. CSci 566, Software Engineering Project (3-6 credits), defined in consultation with the student’s Independent Study Adviser.
  5. CSci 997, Independent Study (2 credits), a complete write-up of the Software Engineering Project in accordance with the department’s Software Engineering Project Report format requirements.
  6. Successful completion of a written comprehensive examination on the areas covered in the core courses selected by the student.

Computer Science Track
(thesis option, 30 credit hours)
 
1.

The core of required courses (12 credits).
  2. Four elective courses (12 credits). CSci 500 and CSci 566 may not be used as electives. Only 3 credits of CSci 591 may be used as an elective.
  3. CSci 998 Thesis (6 credits).
  4. Successful completion of a written comprehensive examination on the areas covered in the core courses selected by the student.
  5. A final oral examination, which includes a defense of the thesis.

Courses

500. Graduate Orientation. 1 credit. A discussion of various research and applied computing projects. Continued enrollment required of all graduate students until a research/project topic and an advisor are selected. S/U grading.

501. Topics in Computer Science.
1 to 3 credits. Prerequisite: Consent of instructor. Selected topics from current developments in Computer Science.

513. Advanced Database Systems. 3 credits. Prerequisite: CSci 455. A study of concurrency control, recovery, query processing and optimization, security, and new advancements including research issues in database systems.

522. Theoretical Foundations of Computer Science. 3 credits. Prerequisite: CSci 435. A selection of topics from theoretical computer science, possibly including formal languages, automata, other models of computation, and the theory of computability, decidability, and complexity.

532. Programming Languages and Paradigms. 3 credits. A study of current topics in programming languages and paradigms. Course content may vary with current issues and student interests.

537. Graduate Cooperative Education. 1 to 3 credits. Prerequisite: A minimum of 9 graduate credits in Computer Science. A practical work experience in advanced computing, approved by the student’s advisor. Requirements include a written report and an oral presentation upon completion of the work experience. S/U grading only.

543. Advanced Artificial Intelligence. 3 credits. Prerequisite: CSci 365 or CSci 384. Study and application of advanced and recent topics drawn from two or more areas of Artificial Intelligence: problem solving, knowledge representation, expert system, approximate reasoning, planning, machine learning, natural language processing and perception.

551. Distributed Operating Systems. 3 credits. Prerequisites: CSci 370; CSci 451; and one of CSci 327, CSci 427 or CSci 555. A study of operating systems in the context of distributed systems and distributed processing. Topics include: interprocess communication, process synchronization, distributed file systems and memory management, performance measurement and evaluation. A modern distributed processing system will be examined.

555. Computer Networks. 3 credits. Prerequisite: CSci 327. A study of new and developing network architectures and communication protocols. Broadband technologies will be considered including BISDN, ATM networks, and other high-speed networks.

562. Formal Specification Methods. 3 credits. Prerequisites: CSci 435 and 463. A foundational course that introduces several formal specification techniques for construction and analysis of software artifacts. Included are rigorous program development, abstract specifications of modules, and modeling of concurrent and distributed software.

565. Advanced Software Engineering. 3 credits. Prerequisite: CSci 463. A study of current topics related to the design and implementation of large software systems. Course content may vary with instructor and student interest. Potential topics include: software testing and validation, programming environments, program metrics and complexity, design methodologies, software reliability and fault tolerance.

566. Software Engineering Project. 3 to 6 credits. Prerequisite: CSci 463. The complete development of a useful software product, including specifications, design, documentation, coding, testing and verification. Students may work in teams. The project is supervised by the students’ Independent Study Advisor. This course may not be used as an elective for the thesis option in computer science.

575. Analysis of Algorithms. 3 credits. Prerequisite: CSci 435. The time and space complexity of classical computer algorithms is analyzed. NP hard and NP complete problems are characterized and illustrated.

591. Directed Studies. 1 to 3 credits. Prerequisite: Graduate standing, consent of instructor. An investigation of some specific area by an individual or small group of students working closely with a member of the graduate faculty.

997. Independent Study. 2 credits. S/U only.

998. Thesis. S/U only

427. Advanced Data Communications. 3 credits.

445. Modeling and Simulation. 3 credits.

446. Computer Graphics I. 3 credits.

452. Operating Systems II. 3 credits.

455. Database Management Systems. 3credits.

457. Electronic Commerce Systems. 3 credits.

463. Software Engineering. 3 credits.

465. Principles of Translation. 3 credits.

491. Seminars in Computer Science. 1 credit.
Office of the Registrar
Twamley Hall Room 201
264 Centennial Drive Stop 8382
Grand Forks, ND  58202-8382
Phone #: (701) 777-2711
Fax #: (701) 777-2696
Email: registrar@mail.und.nodak.edu