Courses
Computer and Information Sciences
5501. Programming and Data Structures (3 s.h.)
Preparatory course for CIS graduate students who have an insufficient background in data structures, and need a stronger foundation before taking the required core course, Programming Techniques 8511(511). [Note: Graduate credit will not apply for CIS MS/PHD programs.]
5502. System Software and Operating Systems (3 s.h.)
Preparatory course for CIS graduate students who have an insufficient background in operating systems, and need a stronger foundation before taking the required core course, Operating Systems 8512(512). [Note: Graduate credit will not apply for CIS MS/PHD programs.]
5503. Disc Structure of Computer Science (3 s.h.)
Preparatory course for CIS graduate students who have an insufficient background in discrete structures, and need a stronger foundation before taking the required core course, Automata & Formal Languages 8513(510). [Note: Graduate credit will not apply for CIS MS/PHD programs.]
8511. Programming Techniques (0551) (3 s.h.)
Prerequisite: CIS 2168 and CIS 3223.
A more formalized view of data structures. Stacks, trees, tables, lists, multilinked structures, strings and files are considered. These are viewed in terms of their general usefulness in the construction of algorithms and in their efficient implementation. Both theoretical results and programming techniques will be stressed.
8512. Operating Systems (0561) (3 s.h.)
Prerequisite: CIS 3207 and CIS 3223.
Basic principles of operating systems; multi-tasking systems; control and coordination of tasks; deadlocks; synchronization, mutual exclusion, sharing; memory management, virtual memories, segmentation, paging; protection; file systems; resource management; evaluation and prediction of performance; design and implementation of operating systems in high-level languages.
8513. Automata and Formal
Languages (0573) (3 s.h.)
Prerequisite: CIS0 2166 and CIS 3242.
Types of grammars. Finite automata and regular languages. Kleene's
Theorem. Closure properties and decidable problems of regular
languages. Derivation trees. Normal forms of context-free grammar.
The self-embedding properties, closure properties and decidable
problems of context-free languages. Methods of syntax analysis
for context-free languages. Context-sensitive languages and
linear bounded automata. Turing machines.
8525. Neural Computation (3
s.h.)
Prerequisite: Stat 8003 or 8103 and undergraduate-level understanding of probability, statistics, and linear
algebra).
Neural networks provide powerful techniques to model and control
nonlinear and complex systems. The course is designed to provide
an introduction to this interdisciplinary topic. The course
is structured such that students from computer science, engineering,
physics, mathematics, statistics, cognitive sciences, and other disciplines
learn the main principles of this area as well as have an
opportunity to explore promising research topics through hands-on
experience with neural network simulators applied to classification
and prediction problems ranging from biomedical sciences to
finance and business.
8526. Machine Learning (3
s.h.)
Prerequisite: Stat 8003 or 8103 and undergraduate-level understanding of probability, statistics, and linear
algebra).
The goal of the field of machine learning is to build computer
systems that learn from experience and are able to
adapt to their environments. This introductory machine learning
course will give an overview of many techniques and algorithms
in machine learning, beginning with topics such as simple concept
learning and ending up with more recent topics such as boosting,
support vector machines, and reinforcement learning. The objective
of the course is not only to present the modern machine learning
methods but also to give the basic intuitions behind the methods
as well as a more formal understanding of how and why they
work.
8527. Data Warehousing,
Filtering and Mining (3 s.h.)
Prerequisite: CIS 8511 and an undergraduate course in
databases.
The course is devoted to information system environments enabling
efficient indexing and advanced analyses of current and historical
data for strategic use in decision making. Data management
will be discussed in the content of data warehouses/data marts;
Internet databases; Geographic Information Systems, mobile
databases, temporal and sequence databases. Constructs aimed
at an efficient online analytic processing (OLAP) and those
developed for nontrivial exploratory analysis of current and
historical data will be discussed in detail.
The theory will be complemented by hands-on applied studies
of problems in such fields as financial engineering, e-commerce, geosciences,
and bioinformatics.
8590. Topics in Computer
Science (3 s.h.)
Prerequisite: Special authorization required.
Current topics and issues in Computer Sciences.
9182. Independent Study (1-6
s.h.)
Prerequisite: Permission of instructor.
Independent research supervised by a Computer and Information
Sciences faculty member.
9282. Independent Study (1-6 s.h.)
Prerequisite: Permission of instructor
Independent research supervised by a Computer and Information Sciences faculty member.
9590. Seminar in Advanced Topics in Computer Science (3 s.h.)
Prerequisite: Permission of the instructor.
Topics to be decided individually.
9601. Computer Graphics and Image Processing (0581) (3 s.h.)
Prerequisite: CIS 8511.
An analysis of techniques used in computer manipulation of two- and three-dimensional images. Although elements of computer graphics are covered (e.g., two- and three-dimensional transforms), the main focus is on image processing techniques. We will also gain insight into basic techniques in computer vision. Topics covered include image filters, image segmentation, similarity of images, object detection, object recognition, and shape representation and similarity. Nowadays it is an easy task to transfer visual input of a camera to a computer's memory. However, image and video understanding belong still to unsolved problems of computer science. The main objective of the course is to convey basic intuitions behind the unsolved and solved problems and to introduce some of the techniques that provided solutions to some of the problems.
9602. User Interface
Design and Systems Integration (0578) (3
s.h.)
Prerequisite: CIS 8511.
This course focuses on the principles of usability engineering
to design effective interfaces and as the basis for integrating
existing systems to form new systems. The course builds on
knowledge of networking, databases, and programming. The course
outline is partly based on the recommendations of the ACM Special
Interest Group on Computer-Human Interaction for an introductory
graduate course on user interface design.
9603. Artificial Intelligence
(0587) (3 s.h.)
Prerequisite: CIS 8511 or equivalent.
This course covers fundamental and advanced topics in Artificial
Intelligence, including Search: uninformed search, heuristic
search, game search; Planning: deterministic planning, STRIPS
planning, nonlinear planning; Theorem Proving: propositional
calculus, first order logic, inference with clauses, resolution;
Heuristics for NP Hard Problems: optimizations, simulated annealing,
genetic algorithms; Knowledge Representation: inference rules,
semantics, semantic nets, frame-based; Probabilistic Inference:
uncertainty, Bayesian inference, Bayesian networks, HMMs, planning
in stochastic domains; Learning: concept learning, PAC learning,
inductive learning, decision trees, neural networks; Programming
languages for AI; and other topics such as robotics, computer
vision, and data mining.
9615. Design and Analysis
of Algorithms (0673) (3 s.h.)
Prerequisite: CIS 8513 and CIS 8511.
General techniques for developing algorithms. Divide and conquer
Greedy dynamic programming. Search and traverse. Backtracking.
Branch and Bound. Some theoretical results will be discussed,
for example, those relating to NP - completeness.
9616. Principles of Data
Management (0661) (3 s.h.)
Prerequisite: CIS 8511 and CIS 8512.
This course covers fundamental and advanced topics in Database
Management Systems, including: Database System Architecture: ANSI/SPARC
architecture; data abstraction; external, conceptual, and internal
schemata; data independence; data definition and data manipulation
languages. Data Models: Entity-relationship and relational
data models; data structures, integrity constraints, and operations
for each data model. Relational Query Languages: SQL, algebra,
calculus. Theory of Database Design: Functional dependencies,
normal forms, dependency preservation, information loss. Query
Optimization: Equivalence of expressions, algebraic manipulation,
optimization of selections and joins. Storage Strategies: Indices,
B-trees, hashing. Transaction Processing: Recovery and concurrency
control. Object-oriented and object-relational Data Model.
Parallel and Distributed Databases. Multimedia databases and
queries by content. Data mining, data warehousing, mobile databases,
Web databases.
9617. Computer Networking
and Communication (0662) (3 s.h.)
Prerequisite: CIS 8511 and CIS 8512.
Introduction to the design and analysis of computer networks
and communications systems, including the Physical, Data Link,
Network, Transport and Application layers. The Internet (TCP/IP)
model will be emphasized and compared and contrasted with other
current technologies. Major themes include the distinction
between service and protocol, performance metrics, analysis
techniques, and fundamental performance tradeoffs.
9618. Principles of Software
Engineering (0580) (3 s.h.)
Prerequisite: CIS 8511 and CIS 8512.
This course takes a technology-based approach to the software
engineering of networked application systems design and programming.
Normally a course does not predicate itself upon a particular
proprietary system, but the new Microsoft .NET technology inherently
contains so many implications for new software engineering
paradigms that it cannot be ignored. The course, therefore,
draws on this new technology, together with former ones in
object-oriented design and programming, for its theoretical,
architectural, and system design foundations. Principal objectives
of software engineering today are: (1) improvement of product
quality and reliability and of developer productivity through
coding aids and automation; (2) response to both the open
technologies of Unix and Java and the more widely used systems
of Microsoft; and (3) response to the ubiquitous use of the
internet. The course bridges software engineering principles
at one end, in their most abstract and conceptual sense, with
programming technique at the other end, in its most concrete
and pragmatic sense. It uses .NET as a model for the software
engineering of enterprise applications primarily intended for
networked and distributed deployment, but also takes its cue
from the three above-stated objectives: (1) how to optimize productivity
of the software engineer, (2) how to integrate the best that
open technologies have to offer, and (3) how to build large-scale systems that operate most efficiently on the internet.
The course is divided into three parts: First is the theory that
flows from .NET and object-oriented methodologies. This includes
Application System Architectures, Design Methodologies, Quality
Assurance, Scalability, and Security. Second is the development
of a working skill set in two .NET languages: ASP.NET and VB.NET
and its major development tool, VS.NET. Third is the design
and programming of a small but complete web-deployed application.
9651. Artificial Intelligence,
Heuristic Models, and Education (0593) (3
s.h.)
Prerequisite: CIS 9603.
Introduction to how artificial intelligence and heuristic models
are used to build better computer-based educational systems.
Current as well as past models are explored (e.g. PROUST, GUIDON,
SOAR, etc.). Key issues to be examined include student models,
interfaces, pedagogical expertise, domain expertise, and collaborative
learning systems.
9664. Knowledge Discovery
and Data Mining (0671) (3 s.h.)
Prerequisite: Basic knowledge in Data Base Systems
(CIS9616); programming skills in C or C++; basic statistics,
graph theory, and linear algebra.
Basic concepts and techniques for the automated extraction
of interesting patterns in large databases. Topics covered
include: association-rule mining, sequence mining, web and
text mining, data warehousing, information filtering, classification
and clustering analysis, Bayesian and neural networks, classification
and regression trees, hypotheses evaluation, feature extraction,
dimensionality reduction, singular value decomposition, data
compression and reconstruction, visualization of large data
sets, fractals in databases, and indexing methods that support
efficient data mining and queries by content. Special emphasis
is given in multimedia, business, scientific, and medical databases.
9665. Advanced Topics
in Data Base Systems (0670) (3 s.h.)
Prerequisite: CIS 9616.
Survey of recent developments in database systems with an emphasis
on object-oriented databases (OODB's). Prototype and operational
OODB systems will be analyzed. Applications
of OODB's to computer-aided software engineering (CASE) evironments,
integrated application development environments, and geographical
information systems.
9666. Advanced Networks
and Client-Server Computing (0625) (3
s.h.)
Prerequisite: CIS 9617.
Computer networks, network technology, protocols, routing algorithms,
reliability and design issues. Data transmission and transmission
media, data communications fundamentals, transmission efficiency,
wide-area networks, local area networks, wireless networks,
TCP/IP and other protocol architectures, client/server computing,
network management, and network security.
9668. Design and Development of E-Commerce Systems (3 s.h.)
Prerequisite: CIS 9618.
The objective of this course is to teach the technical aspects of developing a commercial website, including the business-to-consumer and the business-to-business models. This process combines a number of integrated technologies: (1) Web page and style sheet design, (2) dynamic web pages that access data from relational and XML databases, (3) server side transaction processing, (4) client/server and distributed processing, (5) principles of internet security, scalability, and database reliability, and (6) .NET programming. Students will develop a site as a course project using two methodologies. One is custom coding using .NET; the other is to use Microsoft’s web site development system Commerce Server 2000. The first approach builds upon the system started in the prerequisite course CIS 618. The second approach uses a software tool that manages the entire process. Other tools to be used are Dreamweaver or FrontPage for web design, VS for .NET program development, and the Microsoft Enterprise Manager for the management of SQL Server databases. The course will provide numerous online references to all of these languages and tools.
9669. Distributed and
Parallel Computer Systems (0669) (3
s.h.)
Prerequisite: CIS 9617.
Intended for students interested in the advances of scalable
parallel computing systems. The main goal is to apply distributed
and parallel computing theories to practical scalable parallel
application development and new parallel programming tool construction.
9991. Project in Computer
Science (3 s.h.)
Prerequisite: Any four graduate-level courses
and permission of the department.
Project to be carried out under the direction of a faculty
member.
9994. Preliminary Exam Prep (1-6 s.h.)
Prerequisite: Successful completion of the Qualifying Examination and permission of the department.
9996. Thesis in Computer
Science (3-6 s.h.)
Prerequisite: Any four graduate-level courses
and permission of the department.
Thesis to be carried out under the direction of a Graduate
Faculty member.
Note: Total of 6 credits required
9998. Pre-Dissertation
Research (1-6 s.h.)
Prerequisite: Successful completion of the
Preliminary I Examination and permission of the
department.
9999. Dissertation Research (1-6
s.h.)
Prerequisite: Successful completion of the Preliminary
II examination and permission of the department.
All Ph.D. candidates must enroll in this course for at least
one to three credit hours each semester until the successful
completion of the dissertation. May be repeated. Minimum
of 6 credits of CIS 999 are required.