Text only version

 

 

Courses

Computer and Information Sciences

0510. Automata and Formal Languages (573)   (3 s.h.)

Prerequisite: CIS 166 and CIS 242.

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.

0511. Programming Techniques (0551)   (3 s.h.)

Prerequisite: CIS 68 and CIS 223.

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.

0512. Operating Systems (561)   (3 s.h.)

Prerequisite: CIS 72 and CIS 207.

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.

0525. Neural Computation   (3 s.h.)

Prerequisite: Stat 503 or (511 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.

0526. Machine Learning   (3 s.h.)

Prerequisite: Stat 503 or (511 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.

0527. Data Warehousing, Filtering and Mining   (3 s.h.)

Prerequisite: CIS 511 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.

0595. Topics in Computer Science   (3 s.h.)

Prerequisite: Special authorization required.

Current topics and issues in Computer Sciences.

0598. Independent Study   (1-6 s.h.)

Prerequisite: Permission of instructor.

Independent research supervised by a Computer and Information Sciences faculty member.

0600. User Interface Design and Systems Integration (578)   (3 s.h.)

Prerequisite: CIS 511.

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.

0601. Computer Graphics and Image Processing (581)   (3 s.h.)

Prerequisite: CIS 511.

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.

0602. Human Factors and Engineering Systems (642)   (3 s.h.)

Prerequisite: CIS 511.

This course studies the human factor within information systems development. Sample topics include design of empirical studies, cognitive task analysis, user interface design, and usability evaluations.

0603. Artificial Intelligence (587)   (3 s.h.)

Prerequisite: CIS 511 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.

0615. Design and Analysis of Algorithms (673)   (3 s.h.)

Prerequisite: CIS 510 and CIS 511.

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.

0616. Principles of Data Management (661)   (3 s.h.)

Prerequisite: CIS 511 and CIS 512.

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.

0617. Computer Networking and Communication (662)   (3 s.h.)

Prerequisite: CIS 511 and CIS 512.

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.

0618. Principles of Software Engineering (580)   (3 s.h.)

Prerequisite: CIS 511 and CIS 512.

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.

0650. Collaborative Systems and Techniques (744)   (3 s.h.)

Prerequisite: CIS 602.

This course focuses on the issues surrounding the use, design, and adoption of technology to support collaborative work. The course builds on knowledge of networking, databases, and human factors. The material in this course falls under the emerging discipline of computer-supported cooperative work (CSCW).

0651. Artificial Intelligence, Heuristic Models, and Education (593)   (3 s.h.)

Prerequisite: CIS 603.

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.

0652. Knowledge Based Systems (682)   (3 s.h.)

Prerequisite: CIS 603.

An investigation of how expert-level performance of computer programs is achieved. Covers relevant theories of human problem solving and models of knowledge. Special languages for knowledge representation will be investigated.

0664. Knowledge Discovery and Data Mining (671)   (3 s.h.)

Prerequisite: Basic knowledge in Data Base Systems (CIS 616); 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.

0665. Advanced Topics in Data Base Systems (670)   (3 s.h.)

Prerequisite: CIS 616.

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.

0666. Advanced Networks and Client-Server Computing (625)   (3 s.h.)

Prerequisite: CIS 617.

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.

0669. Distributed and Parallel Computer Systems (669)   (3 s.h.)

Prerequisite: CIS 617.

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.

0695. Software Specification and Design (680)   (3 s.h.)

Prerequisite: CIS 616 and CIS 618.

The two most prominent specification and design methods used in industry are presented: dataflow oriented and object oriented. The rationale and applicability of each is examined by an analysis of two problems, representing broad application classes. One is a transaction/database problem; the other, a real-time problem. Within each of the methods are three modes of specification: functional, behavioral, and performance. The student gains insight into each of these modes via models constructed using a computer-aided software engineering (CASE) tool. In the second part of the course, the student learns how to convert the specification to a design and the concept of design tradeoffs. The four principal design elements—architectural, database, procedural, and user interface—are applied to the two problems.

0750. Seminar in Advanced Topics in Computer Science   (3 s.h.)

Prerequisite: Permission of the instructor.

Topics to be decided individually.

0751. 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.

0752. 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

0799. Preliminary Exam Prep   (1-6 s.h.)

Prerequisite: Successful completion of the Qualifying Examination and permission of the department.

0899. Pre-Dissertation Research   (1-6 s.h.)

Prerequisite: Successful completion of the Preliminary I Examination and permission of the department.

0999. 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.