Menu:

Education

Textbooks

Raghu Ramakrishnan and Johannes Gehrke
Database Management Systems , Third Edition
McGraw-Hill, 2002

You can find more information about the book at the homepage of the book.

Courses

The Cornell Database Group currently offers four regular courses in database systems and a weekly research seminar. In addition, we also offer two courses in computer game design, together with the Game Design Initiative at Cornell. Introductory material is covered in a course on Web application programming (CS3300) and in a systems-oriented first course in relational database technology (CS4320) with an associated practicum (CS4321). More advanced material is divided into a graduate course that focuses on enterprise information architectures (CS5300) and two graduate courses that covers fundamental papers in modern database technology (CS6320 and CS6322). We also have a weekly research lunch seminar (CS7390) where we read recent conference papers. Computer game design is explored in an introductory (CIS 3000) and an advanced course (CIS 4002).

CS3300: Data-Driven Web Applications.

This course is an advanced introduction to Web application development. The material covered includes both relational and non-relational (NoSQL) storage management solutions, middle tier development with a focus on good software design practices, as well as the use of Web development frameworks and APIs. For their main course project, students develop a data-driven Facebook application. Prerequisites: CS2110 and (CS2300 or permission of the instructor). Can be used towards the concentration/minor in Information Science: www.cis.cornell.edu/infoscience/.

CS4320: Introduction to Database Systems.

An introduction to modern relational database systems concentrating on the internals of relational database systems. Concepts covered include query languages (SQL, relational algebra and relational calculus), storage structures, access methods, query processing, query optimization, and database design. This course is usually offered in the fall semester.

CS4321: Practicum in Database Systems.

CS4321 is the practicum associated with CS4320. It consists of several large programming assignments where students build part of a small relational database system called Minibase.

CS5300: The Architecture of Large-Scale Information Systems

This course deals with the architecture of large-scale information systems, with special emphasis on Internet-based systems. Topics covered include three-tier architectures, edge caches, distributed transaction management, web services, workflows, high-availability architectures, and content management. The course will also include a significant number of programming assignments in the context of three-tier architectures, involving web servers, application servers and database systems. You will learn and extensively use technologies such as .Net, JSPs, ASPs, Servlets, Enterprise Java Beans (EJBs), XML, and SOAP. This course is usually offered in the spring semester; it has CS4320 as a prerequisite.

CS6320: Database Management Systems.

The class introduces a variety of advanced issues ranging from transaction management to query processing to data mining. Part of the course is extensive paper reading and discussion of the papers in class. A major part of the course is a research project. This course is usually offered in the spring semester.

CS6322: Advanced Database Systems.

The class concentrates on one or two advanced topics in data management. The topics of the course vary from semester to semester. Part of the course is extensive paper reading and discussion of the papers in class.  This course is usually offered in the spring semester.

CS7390: Seminar in Database Systems.

The weekly seminar of the database group. Each semester, we pick a different topic and read a set of research papers related to the topic. Students in the database group present the papers in the seminar.

CIS3000: Introduction to Computer Game Design.

This course investigates the theory and practice of developing computer games from a blend of technical, aesthetic, and cultural perspectives. Programmers, artists, and musicians collaborate during the course to produce an original computer game. This course is usually offered in the spring semester.

CIS4002: Advanced Projects in Game Design.

In this course, students work in a multidisciplinary team to develop an original computer game or an application that explores innovative game technology. Students have the goal of submitting their work to a contest or conference. This course is usually offered in the fall semester.