- CS615 User Interface Design
3 Lect Hrs, 3 Credits
An introduction to user interface design, which encompasses design of the user interface and the functional design of the whole system. Students will read and critique papers and articles, evaluate and critique existing user interfaces and design interfaces of their own. Working in small groups, students will use either interface prototyping tools or conventional rapid prototyping systems to construct an experimental interface.
Prerequisites: CS310, CS320, or permission of the instructor.
- CS630 Database Management Systems
3 Lect Hrs, 3 Credits
Databases and Database Management Systems. The entity/relationship Model. The relational model. Relational algebra. The query language SQL, The object-relational model and SQL3. Embedded SQL in programs and dynamic SQL. Database administration: creating views and integrity constraints, handling data security. Functional dependencies. Normalization.
Prerequisites: CS240 and CS310, or permission of the instructor.
- CS634 Architecture of Database Systems
3 Lect Hrs, 3 Credits
Indexing, and query optimization in database systems. Writing programs to update a database. ACID properties. Concurrency theory: serializability, 2-phase locking, deadlock detection. Transactional Recovery: REDO and UNDO logging, different checkpoint approaches, media recovery. Examples of recovery utility use in INGRES, ORACLE and DB2. Transactional performance: The TPC-A benchmark, analysis of bottlenecks, and cost-performance considerations. Distributed database systems. Two-phase commit. Database Parallelism.
Prerequisites: CS630, or permission of the instructor.
- CS632 Database Models
3 Lect Hrs, 3 Credits
This course covers material required for the understanding and design of current state-of-the-art databases, relational and beyond; comparison of various relational query systems; functional and multivalued dependencies, normal forms, tableaux; object-relational and object-oriented databases. Offered in the fall.
Prerequisite: CS 630.
- CS636 Database Application Development
3 Lect Hrs, 3 Credits
A study of database applications, that is, software systems that solve a particular real-world problem and hold their data in a relational database. The systems under study will also have a realistic user interface. Students will work in small groups on a real-world project specified and implemented during the term. Topics include system specification from user needs, analysis of dataflow and workflow, object design, database design, client-server techniques, and rapid prototyping systems.
Prerequisites: CS615 and CS630.
- CS637 Database-Backed Web Sites
3 Lect Hrs, 3 Credits
The design and implementation of database- backed web sites. Static sites, dynamic dites and sites that act as interfaces to relational database systems, providing for webbased collaboration through scalable online communities. Students install and maintain their own web servers, extend existing tool sets and build their own sites from scratch in a series of intensive programming projects.
Prerequisite: CS 430/CS 630 and either CS 450 or CS 651.
- CS639 Semi-structured Data and XML Documents on the Web
3 Lect Hrs, 3 Credits
A study of the international standard eXtended Markup Language (XML) and related semi-structured data technologies for application to Web programming. Special attention will be given to combining data from multiple sites and online databases, and to the transformation, display, and extraction of data from XML documents for data exchange, resource discovery, and the building of interactive web applications.
Prerequisite: CS 651, knowledge of Java, and permission of the instructor.
- CS734 Database System Internals
3 Lect Hrs, 3 Credits
This is a course in database internals design and programming. Students are expected to have already mastered a basic DBA-level understanding of database systems. The course is intended for students who want to program at the system level at a database vendor or go for a Ph.D. in database systems with a practical orientation. Topics covered include implementation techniques for disk buffering, indexing and transactional concurrency.
Prerequisites: CS310, CS634 or permission of the instructor.
- CS738 Data Mining
3 Lect Hrs, 3 Credits
Data mining is the process of secondary analysis to search for unsuspected relationships that are of interest or value for decision making. It aims at discovering association rules, episode rules, sequential rules, and other knowledge embedded in data, and is concerned with efficient data structures and algorithms that have good scaling properties. The course presents essential aspects of data mining as a part of our current offering in databases; it includes a data mining project and prepares students to program applications that use data mining techniques.
Prerequisites: CS 630 and permission of instructor.