|
11.6.5 DEPARTMENT OF COMPUTER SCIENCE (CS)
Head:
Professor David W. Cordes, Office: 101 Houser Hall
The
Department of
Computer Science offers interdisciplinary graduate programs leading
to the master of science and doctor of philosophy degrees. The
programs are for students who are interested in professional careers
in computer science. Two master's degree programs are available. The
Plan I (thesis) degree is a research-oriented degree, while the Plan II
degree is for
students who are interested primarily in design.
Research activity
in the department includes active investigations in software
engineering, algorithms, database management, networks, parallel and
distributed computation, programming languages, robotics, and
human-computer interaction.

Admission
Requirements
In
addition to meeting the admission requirements established by the
Graduate School (Admission
Criteria), students applying for graduate study in the
department must also meet the following general requirements: (1)
demonstrated competence in programming; (2) completion of the
equivalent of the department's undergraduate core computer science
curriculum; and (3) demonstration, by an appropriate score on the
general test of the Graduate Record Examination, of competence in
the discipline of computer science.
Each student must
submit scores from the Graduate Record Examination general test.
This requirement may be waived for a student who graduated with a
GPA of 3.0 or higher on a 4.0 scale from an institution accredited
by the CAC Accreditation Commission of ABET, 111 Market Place, Suite
1050, Baltimore, MD 21202-4012 – telephone (410) 347-7700. It is
strongly recommended that each student submit a score from the GRE
Subject Exam in Computer Science, particularly students who wish to
be considered for funding opportunities.
Additional
details of these requirements may be obtained directly from the
department. Applicants who present most but not all of these
qualifications may be considered for conditional admission.

Degree
Requirements:
Master of
Science
Departmental degree requirements for the MS degree, which are in
addition to those established by the College and by the Graduate
School, are as follows for Plan I and Plan II students:
-
Each Plan I candidate must earn a minimum of 24 semester hours of
credit for coursework,
plus a 6-hour thesis under the direction of a faculty member.
-
Each Plan II
candidate must earn a minimum of 30 semester hours of credit for
coursework, which may include a 3-hour nonthesis project under
the direction of a faculty member.
-
Unlike the
general College of Engineering requirements, graduate credit may
not be obtained for courses at the 400-level.
Both plans
also have core and depth requirements, which can be found at the
website of the Department of
Computer Science.
Additional information is in the
Degree Requirements
section of this catalog.
Doctor of
Philosophy
The doctor of philosophy degree is regarded as a research degree and
is granted on the basis of scholarly proficiency, distinctive
achievement in a special field, and the capacity for independent,
original investigation. The first two criteria are tested in
coursework and a qualifying examination, the last by a dissertation
that must present the results of substantial research clearly and
effectively. A combination of these accomplishments, rather than the
mere accumulation of residency and course credits, is the essential
consideration in awarding the PhD degree.
A minimum of 48
semester hours of course credit is required. Graduate credit may not be obtained for courses at the
400-level. Approval of the
selection of courses must be obtained from the student's advisor and
supervisory committee, and the course of study as a whole must be
unified so that all its parts contribute to an organized program of
study and research. A
PhD Plan of Study (available at the Graduate School website) must be prepared and submitted to the Graduate School not later than the semester in
which the student accumulates 30 hours of transfer and/or UA course
work.
Students also
must complete at least 24 semester hours of
dissertation research and have fulfilled residency, passed the
comprehensive (preliminary) and other exams.
A department-approved
Admission to Candidacy for the Doctoral Degree is submitted to the
Graduate School as soon as possible after passing the comprehensive
(preliminary) examination. See the website for the
Department of Computer Science
and Graduate Catalog (Sec.
4.11.3)
for details on plan of study, admission to candidacy, and all other
degree requirements.
All requirements for the
PhD must be completed within 7 years (21 fall, spring and summer
semesters) of the admission semester. See this catalog's
time limits
section for details.

Course Descriptions
CS 500 Discrete Mathematics for Computer
Science. (3-0) Three hours.
Prerequisites: MA 301, and
either CS 470 or CS 570
This course
applies techniques of discrete mathematics to computer science
problems. Topics include logic, proofs, number theory, graphs,
trees, sets, relations, counting, recurrences, generating functions,
probability, and expectation.
CS 503 Programming Languages. (3-0) Three hours.
Prerequisites: CS 325 and CS 357, and ECE 383. (Not open to students
who have earned credit for CS 403.)
This course provides a graduate level presentation of Programming
Languages. Formal student of programming language specification,
analysis, implementation, and run-time support structures;
organization of programming languages with emphasis on language
constructs and mechanisms; and study of non-programming paradigms.
CS 507 Software Interface Design.
(3-0) Three hours.
Prerequisites: CS 325 and CS 357, or MIS 320 (Not open to students
who have earned credit for CS 407.)
Concepts of the human-computer interface, emphasizing the software
aspects. Dialog styles, form models, user documentation and the
evaluation of human-computer software interfaces.
CS 515 Software Design and
Development. (3-0) Three hours.
Prerequisites: CS 325 and CS 357 or MIS 320 (Not open to students
who have earned credit for CS 415.)
This course provides a graduate level presentation of Software
Design and Development. Introduction to software engineering; the
software crisis, program life-cycle, software systems analysis
techniques, theory and practice of design, structured techniques,
program testing methodologies, programmer team organization, and
program verification and synthesis.
CS 524 Java Programming. (3-0)
Three hours. (Not open to students who have earned credit for CS
424.)
Prerequisites: CS 325, CS 357, and ECE 383.
Object-oriented programming using the Java programming language and
applications programming interfaces.
CS 526 Introduction to Operating
Systems. (3-0) Three hours.
Prerequisites: CS 325, CS 357, and ECE 383. (Not open to students
who have earned credit for CS 426.)
This course provides a graduate level presentation of Introduction
to Operating Systems. Study of basic operating system concepts with
an emphasis on memory processor, device, and information management.
CS 534 Compiler Construction.
(3-0) Three hours.
Prerequisites: CS 325, CS 357, and ECE 383. (Not open to students
who have earned credit for CS 434.)
This course provides a graduate level presentation of Compiler
construction. Syntax and semantics of procedure-oriented languages
and translation techniques used in their compilation; includes
computer implementation.
CS 535 Computer Graphics. (3-0)
Three hours. (Not open to students who have earned credit for CS
435.)
Prerequisite: CS 325, CS 357, and ECE 383.
Display memory, generation of points, vectors, etc. Interactive
versus passive graphics, analog storage of images on microfilm, etc.
Digitizing and digital storage, pattern recognition by features,
syntax tables, and random nets. The mathematics of three dimensions,
projections, and the hidden-line problem.
CS 538 Computer Communications and
Networks. (3-0) Three hours.
Prerequisites: CS 325, CS 357, and ECE 383. (Not open to students
who have earned credit for CS 438.)
This course provides a graduate level presentation of Computer
Communications and Networks. The student of the issues related to
Computer communications. Topics include physical topologies,
switching, error detection and correction, routing, congestion
control, and connection management for global networks (such as the
Internet) and local area networks (such as Ethernet). In addition,
network programming and applications will be considered.
CS 557 Database Management Systems. (3-0) Three hours.
Prerequisites: CS 325, CS 357, and ECE 383. (Not open to students
who have earned credit for CS 457.)
This course provides a graduate level presentation of Database
Management Systems. Constituent parts of database management
(design, creation, and manipulation of databases), client-server,
relational, and object-oriented data models.
CS 560
Introduction to Autonomous Robotics. (3-0) Three
hours.
Prerequisites:
CS 426, CS 470
Issues involved
with the implementation of robot control software including motion,
kinematics, simulation testing, sensor incorporation and unmodeled
factors.
CS
567 Computer Systems Architecture.
(3-0) Three hours. Same as ECE 584.
For description, see
ECE 584.
CS 570 Introduction to Computer Algorithms. (3-0) Three hours.
Prerequisites: CS 325, CS 357, ECE 383, and Math 301. (Not open to
students who have earned credit for CS 470.)
This course provides a graduate level presentation of Introduction
to Computer Algorithms. Construction of efficient algorithms for
computer implementation.
CS 580 Computer Simulations.
(3-0) Three hours. (Not open to students who have earned credit for
CS 480.)
Prerequisites: CS 325, CS 357, and ECE 383.
Use of digital computer simulation in the analysis of large-scale
systems. Comparison of discrete change simulation language; design
of simulation experiments for optimization; validation of simulation
models.
CS 591 Special Topics in Computer
Science. (3-0) Three hours.
Formal courses that cover new and innovative topics in computer
science and do not yet have their own course numbers. Specific
course titles will be announced.
CS 592 Independent Study in Computer
Science. Variable credit.
This course requires a written proposal that must be approved by the
sponsoring faculty member before registration.
CS 598 Research Not Related to Thesis.
Variable credit.
CS 599 Master's Thesis Research. Variable credit.
CS 600 Foundations of Software
Engineering. (3-0) Three hours.
Prerequisite: CS 415 or
CS 515.
Introduction to formal software development techniques; theoretical
foundations of specification, design, and testing; and programming
methodologies and software reuse.
CS 601 Design and Analysis of
Computer Algorithms. (3-0) Three hours.
Prerequisite: CS 470 or
CS 570.
A study of algorithm design techniques; analysis of performance of
algorithms; and fundamental principles and concepts of algorithm
construction, proof, and analysis.
CS 602 Advanced Formal Languages and
Machines. (3-0) Three hours.
Prerequisite: CS 470 or CS 475 or
CS 570.
Regular languages, context-free languages, recursive and recursively
enumerable languages, nondeterminism, and undecidability.
CS 603 Organization of Programming Languages.
(3-0) Three hours.
Prerequisite: CS 403 or
CS 503.
Design and implementation of programming languages; syntax and
translation; semantic structures and run-time representations; data,
operations, control structures, and storage management.
CS 605 Theory of Artificial
Intelligence. (3-0) Three hours.
Prerequisite: CS 465.
Concepts of artificial intelligence, with emphasis on problem
solving, knowledge representation, logic and deduction, and machine
learning.
CS 606 Analysis of Operating Systems. (3-0)
Three hours.
Prerequisite: CS 426 or
CS 526.
Design of operating systems; advanced examination of
synchronization, deadlock, virtual memory, and security; and
parallel and distributed systems.
CS 607 Software User Interface Design
and Analysis. (3-0) Three hours.
Prerequisite: CS 407 or
CS 507.
Concepts of the human-computer interface, emphasizing the software
aspects. Dialog styles, form models, user documentation, and the
evaluation of human-computer software interfaces.
CS 609 Database Management. (3-0)
Three hours.
Prerequisite: CS 457 or
CS 557.
Data model theory, comparison of existing database systems,
implementation technology, selection, evaluation techniques,
integrity, security, authorization and protection, and hardware
architecture.
CS 610 Introduction to Cognitive
Science. (3-0) Three hours.
Prerequisite: CS 465.
This course introduces the basic concepts of cognitive science. It
involves cross-disciplinary study of cognitive processes in humans
and machines. It explores the possibility of building truly
intelligent systems.
CS 612 Advanced Data Structures. (0-3)
Three hours.
Prerequisites:
CS 357, and either CS 470 or CS 570
A
graduate-level study of data structures. Topics include
self-balancing trees binomial and Fibonacci heaps, disjoint sets,
graphs and digraphs.
CS 613 Advanced Computer Communication and Networks. (3-0) Three
hours.
Prerequisite: CS 438 or CS 538 and either GES 255 or ST 410.
Study of computer networks, including telecommunications and related
data transmission techniques. Network philosophy, design, and
implementation.
CS 614 Theory and Construction of
Compilers. (3-0) Three hours.
Prerequisite: CS 434 or
CS 534.
Definition and specification of language syntax and semantics,
lexical scans, operational notations, and compilation methods.
Compiler writing systems. A formal approach to compiler theory.
CS 618 Wireless, Mobile Network Protocols. (3-0) Three
hours.
Prerequisites:
CS 438/538 or CS 613 or ECE 406/506 or ECE 502. Other-consent of
instructor.
Network protocol design and analysis in wireless and mobile
networks. Topics include ad hoc
routing,
mobility management, TCP over wireless links, quality of service and
privacy, energy-efficient design, cross-layer design, and emerging
applications.
CS 620
Information Storage and Retrieval. (3-0) Three hours.
Prerequisite:
CS 609.
Natural language processing; analysis of textual material by
statistical, syntactic, and logical methods; retrieval system
models, dictionary construction, query processing, file structures,
and content analysis; automatic retrieval systems and
question-answering systems; and evaluation of retrieval
effectiveness.
CS 626 Distributed Computing Systems. (3-0) Three hours.
Prerequisite:
CS 606.
An advanced treatment of the theory and practice of constructing
distributed systems, in which concurrent processes communicate by
exchanging messages.
CS 630 Advanced Software Engineering
Principles. (3-0) Three hours.
Prerequisite:
CS 600.
Advanced study in theoretical foundations of software engineering:
software process modeling, metrics, and cost estimation; formal
specifications; testing and verification techniques; exposure to
research methods.
CS 631 Software Engineering Practice
and Experience. (3-0) Three hours.
Prerequisite:
CS 600.
Introduction to the application of software engineering principles
to large-scale programming projects. Emphasis is on object-based
construction, CASE tools, and contemporary development environments.
CS 637 Design of Collaborative Software.
(3-0) Three hours.
Prerequisites: Graduate standing in Computer Science or Computer
Engineering.
An
investigation of collaborative software that allows multiple users
to interact with a single computer simultaneously through
large-format displays. Topics include architectures, OS support,
input devices, graphical user interfaces, APIs for collaborative
software and migration of existing software to multiuser
environments.
CS 651 Object-Oriented and Intelligent Database Systems.
(3-0) Three hours.
Prerequisite:
CS 609.
Research- and design-oriented combination of the concepts of the
traditional databases (relational, networked, and hierarchical) with
developing concepts such as object-oriented and intelligent
databases.
CS 661 Expert Systems. (3-0) Three hours.
Prerequisite:
CS 605.
Advanced study of the development of expert systems. Programming
technologies for designing, building, implementing, and testing
expert systems are included.
CS 662 Advanced Neural Computation.
(3-0) Three hours.
Prerequisite:
CS 605,
AEM 587,
or equivalent; or permission of the instructor.
A study of artificial neural systems on computers, including modern
theories of learning and neural processing. Emphasis is on neural
network architectures with methodologies for designing, building,
and implementing such systems.
CS 663 Connectionist Models.
(3-0) Three hours.
Prerequisite:
CS 610.
This course covers recent developments in research in connectionist
models, especially in integrating symbolic processing and rule-based
reasoning.
CS 664 Advanced Cognitive Science. (3-0) Three hours.
Prerequisite:
CS 610.
This course presents some of the most important computational models
in cognitive science. It contains basic approaches and methodologies
for studying cognition, and it extends to the exploration of several
fundamental cognitive functions.
CS 665 Fuzzy Set Theory. (3-0)
Three hours.
Prerequisite:
CS 605.
This course covers the various issues of uncertainty, information
theory, and system complexity from a perspective based on fuzzy set
theory. Mathematical foundations of fuzzy sets, various aspects of
fuzzy relations, and fuzzy measures and their relation to
information theory are discussed.
CS 670 Advanced Algorithms and Data Structures. (3-0) Three hours.
Prerequisite:
CS 601.
This course presents selected advanced topics related to design and
analysis of algorithms and data structures.
CS 671 Graph Theory and Algorithms.
(3-0) Three hours.
Prerequisite:
CS 601
or MATH 550.
This course presents advanced algorithms for solving graph problems.
Classical results from graph theory are introduced to motivate or
explain these algorithms.
CS 672 Parallel Computation.
(3-0) Three hours.
Prerequisite:
CS 601
or
ECE 684.
This course presents techniques for designing and analyzing
algorithms for many models of parallel computation.
CS 673 Computational Complexity. (3-0) Three hours.
Prerequisite:
CS 601
or
CS 602.
This course presents techniques for determining that certain
problems are inherently difficult or even impossible to solve on any
computer.
CS 686 Advanced Computer-Human Interface.
(3-0) Three hours.
Prerequisite:
CS 607.
Corequisite: IE 533.
Advanced topics in the computer-human interface, including graphical
user interfaces, computer-supported cooperative work, different
interface styles, user interface management systems, online
documentation, and hypermedia. Software user interface design
philosophy and evaluation methods.
CS 691 Special Topics in Computer Science. (3-0) Three hours.
Formal courses that cover new and innovative topics in computer
science and do not yet have their own numbers; specific course
titles will be announced.
CS 692 Independent Study in Computer
Science. Variable credit.
This course requires a written proposal that must be approved by the
sponsoring faculty member before registration.
CS 699 Dissertation Research. Variable credit. Three-hour minimum.
|