|
 |
| 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. |
|
|
|