Computer Science Graduate Courses


CS 6023 Research Methods and Presentations


Materials and methods of scholarly research in computer science.

Includes study of standard research paradigms with illustrative

cases of each and the use of research methods and presentations

in industrial and business settings.


CS 6103 Discrete -Time Signals and Systems

Prerequisite: CS 5423


Underlying principles of discrete-time signals and digital signal

processing. Topics include mathematical representation of

discrete-time signals and systems, sampling theorem and

aliasing, introduction to difference equations, IIR and FIR filters,

DTF, FFT, and Z-Transforms.


CS 6123 Theory and Implementation of Programming Languages

Prerequisites: CS 5123/3424 and CS 5423


Comparative study of programming language paradigms with

emphasis on design and implementation issues. Covers formal

definitions of syntax and semantics, data types, static and dynamic

storage allocation, definition of operations, control of program

flow, subroutine and function linkages, formal tools for

characterizing program execution, and abstraction techniques.


CS 6153 Advanced Database Systems

Prerequisite: CS 5153/3153 and CS 5423


An advanced course in database systems emphasizing design

issues and implementation tradeoffs. It covers the theory,

algorithms, and methods that underlie distributed databases.

Relational algebra is discussed. The client-server architecture and

application development are also covered.




CS 6163 Information Retrieval and Search Engines

Prerequisites: CS 5123 and CS 5423


The course covers issues, models, and techniques associated with

efficient storage and effective retrieval of large amounts of

unstructured text information. It includes a study of classic

information retrieval (IR) techniques and exposes students to

more recent developments, such as search engines and text

mining. Students will be exposed to relevant literature of the

discipline and also implement and/or evaluate a simple

information retrieval system or search engine.


CS 6223 Advanced Computer System Architecture

Prerequisites: CS 5243/3243


Topics include computer performance issues, instruction set

architectures, RISC versus CISC, machine language,

microprocessor design and implementation, performance

enhancing techniques, cache memory design, and implications to

operating system design.


CS 6243 Advanced Concepts in Operating Systems

Prerequisite: CS 5243/3243


Topics from the theory of operating systems include: memory and

process management of high-performance architectures that

address concurrent, parallel, and distributed processing.


CS 6263 Computer Networks

Prerequisite: CS 5243/3243


Issues involved in computer networks and the Internet are

examined based on the layered network architecture model.

Objectives and methodologies of each layer are studied with the

particular emphasis on the Application, Transport, Network, and

Data link layers. Both the principles in computer networking and

practical implementations (via network programming labs) are



CS 6273 Parallel and Distributed Processing

Prerequisites: CS 5123 and CS 5223


This course covers various aspects of parallel and distributed

processing and algorithm design with an emphasis on

programming. Topics include: Taxonomy of parallel

architectures; Shared-memory vs. message-passing

architectures; Computation models and Performance metrics;

Parallel/distributed algorithm design - basic techniques;

Parallel/distributed programming techniques and issues:

partitioning, load balancing, synchronization, task scheduling,

message overheads, etc.; Parallel/distributed algorithms for

sorting, matrices, etc.; Debugging, Profiling, and Performance

enhancements of parallel and distributed programs. Students

will gain experience in parallel and distributed programming on

state-of-the-art cluster and GPGPU/CUDA machines, including a

700+ CUDA machine.


CS 6283 Real-Time Systems

Prerequisite: CS 5243/3243


The software development life cycle as it applies to real-time

systems. Labs involve the use of a real-time operating system and

an associated development environment. Related topics such as

concurrent task synchronization and communication, sharing of

resources, schedulability, reliability, fault tolerance, and system

performance are discussed. Project included.


CS 6293 Information Security: Implementation and Application

Prerequisites: CS 5123 and CS 5423


This course covers the fundamentals of computing security,

access control technology, cryptographic algorithms,

implementations, tools and their applications in communications

and computing systems security. Topics include public key

infrastructure, operating system security, database security,

network security, web security, firewalls, security architecture and

models, and ethical and legal issues in information security.


CS 6323 Human Factors


The psychological, social, and technological aspects of interaction

between humans and computers. Includes usability engineering,

cognitive and perceptual issues, human information processing,

user-centered design approaches, and development techniques

for producing appropriate systems. Major project included.


CS 6353 Computer Graphics and Multimedia

Prerequisites: CS 5123/3424 and CS 5423


A study of the hardware and software of computer graphics and

multimedia systems from the programmer's perspective. Includes

a survey of display and other media technologies, algorithms and

data structures for manipulation of graphical and other media

objects, and consideration of user interface design. Major project



CS 6363 Computer Game Design and Development

Prerequisites: CS 5123/3424


Topics include graphics, multimedia, visualization, animation,

virtual reality simulation concepts, methods, and tools of game

design and development. A team project on a game prototype is



CS 6413 Theory of Computation

Prerequisites: CS 5423


A study of topics from theoretical computer science that includes

automata and languages, computability theory, and complexity



CS 6423 Algorithmic Processes

Prerequisites: CS 5123/3424 and CS 5423


Design and analysis of algorithms. Covers the major algorithm

design techniques (greedy, divide-and-conquer, brand-and-bound,

etc), mathematical techniques for analyzing asymptotic complexity

of algorithms, and tractability.


CS 6453 Simulation and Modeling

Prerequisites: CS 5123/3424, Matrix Algebra, and Probability and



The application of various modeling techniques to the

understanding of computer system performance. Includes analytic

modeling, queuing theory, continuous and discrete simulation

methods, and the use of some simulation software tools to

implement a major project.


CS 6533 Artificial Intelligence

Prerequisite: CS 5123/3424 and CS 5423


The primary objective of this course is to provide and introduction

to the basic principles and applications of Artificial Intelligence.

Covers the basic areas of artificial intelligence including problem

solving, knowledge representation, reasoning, decision making,

planning, perception and action, and learning -- and their

applications. Students will design and implement key

components of intelligent agents of modern complexity and

evaluate their performance. Students are expected to develop

familiarity with current research problems, research methods,

and the research literature in AI.


CS 6563 Digital Image Processing and Analysis

Prerequisites: CS 5123 and CS 5423


Theory and application of digital image processing. Topics include

sensing, sampling and quantization, image enhancement and

restoration, image transforms, geometrical image modifications,

edge detection, image segmentation and classification, image

coding, feature extraction, image representation, morphological

image processing, and parallel image processing. Applications

include satellite images and biomedical images.


CS 6593 Selected Topics in Artificial Intelligence

Prerequisites: As determined by the Instructor and Department



In-depth study of specific AI topics. Possible topics include, but are

not limited to, Expert Systems, Neural Networks, Genetic

Algorithms, Machine Learning, Fuzzy Logic, etc.


CS 6703 Independent Study

Prerequisites: Approval of course director


Independent study/project under the direction of a graduate CS

faculty member.


CS 6901-6903 Special Topics

Prerequisite: As determined by the Instructor and Department


1 to 3 hours

Special topics selected by the Department Chair. Offered on a

demand basis. A student may repeat this course with special



CS 7803 Masters Thesis

Prerequisite: Consent of the Department Chair and the Thesis



The thesis is designed for students wanting a research focus to

their degree. The student works independently under the

supervision of a designated CS faculty member on a thesis of

substance in computer science. The student will generate a formal

written thesis and give a final defense of the thesis. This course

may be repeated, but only 6 hours may be applied toward the