Graduate Faculty
701-231-8562
Anne Denton, Ph.D.
University of Mainz, Germany, 1996
Research Interests:
Data Mining, Bioinformatics, Scientific Informatics, Educational Technology, Model Building, Databases
Hyunsook Do, Ph.D.
University of Nebraska, 2007
Research Interests:
Software Engineering, Software Testing, Maintenance, and Empirical Methodologies.
Xiaojiang (James) Du, Ph.D.
University of Maryland, 2003
Research Interests:
Wireless Sensor Networks, Mobile Ad Hoc Networks, Computer Networks, Network Security
Yan Gu, Ph.D.
Georgia Institute of Technology, 2007
Research Interests: Parallel and Distributed Simulations
Dean Knudson , Ph.D.
Northwestern University, 1972
Research Interests:
Software Development and Management
Jun Kong , Ph.D.
University of Texas, Dallas, 2005
Research Interests:
Software Engineering; Human-Computer Interaction; Model Management
Kenneth Magel, Ph.D.
Brown University, 1977
Research Interests:
Software Engineering, Human-Computer Interfaces, Computer Networks, Subsymbolic Computation
John Martin, Ph.D.
Rice University, 1971
Research Interests:
Theoretical Computer Science, Theory of Computation
Kendall Nygard, Ph.D.
Virginia Polytechnic Institute and State University, 1978
Research Interests:
Electronic Commerce, Software Agents, Operations Research, Sensor Networks, Artificial Intelligence
William Perrizo, Ph.D.
University of Minnesota, 1972
Research Interests:
Distributed Database Systems, Centralized Database Systems
Brian Slator, Ph.D.
New Mexico State University, 1988
Research Interests:
Artificial Intelligence, Educational Games
Vasant Ubhaya, Ph.D.
University of California-Berkeley, 1971
Research Interests:
Algorithm Analysis, Operations Research
Dianxiang Xu, Ph.D.
Nanjing University, China, 1995
Research interests:
Software Engineering, Software Security, Applied Formal Methods, Testing, Software Agents
Weiyi (Max) Zhang, Ph.D.
Arizona State University, 2007
Research interests:
Computer Networks; Wireless Networks and Network Security
EMERITUS
Bruce Erickson, Ph.D.
Yale University, 1973
Research Interests:
Theoretical Computer Science, Graph Theory
Robert Gammill, Ph.D.
Massachusetts Institute of Technology
|
 |
 
Program Description
The Department of Computer Science and Operations Research offers the M.S. and Ph.D. in Computer Science. Graduate course work in Operations Research is offered and may be used to provide an operations research concentration to either program. For additional information, please contact the department chair (701) 231-6124.
Admissions Requirements
The following minimum qualifications are required of all students seeking an advanced degree:
- The applicant must have a baccalaureate degree from an educational institution of recognized standing.
- 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; at least one semester of calculus; 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 160, 161, 222 or 335, 372, and 373.
- The applicant for the M.S. 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.
- International students are welcome. They must submit a TOEFL score of at least 550 (paper-based), 213 (computer-based) or 79 (internet-based) to be considered for admission. Eligibility for a teaching or tutoring assistantship requires passing the test of spoken English (TSE) and achieving a TOEFL score of at least 600 (paper-based), 250 (computer-based) or 100 (internet-based).
- The applicant must have a 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.
- Admission to the program is competitive, and requirements for admission to this program are more rigorous than for admission to the M.S. program. In order to be considered seriously, an applicant must normally have the equivalent of at least a 3.25 GPA (on a 4-point scale). The admissions committee will look at 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.
TOEFL exam requirements are the same as for the MS degree.
Financial Assistance
Teaching assistantships are available to 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.
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 previous experience increases the likelihood of a teaching or tutoring assistantship being awarded. For all assistantships, a student's chances are greater after he/she has been at NDSU one or two semesters.
The department offers a tuition waiver only to students who are awarded an assistantship. There is a scholarship program, that includes a tuition waiver, administered by the Dean of The Graduate School. Students should contact The Graduate School office for application forms.
An application for assistantship requires completing an online application sent to the department. Applications for fall semester received by April 15 will be given full consideration.
Degree Requirements
Semester core courses (required of all students):
CSci 708 Foundations of Programming
CSci 713 Software Engineering I
CSci 724 Survey of Artificial Intelligence
CSci 765 Introduction to Database Systems
- 32 total graduate credits
- 12 core course credits plus two research seminar credits
- 8-12 credits of additional graduate coursework
- 6-10 credits of thesis research
- Research adviser should be selected by the fourth semester of attendance at NDSU
- Comprehensive Examination (on the core courses) completed by the end of the fourth semester.
- Final defense.
- 32 total graduate credits
- 12 core course credits
plus two credits of research seminar
- 14-16 credits of additional graduate coursework
- 2-4 credits of research
- Research adviser should be selected by the fourth semester of attendance at NDSU
- Comprehensive Examination (on the core courses) completed by the end of the fourth semester
- Final defense
A maximum of 9 semester credits may be transferred into the program. Such courses have to be approved on the plan of study.
There may be a maximum of 6 credits of independent study.
All course work must be approved by the student's adviser, Supervisory Committee, department chair, and graduate dean through the plan of study.
- 90 credits with up to 30 included from the M.S. degree
- 30 credits of research credit
- Research adviser should be selected by the fourth semester at NDSU
- Qualifying examination (written based on the M.S. core courses)
- Research proposal presentation and defense
- Dissertation
- Final defense
There are some additional requirements on the course work:
- The 90 credits must include three sequences of two courses each at the graduate level in computer science.
- Beyond the M.S. degree, a maximum of 9 credits of course work can be transferred. The remainder must be taken at NDSU.
- 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 four of those credits.
- The student's advisory committee, the department chair, and the graduate dean all must approve the course work on the plan of study.
Courses Offered
- 618 Simulation Models 3
- Fundamental techniques involved in using
a computer to simulate business, social, and industrial systems.
Includes principles of random variate generation, statistical
sampling, and design of experiments. Prereq: Stat 367.
626 Introduction to Artificial Intelligence 3
- Introduction to artificial intelligence.
Basic AI languages, concepts, and techniques. Prereq: CSci 372.
653 Linear Programming and Network Flows 3
- Linear programming models and applications;
primal and dual formulations; computational procedures; introduction
to networks, maximum flow, and shortest path problems. Prereq:
Math 265.
654 Operations Research 3
- Deterministic and probabilistic models
of operations research: networks and project management, dynamic
programming, nonlinear programming, inventory, queuing, reliability,
stochastic processes, and simulation. Prereq: CSci 453/653,
Stat 367.
658 Microcomputer Graphics 3
- Information on the techniques by which
computers generate images of 2D and 3D objects. Principles to
guide the use of computer graphics to enhance human-computer
interaction. Prereq: CSci 372, and Math 146 or 165.
659
Foundations of Networks 3
- LANs interconnect modern computer work
groups. LAN architecture, applications, implementations, protocols,
management, security, external connections, and future directions
are examined. Prereq: CSci 214, 474.
660 Dynamic Programming 3
- Basic principles and algorithms of dynamic
programming as applied to sequential decision problems in CS
and OR. Prereq: Math 166.
667 Algorithm Analysis 3
- Design, correctness, and analysis of
algorithms and data structures. Prereq: Math 166; and CSci 161,
222.
668 Database Systems Design 3
- Overview of the maintenance and manipulation
of databases. Includes a large project in C++. Prereq: CSci
366.
- 669 Network Security 3
- This course introduces cryptography and its application to network and system security. Topics include symmetric encryption, public key cryptography, email security, IP security, web security, network management security, intrusion detection, firewalls, etc. Prereq: CSci 459 or equivalent, programming in C, C++, or Java.
- 676 Computer Forensics 3
- This course is intended to acquaint the students with principles, tools, and practical skills necessary to perform investigations of incidents in which computers play a significant or interesting role. Prereq: CSci 474 or consent of the instructor.
677 Object-Oriented Systems 3
- Introduction to the concepts and advantages
of object-oriented computer systems. Introduces exercises with
at least one such language. Prereq: CSci 372.
- 679 Introduction to Data Mining 3
- Data mining versus query processing, data mining examples, introduction to the basic techniques in association rule mining, classification, clustering, data warehousing and online analytic processing. Application areas may include bioinformatics, homeland and network security, web searching, market basket research, and image and video analysis. Prereq: CSci 366.
688 Human-Computer Interaction 3
- Survey of the methodologies and alternatives
used in developing and evaluating human-computer interfaces.
Prereq: CSci 372. Cross-listed with Psyc.
689 Social Implications of Computers 3
- Presentation and discussion of several
ethical and social issues that have arisen from the introduction
of the computer, including copy-protected software and liability
for computer software errors. Prereq: CSci 372.
702 Performance Evaluation 3
- Examination of basic techniques used
to evaluate multi-programming systems. Both queuing models and
other analytical approaches are constructed with simulation
and direct measurements of actual systems. Prereq: CSci 475.
708 Foundations of Programming 3
- Introduction to formalisms, in which
computer programs are considered as mathematical objects, including
weakest precondition and predicate calculus. Prereq: CSci 236.
- 713 Software Development Processes 3
- This course is designed as a breadth course on the software engineering process. Basic concepts are reviewed and reassured to create a basis for higher concepts and techniques. Prereq: graduate standing.
- 714 Software Project Planning and Estimation 3
- This course is designed to introduce the student to the concepts and techniques of how to plan for a software project. This includes time and effort estimation, planning and teaming the project, and managing the development activities. Prereq: CSci 713.
- 715 Software Requirements Definition and Analysis
- This course is designed to make the student able to identify and capture requirements for a software system and be able to document and assess the requirements. Prereq: CSci 713.
- 716 Software Design 3
- This course covers both architectural design and module design. Students receive practice using a set of design patterns to produce software designs with several different types of architecture. Substantial presentation and practice with the UML modeling language is provided. Prereq: CSci 713.
- 717 Software Construction 3
- This course covers the fundamentals of software construction including programming and evaluation of the source code. Students receive a good grounding in and extensive practice with the comprehensive libraries associated with a modern programming language. Prereq: CSci 713.
- 718 Software Testing and Debugging 3
- This course covers the goals, practices, evaluation and limitations of software testing and software debugging. Students receive practice in developing and using test plans and various testing and debugging techniques. Prereq: CSci 713.
722 Compiler Construction 3
- Design and structure of complex grammars,
lexical analysis, parsers, semantic data structures, and code
generating and optimization. Construction of a simple compiler.
Prereq: CSci 372 or graduate standing.
724 Survey of Artificial Intelligence 3
- Survey of major areas of AI, including
theorem proving, heuristic search, problem solving, computer
analysis of scenes, robotics, natural language understanding,
and knowledge-based systems. Prereq: CSci 372 or graduate standing.
728 Computer Graphics 3
- Principles and algorithms used in computer
graphics packages. Emphasis on raster graphics, clipping, hidden-surface
elimination, ray-tracing, and radiosity. Prereq: Graduate standing.
730 Office Information Systems 3
- Exploration of the evolution of the
office since the introduction of the computer. Examination of
the introduction of computers, word processors, database management
systems, networks, and AI into the office. Prereq: CSci 160
or graduate standing.
- 732 Introduction to Bioinformatics 3
- An introduction to the principles of bioinformatics, including statistical techniques for the analysis of one or more gene sequences, and computational techniques for knowledge discovery from biological data. Prereq: Graduate standing.
734 Expert Systems 3
- Examination of types of expert systems,
their powers and limitations. Students write their own expert
system. Prereq: CSci 724.
735 Neural Networks 3
- Introduction to the parallel processing
paradigms that have been developed recently, including neuronetworks
and genetic algorithms. Students will work on projects using
these tools. Prereq: CSci 724. Cross-listed with Psyc.
737 System Simulation 3
- Systems, models, discrete event simulation
models, queuing systems, fundamental statistics of simulation.
Prereq: CSci 653, Math 166.
741 Algorithm Analysis 3
- Algorithm design and analysis, asymptotic
analysis, worst and average case, recurrences, generating functions,
divide-and-conquer, the greedy method, search and traversal,
backtracking, branch-and-bound. Prereq: CSci 161, Math 166.
742 Algorithms and Complexity 3
- Linear and nonlinear recurrences, algebraic
problems, fast Fourier transforms, lower bound theory, computational
geometry, the classes P and NP, NP--completeness, Cook's
theorem, NP-hard problems. Prereq: CSci 741.
- 745 Formal Methods for Software Development 3
- This course is a high level course with the aim of formal representation to be able to formally assess characteristics of software. The formal representations are based on the theoretical foundations of computer sciences such as set theory, logic, and graph theory. Prereq: CSci 713.
- 746 Development of Distributed Systems 3
- This course is an advanced course in software engineering aiming at strategies and solutions of distributed systems. It assumes the knowledge of software engineering and particularly the design and implementation of software systems, then builds on these concepts to discuss how distributed systems designed and implemented. Prereq: CSci 713.
- 747 Software Complexity Metrics 3
- This course covers complexity metrics for the entire software lifecycle. Students gain experience in using requirements metrics, design metrics, program metrics, test metrics, and planning metrics. The effectiveness and limitations of metrics in all these areas is emphasized. Prereq: CSci 713 and CSci 718.
751 Nonlinear Optimization I 3
- Convex sets, convex functions and extensions,
one-dimensional optimization, theory and algorithms for constrained
and unconstrained nonlinear programs, optimization without derivatives.
Prereq: CSci 653.
752 Nonlinear Optimization II 3
- Convergence, rates, primal and dual
methods of constraining optimizations of large-scale programs,
linear complementarity, quadratic programs, computational complexity,
minimax problems. Prereq: CSci 751.
760 Dynamic Programming 3
- Dynamic programming as an algorithm
design method, formulating and solving problems using dynamic
programming, deterministic and stochastic problems in OR and
CS. Prereq: Math 166.
761 Integer Programming 3
- Integer linear programs and modeling,
theory and algorithms, duality and relaxation, cutting plane
and branch-and-bound methods, combinational problems, total
unimodularity, matching and matroids. Prereq: CSci 653.
762 Network Flows 3
- Theory and algorithms for network flow
optimization including network representation data structures,
basic change methods, maximum flow, shortest path, minimum cost
problems, and generalized networks. Prereq: CSci 653.
765 Introduction to Database Systems 3
- Basic database concepts, models, management
facilities, data structures, storage structures, data definition
languages, data manipulation languages, normalization, operator
implementation algorithms, transactions, correctness, reliability,
distribution, performance analysis. Prereq: CSci 366 or graduate
standing.
- 773 Foundations of the Digital Enterprise 3
- The course covers current and emerging electronic digital technologies, including web development, security, server management, and privacy. Prereq. CSci 372 or consent of instructor.
773 Topics of the Digital Enterprise 3
- Topics in database, networks, cryptology, security, and software engineering as they apply to the digital enterprise. Prereq. CSci 315 and CSci 773.
-
766 Database System Internals 3
- Transaction management, processing,
correctness, recoverability, serializability (conflict and view),
concurrency control (2PL, BTO, SGT, multiversion), recovery,
distributed systems (correctness, recovery, replication), query
processing and optimization. Prereq: CSci 765.
778 Computer Networks 3
- Examination of computer networks using
the ISO-OSI model as a framework. Practical and theoretical
issues are explored in modems, codes, error, impairments, modulation,
protocols, and interfaces. Prereq: CSci 474 or graduate standing.
- 779 Advanced Data Mining 3
- Topics include association rule mining, classification and clustering. Applications to such areas as bioinformatics, homeland and network security, web searching, market basket research, and image and video analysis will be included. Prereq: CSci 765 or departmental approval.
783 Topics in Software Systems 3
- Includes an area of computer science
not otherwise treated in computer science courses. Varies each
time offered. May be repeated. Prereq: Graduate standing or
departmental approval.
785 Topics in Computer Architecture 3
- Includes an area of computer architecture
not considered in other courses. Varies each time offered. May
be repeated. Prereq: Graduate standing or departmental approval.
787 Topics in Operations Research 3
- Includes an area of operational research
not considered in other courses. Varies each time offered. May
be repeated. Prereq: Graduate standing or departmental approval.
789 Topics in Theoretical Computer Science 3
- Includes an area of theoretical computer
science not considered in other courses. Varies each time offered.
May be repeated. Prereq: Graduate standing or departmental approval.
-
-
-
-
- 790 Graduate Seminar 1-3
793 Individual Study/Tutorial 1-5
696/796 Special Topics 1-5
797 Master's Paper 1-3
798 Master's Thesis 1-10
799 Doctoral Dissertation 1-15
|