| CS 5543 |
Software Engineering (3) |
| |
This course aims at producing good practice
in developing software and provides an
overview of how to do software engineering
using an object-oriented approach. The
course assumes familiarity with object-oriented
programming. It focuses on the
appropriate processes, models and metrics in
quality software development. Prerequisite:
CS 4446 or CS 5547 |
| |
|
| CS 5545 |
Computer Architecture (3) |
| |
Functional descriptions of the major components
of digital computer architectures are
explored, such as arithmetic and control
units, memory hierarchies, channels and
characterizations and interactions of individual
major components of small and large
computers. Also included are minicomputer
architectures, specialized computer architectures,
and distributed data processing architectures. Prerequisite: CS 3357, CS 3365 or
CS 4445 |
| |
|
| CS 5547 |
Systems Analysis and Design (3) |
| |
Introduction to information systems development
process. Systems analysis methods,
covering activities, tools, and techniques for
requirements gathering, modeling and specification.
Systems design methods, including
activities, tools and techniques for design,
with an emphasis on architecture, rapid development
and prototyping, and detailed
design. Introduces classical approaches such
as information engineering as well as objectoriented
analysis and design. (CS 4446 recommended) |
| |
|
| CS 5549 |
Analysis of Algorithms (3) |
| |
This course discusses various algorithms
that solve searching, sorting, and cryptographic
problems. There are many candidate
algorithms to solve such problems.
Tradeoffs involved when choosing an algoithm
are discussed. Sorting algorithms
such as merge, insertion, quick, and heap,
search algorithms such as binary search tree, red-black tree, hashing, and B-Trees are
discussed. Prerequisite: CS 3323 |
| |
|
| CS 5550 |
Operating Systems Principles (3) |
| |
This course discusses what operating systems
are, what they do, how they are designed
and organized. Topics discussed
include: process management (scheduling,
intercommunication, synchronization, and
deadlock handling), storage management
(memory management and virtual memory
management). I/O systems (hardware, interfaces,
request-handling, performance issues).
Applications of these concepts in
modern operating systems such as Windows
and Unix are presented. Prerequisite: CS
3323 |
| |
|
| CS 6625, 6626, 6627 |
Specialized Study in Computer
Science (1-3)
This course involves the study of a problem
or problems using research techniques. |
| |
Selection
of a problem is to be approved by the
student’s advisor, instructor, college dean,
and Dean of the Graduate School. The study
should contribute to a student’s program.
Preparation of a scholarly paper is required
and may involve an oral defense. Total
credit for any combination of enrollments in
the specialized study courses may not exceed
three (3) semester hours. The course
may not be substituted for a required course.
See semester hour limits listed under
Course Restrictions in General Regulations
section. |
| |
|
| CS 6640 |
Data Base Management Concepts (3) |
| |
This course discusses design and implementtation
issues associated with relational and
object-oriented databases. Topics include ER
modeling, relational modeling, normal
forms, data storage, and concepts of object-oriented
data modeling. Prerequisite: CS
3323 |
| |
|
| CS 6641 |
Society and Information Systems (3) |
| |
A survey and analysis of individual and
societal attitudes, interactions, and decisionmaking
is provided concerning the design
and application of computers in information
storage, retrieval and processing. |
| |
|
| CS 6643 |
Theory and Design of Compilers (3) |
| |
The formal properties of grammars, lexical
and syntactic analysis, macro generators,
and code selection are presented. Additional
topics include hardwire compilers, extensibility
of languages, and implementation of
simple compilers. Prerequisite: CS 3343 or
3370 |
| |
|
| CS 6646 |
Information Systems for Operations and
Management (3) |
| |
Conceptual and practical foundations of
information processing systems’ support
formanagement and decision-making functions
are examined. Computer system project
management, economic and legal considerations
of management information systems,
systems implementation and evaluation
are additional topic areas covered in this
course. Prerequisite: CS 5547 |
| |
|
| CS 6647 |
Simulation and Modeling (3) |
| |
The theory and design of modeling problems,
validation and verification of simulation
models for dynamic queuing and static
Monte Carlo problems are reviewed. Discrete
event and continuous simulation models
are analyzed. Random number generation
used in simulation languages and the
implementation of models on computer
hardware and software engineering using
general purpose and simulation languages represented in this course. Prerequisite: CS
5547 |
| |
|
| CS 6648 |
Operations Research (3) |
| |
A systems approach is explored as it relates
to using various algorithms to solve different
classes of managerial problems with a computer. Prerequisite: CS 3325 or CS 5547 |
| |
|
| CS 6649 |
Special Topics in CS (3) |
| |
A series of advanced topics in areas of computer
science is offered. The course details a
structured discussion of varied subjects to
include technological updates, a more intense
study of topics covered in other course
offerings, and an introduction to advanced
concepts such as artificial intelligence, the
theory of computability, and formal languages. Prerequisites: 12 semester hours of
graduate credit |
| |
|
| CS 6650 |
Distributed System Principles (3) |
| |
The invention of high-speed computer networks
make it possible to easily put together
computing systems composed of large numbers
of computers connected by a highspeed
network called a Distributive System.
This course presents the terminology, concepts,
problems and implementations of
such systems. Specific Object-Based Distributive
Systems like Corba, DCOM and
Java Remote Method Invocation (RMI) will
be covered. Prerequisite: CS 3323 or CS
5550 |
| |
|
| CS 6651 |
Artificial Intelligence (3) |
| |
Intelligent agents, problem-solving, search,
knowledge representation and reasoning,
planning, and reasoning with uncertain
knowledge. Machine learning. Design and
implementation of artificial intelligence systems including expert systems, planning,
logic and constraint programming. |
| |
|
| CS 6652 |
XML Technology Principles (3) |
| |
This course discusses Extended Markup
Language (XML) technology. Topics discussed
are XML document creation, document
rule definitions such as document type
definition (DTD and Schema), XML style
anguages (XSL and XSLT). Also XML
applications and how programming language
can process documents are presented. Prerequisite: CS 3323 |
| |
|
| CS 6653 |
Topics in Software Security and Reliability (3) |
| |
This course discusses Software Quality,
Fundamentals of Reliability and Rates of
Failure, Fundamentals of Data and Distributions,
Reliability Testing, Software Growth
Models, Software Security and Safety Fundamentals,
Software Testing and Stopping
Rules (Project Topic I), System Reliability
and Redundancy, and Integrated and Internet
Software System Reliability Security
(Project Topic II). Prerequisite: Permission
of the instructor |
| |
|
| CS 6654 |
Topics in Software Engineering (3) |
| |
The course extends the topics of the Software
Engineering course in which the principles
of software development are covered.
This course covers advanced topics in software
engineering, including software architecture,
design patterns, multi-media software,
embedded software engineering, and
knowledge-based approaches to software
engineering. The course also includes a
number of case studies. Participants are to
write a paper on a topic in Software Engineering. Prerequisite: CS 5547 |
| |
|
| CS 6655 |
Digital Logic Design – Principles and
Practices with Emphasis on Testable
Semicustom Circuits (3) |
| |
Combinational circuit analysis including
hazard detection; Number systems and
codes; Switching algebra; Combinational
circuit design including PLA and MSI techniques;
IC logic families; Flip-flop properties;
Switching algebra: special properties –
symmetric functions, unate functions,
threshold functions, Boolean difference,
functional decomposition; Introduction to
sequential circuits – sequential circuit analysis;
Pulse mode sequential circuits – state
reduction, incompletely specified machines,
state assignment, series-parallel decomposition;
Fundamental mode sequential circuits –
race, hazards, state assignment; Testing
aspects of digital systems – failure and fault
models, deterministic test generation for
combinational circuits, testing sequential
circuits, state identification, testing memories
and complex LSI/VLSI circuits, design
for testability techniques: scan techniques,
built-in self-test (BIST), easily testable network
structures; Semicustom and MSI design;
Special sequential circuits including
sequential integrated circuits. Prerequisite:
CS 5545 |
| |
|
| CS 6656 |
Design and Testing of Reliable Digital
Systems (3) |
| |
Introduction to digital circuits testing. Fault
model and test generation for combinational
circuits – fault table, path sensitization,
ENF, SPOOF and Boolean difference methods.
Fault detection in sequential circuits –
state identification sequences and designing
checking experiments for sequential machines. Design for testability – readily diagnosable
and counter-cycle (CC) type sequential
machines. Random testing of digital combinational
and sequential circuits – continuous-
parameter Markov model and error latency
model. Built-in self-test (BIST) in
VLSI. Data compression in VLSI BIST –
concepts of space compression and time
compression. Aliasing probability. Fault
signature analysis. Fault simulation. Deterministic
and pseudorandom test pattern generator.
FAN and PODEM. Scan path design.
Functional testing of LSI and VLSI circuits– testing microprocessors. Testing of memory
devices. Recent trends – embedded systems
and systems-on-chip (SOC) design and
circuits. Fault tolerance and reliability in
modern digital design. Prerequisite: CS 6655 |
| |
|
| CS 6699 |
Research and Thesis (1-6) |
| |
Guided research in Computer Science results
in the preparation of a scholarly thesis. The
thesis includes a discussion of the research
design and methodology available to plan
and conduct a systematic, thorough, critical,
interpretive and analytical research in an
area appropriate to the interest of the individual
student and consistent with the degree
program. The course requires students to
prepare a thesis within guidelines provided
by the faculty member and to defend it before
a thesis committee. Prerequisites: Unconditional
admission to the Master of Science
in Computer Science program and
completion of twenty-four (24) semester
hours of course work |