Undergraduate Courses

CS122A: Introduction to Data Management

Fall 2009 / Winter 2010 - Prof. Carey / Prof. Mehrotra

This course provides students with an introduction to the design of databases and the use of database management systems for applications. We will cover the entity relationship (E/R) approach to database design. We will cover the relational data model, mapping E/R designs to relations, relational design theory, abstract query language such as relational algebra, and programming in SQL. Students will get exposure to how relational database management systems are used to implement a database. Time permitting, we will also consider advanced database management features such as object-oriented and object-relational database systems. This course is aimed at database design and use of database management systems in implementing database applications.

CS122B: Projects in Database Management

Winter 2010 / Spring 2010 - Prof. Li

This course exposes students to advanced programming concepts and provides students with a greater focus on using DBMS techniques to build real-world applications. It is intended for two purposes: (1) it introduces students to the modern data management techniques including database connectivity, Web application development, extending database functions, database administration, and XML. (2) Experience using these technologies to build real-world applications. The course builds on CS122A, which introduces students to the classical relational databases and SQL programming.

CS143: Principles of Operating Systems

This course covers principles and concepts of process and resource management, especially as seen in operating systems. Processes, memory management, protection, scheduling, file systems, and I/O systems.

Graduate Courses

CS212: Multimedia Systems and Applications

Fall 2009 - Prof. Jain

This course will discuss elements of multimedia systems. Multimedia is becoming the common mode of synchronous, asynchronous, local, and remote communication. Most of the current assisted communication technologies use single medium. Adoption of multimedia has significant social implications. More relevant to this course, it has significant opportunity for technology development. Multimedia computing and communication systems started receiving attention more than a decade ago. Naturally, early systems dealt with very limited aspect of multimedia. With progress in technology, we will have to address several computing and communication issues in dealing with creation, communication, storage, access, and presentation of multimedia. In this course, we will discuss fundamentals of multimedia systems and address emerging issues that are being addressed as well as should be addressed. In discussing topics, our emphasis will be on concepts and fundamentals.

CS222: Principles of Database Management

Winter 2010 - Prof. Carey

This course provides an implementor's view of database management systems. It covers fundamental principles and implementation techniques, issues, and trade-offs related to database management systems. Topics covered include storage management, buffer management, record-oriented file systems, access methods, query optimization, and query processing,. This course is a must for those students wishing to explore database management as an area of research and/or who plan on taking CS223 or CS224. A significant portion of database systems research as well as industrial database and information system development deals with adapting the basic database techniques covered in this course to new advances in hardware and software technologies or to the requirements of different applications and data types.

CS223: Transaction Processing and Distributed Data Management

Spring 2010 - Prof. Li

The course covers fundamental principles underlying transaction processing including database consistency, concurrency control, database recovery and fault-tolerance. The course includes transaction processing in centralized, distributed, parallel, and client-server environments. It also covers distributed database systems. The course is a prerequisite for further advanced data management courses and research principles of data management.

CS224: Advances in Database Management System Technology

Spring 2010 - Prof. Mehrotra

This course covers selected topics in advanced database research. Its content differs in each offering. This quarter we will focus on Web search. We will present recent papers in the literature. Students will do a substantial project.

CS225: Next Generation Search Systems

Spring 2010 - Prof. Jain

In this course we will study concepts and techniques related to all aspects of Search Systems. First, we will consider basic search technology and the state of art systems. Then we will explore rapidly developing techniques for multimedia search, local search, event-search, and video-on-demand. This course will explore the underlying principles and techniques required to develop Search Systems for the next generation of the Web. Functionality required for the next generation search approaches will be identified and principles and techniques to implement systems for the next generation search will be explored. In this course you will study, research, and implement some of these techniques.

CS230: Distributed Computer System

Winter 2010 - Prof. Venkatasubramanian

TBD

CS237: Distributed Systems Middleware

Spring 2010 - Prof. Venkatasubramanian

This course discusses concepts, techniques and issues in developing distributed systems middleware that provides high performance in large scale distributed and networked environments. Issues in ensuring the satisfaction of QoS requirements for multimedia applications via middleware environments will also be discussed. The course will cover existing middleware standards and solutions such as DCE, CORBA, DCOM,.NET,EJB,J2EE, XML and discuss their relative advantages and shortcomings.

CS295: XML Data Management

This special topics class will cover XML and related technologies from a data management perspective. Part 1 of the course will cover the basics, including XML itself, DTDs, XML Schema, XPath, XSLT, and Web services. Part 2 will focus on XQuery 1.0, the W3C XML query language standard that lies at the heart of most XML data management approaches and technologies. We will also examine XQuery extensions that add support for aggregation, updates, scripting, and full-text searching. In addition, we will cover SQL/XML for publishing and querying XML data. Part 3 will cover various industrial systems related to XML data management, including XML support in relational databases, XML-based data integration middleware, and the role of XML and XQuery in ESBs and business process management systems. Part 4 will look under the hood, covering topics including XML storage and indexing and XML query processing.

CS295: Scalable Data Management

This course will survey research in two areas: parallel database systems and data-intensive computing. The seminal work as well as recent papers in each of these areas will be examined. Parallel database topics will include system architectures, scalable and fault-tolerant data storage, parallel query processing, and query optimization. Data-intensive computing topics will include the MapReduce model and framework, scalable file systems, and cloud data management. Research efforts from each of these communities that aim to support simpler yet sufficiently powerful programming models for large-scale data analysis will be reviewed as well. The class will be reading- and project-oriented in nature, and each class meeting will hopefully include interesting interactive discussions of the topic of the day. Students will be expected to read and present a paper from the literature and will do a term project related to at least one of the course topics.

CS295: TBD

Fall 2009 - Prof. Li

TBD

CS295: Mobile Computing Systems and Applications

Winter 2010 - Prof. Venkatasubramanian

TBD