Undergraduate Courses

CS122A: Introduction to Data Management

- Prof. Carey / Prof. Mehrotra / Prof. Li / Prof. Sheu

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 and Web Applications

- Prof. Li

This course exposes students to advanced programming concepts and provides students with a greater focus on using DBMS techniques to build Web-based 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) It teaches students how to use 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

- Nalini Venkatasubramanian

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.


- Prof. Jain


Graduate Courses

CS212: Multimedia Systems and Applications

- 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

- Prof. Carey / Prof. Li

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

- Prof. Mehrotra

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

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

CS230: Distributed Computer System

- Prof. Venkatasubramanian

Principles of distributed computing systems. Topics covered include message-passing, remote procedure calls, distributed shared memory synchronization, resource and process/thread management, distributed file systems, naming and security. Prerequisite: consent of instructor.

CS237: Distributed Systems Middleware

- 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: Beyond SQL Data Management

- Prof. Carey