Graduate Catalog | CSH | Anthropology
| Biology
| Chemistry
| Criminal
Justice & Criminology | Computer Science | English
| Geography
| Geological
Sciences | History
| Mathematical
Sciences | Center for
Medical Education | Modern
Languages & Classics | Natural
Resources & Enivronmental Management | Philosophy
& REligious Studies |
Physics
& Astronomy | Physiology
& Health Science | Political
Science | PsychologIcal
Science | Social
Work | Sociology
| Speech
Pathology & Audiology
COMPUTER
SCIENCE
Robert P. Bell Building 455,
765-285-8641
PROGRAMS
The
master of science (MS) degree is primarily for
students with undergraduate degrees in computer science who plan to undertake
further graduate study or apply computer science in a variety of fields. A
minor in computer science is also offered.
See the Science
listing under the College of Sciences and Humanities, page 180, for the doctoral programs in
science education and philosophy in environmental science.
Admission
requirements
In
addition to meeting the admission requirements of the Graduate School,
applicants must have departmental approval for admission. Applicants must
submit three letters of recommendation, a one-page statement of educational
goals, and scores from the Graduate Record Examination (GRE). Students without
an adequate computer science background will be required to take directed
courses in which they earn an average grade of at least a B. No credit toward a degree will be granted for these courses.
MASTER
OF SCIENCE IN COMPUTER SCIENCE
Required
mathematics background courses (unless the student has credit in equivalent
courses). No graduate credit given, but a GPA of at least 3.0 is to be
maintained.
PREFIX NO SHORT TITLE CR HRS
MATHS 161 Appl
Calc 1 (3)
162 Appl Calc 2 (3)
217 Lin Algebra (4)
221 Pbty Stats (3)
Required
computer science
background courses (unless the
student has credit in equivalent
courses). No credit given toward the
degree, but a grade of at least a B
is
to be earned in each course.
CS 120 Comp Sci 1 4
121 Comp Sci 2 4
124 Discr Struct 3
230 Org Arch 3
324 Dsg Ana Algo 3
335 Prog Lang 3
Thesis option
Required courses
CS 570
Thy Cmptn 1 3
670 Thy Cmptn 2 3
689
Res Methods 3
690 Software Eng 3
THES 698 Thesis (1-6) 6
15
hours of electives (including at
least one 600-level course, other
than CS 699)
CS 527 Networks (3)
530 System Prog (3)
536 Database Dgn (3)
538 Graphics (3)
539 Curr Tpcs (3-6)
545 Hum-Comp Int (3)
555
Data Mining (3)
556 Image Proc (3)
557 Appl Cryptog (3)
576 Op Systems (3)
636 Adv Db Sys (3)
638 Topics Graph (3)
639 Seminar (3)
642 Simulations (3)
665 Ap
Comp Geom (3)
668 Graph Algo (3)
675 Model Check (3)
678 Compil Const (3)
699 Read Honor (3)
MATHS 562 Numer
Anls 1 (3)
563 Numer Anls 2 (3) 15
———
33
hrs
Nonthesis
option
Required courses
CS 570 Thy Cmptn 1 3
670 Thy Cmptn 2 3
689 Res Methods 3
690 Software Eng 3
21 hours of electives (including at
least
two 600-level courses, other
than
CS 699)
CS 527 Networks (3)
530 System Prog (3)
536 Database Dgn (3)
538 Graphics (3)
539 Curr Tpcs (3-6)
545 Hum-Comp Int (3)
555
Data Mining (3)
556 Image Proc (3)
557 Appl Cryptog (3)
576 Op Systems (3)
636 Adv Db Sys (3)
638 Topics Graph (3)
639 Seminar (3)
642 Simulations (3)
665 Ap
Comp Geom (3)
668 Graph Algo (3)
675 Model Check (3)
678 Compil Const (3)
699 Read Honor (3)
MATHS 562 Numer
Anls 1 (3)
563 Numer Anls 2 (3) 21
———
33
hrs
MINOR IN COMPUTER SCIENCE
PREFIX NO SHORT TITLE CR HRS
12 hours from
CS 527 Networks (3)
530 System Prog (3)
536 Database Dgn (3)
538 Graphics (3)
545 Hum-Comp Int (3)
555
Data Mining (3)
556 Image Proc (3)
557 Appl Cryptog (3)
570 Thy Cmptn 1 (3)
576 Op Systems (3)
636 Adv Db Sys (3)
638 Topics Graph (3)
639 Seminar (3)
642 Simulations (3)
665 Ap
Comp Geom (3)
668 Graph Algo (3)
670 Thy Cmptn 2 (3)
675 Model Check (3)
678 Compil Const (3)
689 Res Methods (3)
690 Software Eng (3)
699 Read Honor (3)
MATHS 562 Numer
Anls 1 (3)
563 Numer Anls 2 (3) 12
———
12
hrs
DOCTOR
OF EDUCATION (EdD and PhD) WITH MAJOR IN COMPUTER
SCIENCE
EdD program in science education and
PhD program in philosophy in environmental science with computer science as the
major area is available. See the Science listing on page 180 under the College of Sciences and
Humanities for details.
COGNATE
IN THEORY OF COMPUTING
This
cognate is aimed at the EdD in science candidate who
already has the background course work in computer science that is required of
all candidates entering the master of science degree
program in computer science, as well as the relevant mathematical background
prerequisites to the program.
Degree
requirements
PREFIX NO SHORT TITLE CR HRS
CS 570 Thy Cmptn 1 3
668 Graph Algo 3
670 Thy Cmptn 2 3
———
9
hrs
Electives (choose two courses for
the
15-credit-hour cognate, or five
courses
for the 24-hour cognate.)
CS 538 Graphics (3)
555 Data Mining (3)
557 Appl Cryptog (3)
638 Topics Graph (3)
639 Seminar (3)
642 Simulations (3)
665 Ap
Comp Geom (3)
675 Model Check (3)
678 Compil Const (3)
699 Read Honor (3)
MATHS 562 Numer
Anls 1 (3)
563 Numer Anls 2 (3)
———
6
or 15 hrs
Up
to 9 hours of 500-level courses permitted on the 15-hour cognate; up to 12
hours of 500-level courses permitted on the 24-hour cognate.
A total of 9 hours of CS 699 may be earned for the 24-hour
cognate and a total of 6 hours of CS 699 may be earned for the
15-hour cognate.
PRE-MASTERS
OF COMPUTER SCIENCE CERTIFICATE
PREFIX NO SHORT
TITLE CR HRS
Required courses
CS 524 Dsg Ana Algo 3
535 Prog Lang 3
570 Thy Cmptn 1 3
Electives, 9 hours from
CS 527 Networks
(3)
530 System Prog (3)
536 Database Dgn
(3)
538 Graphics (3)
545 Hum-Comp Int (3)
547 Net Security (3)
555 Data Mining (3)
556 Image Proc (3)
576 Op Systems (3) 9
———
18 hrs
COMPUTER
SCIENCE (CS)
515 Game Programming. (3) An introduction to game programming.
Topics include active and passive rendering, sprite animation, collision
detection, audio playback, input devices, deployment, and applications of
artificial intelligence.
Prerequisite:
CS 324.
Not
open to students who have credit in CS 315.
517
Introduction to Programming. (3)
Software development using a high-level programming language (such as C++ or
Java) for a wide range of information system applications. Structured
programming, data types, functions, arrays, pointers, and recursion. Applications from areas of interest.
Not open to graduate majors in computer
science.
524 Design and
Analysis of Algorithms. (3) Topics include: analysis of
algorithms; dynamic programming; probabilistic algorithms, examples of
geometric, combinatorial and graph algorithms, pattern matching; introduction
to NP-completeness. Hours do not apply to master's degree in computer science.
Prerequisite:
CS 121 or equivalent and either MATHS 161 or 165 or equivalent.
527 Internetworking. (3)
The hardware and software of computer networks and distributed processing. Develops the important design parameters and a general design
methodology.
Prerequisite: CS 324.
Not open to students who have credit in
CS 327.
530 System Programming. (3)
Considers the computer system from the points of view of its architecture,
operating system, and applications. Topics include processor organization,
peripheral devices, I/O programming, system programs, monitor services, file
organization, and real-time applications.
Prerequisite:
CS 230.
Not
open to students who have credit in CS 430.
535 Programming Languages.
(3) Study of principles of programming
languages. Emphasizes language paradigms and important
features, structures, characteristics, and formal syntax of modern high-level
programming languages. Examples of languages in each paradigm will be
studied. Hours do not apply to master's degree in computer science.
Prerequisite: CS 230 or equivalent.
536 Database
Design.
(3) An introduction to database design, including physical
representation, modeling, database systems, and implementation.
Prerequisite: CS 324.
Not open to students who have credit in
CS 436.
538 Computer Graphics. (3) Methods of developing, modifying,
and rendering graphics displays. Emphasizes the design and
writing of graphics software for both two- and three-dimensional displays.
Knowledge of a structured high-level language is required.
Prerequisite:
CS 324.
Not
open to students who have credit in CS 438.
539 Current Topics. (3) In-depth study of a topic taught in
a seminar format. Topics will be posted in the department before registration.
Prerequisite:
CS 324, 335.
A total of 9 hours of credit may be
earned, but no more than 6 in any one semester or term.
545
Human-Computer Interaction. (3) Investigation
into the principles and practice of user interface design, evaluation, and
implementation. Topics include user-centered design, graphical user interface
programming, evaluation methods, and software architectures.
Prerequisite:
CS 324.
547
Computer, Information, and Network Security. (3)
Topics include encryption, decryption, protocols, viruses, network security,
authentication, legal and ethical issues, and security in operating systems,
databases, e-commerce, Internet, wireless. Algorithms, protocols, applications
such as RSA, DES, SSL, Firewalls, Digital Signatures, and VPNs, and emerging
topics will be explored.
Prerequisite: CS 121.
555 Data Mining. (3) Topics include data preprocessing,
clustering analysis, data classification, mining association rules, data mining
and database, complex data mining, Web mining, new application in data mining
such as intrusion detection and bio-informatics.
Prerequisite:
CS 324.
Not
open to students who have credit in CS 455.
556 Image Processing. (3) Project based, dealing with basic
principles of digital image processing and computer vision. Topics: digital
image formats, geometric operations on digital images, filtering, histogramming, binarization of
grayscale images, labeling binary images, perimeter and area determination,
thinning operations, object recognition using global features, edge detection
processes, and other topics as time permits.
Prerequisite:
CS 324.
557 Applied Cryptography. (3)
Introduction of basic principles and application of cryptography. Topics
include encryption, decryption, private and public key systems, and their
mathematical foundation: divisibility and Euclidean algorithms, arithmetic of congruences, and large prime numbers. Projects are
implementations of related algorithms. LISP and JAVA are recommended languages.
Prerequisite:
CS 324.
570 Theory of Computation 1.
(3) Mathematical logic; alphabets and languages; finite
automata, regular and nonregular languages, and Kleene’s theorem; regular grammars; pushdown automata and
context-free grammars; Turing and Post machines; recursive and recursively
enumerable languages; the Chomsky Hierarchy.
Prerequisite: CS 324 or permission of the
instructor.
Not open to students who have credit in CS 470.
576 Operating Systems. (3) Investigate the functions and
structure of computer operating systems, processors, and memory. Topics include
process control, concurrency, scheduling, security, and file systems.
Introduces topics in systems programming, including I/O programming, signals,
and IPC.
Prerequisite:
CS 230, 324.
Not
open to students who have credit in CS 376.
597 Multitier Web Architectures. (3)
Topics include n-tier architectures, data access and application logic layers,
Web services, scalability, advanced XML, service-oriented architectures, object
access protocols, and Web site administration and security. Projects will be
used to reinforce concepts.
Prerequisite:
CS 324.
Not
open to students who have credit in CS 397.
614 (514) Web Programming. (3)
Technical foundations for rich, interactive Web sites and current topics in Web
programming. Client and server side Web programming to enable Web 2.0
applications.
Open
only to non computer science graduate students.
616 (516) Digital Animation. (3)
Introduces tools and skills needed to create digital animations. Students work
with different development environments, techniques, interface designs, and
audio/visual sequences.
Open
only to non computer science graduate students.
629 Special Topics. (1-6) Special topics in computer science
for non-CS graduate students. Topics will be posted by the department prior to
registration.
A total of 6 hours of credit may be
earned, but no more than 3 in any one semester or term.
636 Advanced Database Systems. (3)
Topics include knowledge representation and ontology concepts, object database
concepts, database security and authorization, distributed databases,
client-server architectures, Internet databases, and emerging database
technologies and applications. Programming of both database techniques and
application servers is based on current technologies such as ORACLE.
Prerequisite:
CS 536.
638
Advanced Topics in Computer Graphics. (3) Topics
will be chosen from current research areas in computer graphics and from
advanced topics in classical computer graphics. Possible topics include
fractals, ray tracing, animation techniques, and geometric modeling.
Prerequisite:
CS 538.
639
Seminar in Computer Science. (3)
Readings and conferences assigned in some particular problem or group of
problems in computer science.
Prerequisite:
CS 324, 335.
642 Simulation Techniques. (3)
An introduction to the principles and applications of simulation. Use of higher-level languages and simulation languages as applied
to system studies. Use of examples from different
subjects to carry out simulation.
Prerequisite:
CS 121; MATHS 221.
665 Applied Computational Geometry.
(3) Topics such as algorithms for polygon triangulation,
polygon partitioning and their applications, convex hulls in two and three
dimensions and their applications, Voronoi diagrams
and their applications, search and intersection algorithms, robot motion
planning, and implementation of algorithms.
Prerequisite: CS 324 or permission of the
instructor.
668 Graphs, Algorithms, and Applications.
(3) Concepts of graph theory. Algorithms for
graph traversal, shortest paths, connectivity, spanning trees, and matchings. Applications of graphs to computer
programming, software engineering, VLSI design, networks and flows, and
parallel programming.
Prerequisite: CS 324 or permission of the
instructor.
670 Theory of Computation 2.
(3) Computability and decidability; introduction to the theory
of computational complexity; the classes sP and NP;
NP-completeness; examples of some NP-complete problems; nondeterminism
and parallel computation; proving the correctness of programs.
Prerequisite: CS 570.
675 Model Checking. (3) Overview of formal verification
techniques in software engineering; system modeling with automata; temporal
logics; algorithms and techniques of model checking; study and use of model
checkers such as SPIN; applications of model checking to critical systems in
industry.
Prerequisite:
CS 324, 335.
678
Compiler Construction. (3)
Review of context-free grammars and basic parsing concept, compiler
organization, and construction of components for a compiler.
Prerequisite:
CS 570.
689 Research Methods. (3) Discussions on research areas in
computer science, scientific methods of research, and dissemination of
research. Requirements include presentations and written reports that
demonstrate proficiency in presentation tools and techniques, statistical and
experimental design techniques, and library and literature searches.
Prerequisite:
6 hours of CS graduate courses.
690 (697) Software Engineering. (3) Software
engineering principles and concepts. The software life cycle, structured
specifications, design tools and
techniques,
software reliability, and verifying program correctness.
Prerequisite:
CS 324 and 3 computer science graduate courses or permission of the instructor.
Not
open to students who have credit in CS 495.
691 Software Requirements and Design. (3) Methods,
tools, and notations for requirements capture, analysis and design. Unified Modeling Language (UML), logic and algebraic specification,
prototyping, use cases, domain modeling, software architecture, design
patterns, refactoring, software reuse.
Prerequisite:
CS 690.
692 Software Verification and Validation. (3)
Concepts and techniques for testing software; unit, integration, system, and
regression testing; test coverage, test case generation, tools for automated
testing. Verification of nonfunctional properties.
Prerequisite:
CS 690.
699 Reading and Honors. (3)
Special advanced work not offered in other courses. Requirements include a
final written report and a presentation in the departmental colloquium series.
Prerequisite:
CS 324, 335; permission of the department chairperson.
A total of 6 hours of credit may be
earned, but no more than 3 in any one semester or term.
A total of 12 hours of combined CS 539,
639, and 699 credit may be earned.