Text only version




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.