Teaching

The Cornell Database Group currently offers four regular courses in database systems. Introductory material is covered in a course in relational database technology (CS4320) with an associated practicum (CS4321). More advanced material is covered in a graduate course on advanced database systems (CS6320). We discuss recent papers in the database seminar (CS 7390).

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, as well as more recent developments such as NoSQL and MapReduce. 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.

CS6320: Advanced Database Systems

This course reviews recent trends and foundational work in the area of databases and large-scale data analysis. Starting from the foundations of relational databases, we review recent research aimed at making data analysis and transaction processing more efficient (e.g., column stores, query compilation, approximate querying, NoSQL and NewSQL databases), handling diverse data formats (e.g., graph and stream data management systems), or improving usability (e.g., natural language interfaces, automated data visualization). 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.

CS7390: Seminar in Database Systems

The database seminar is the weekly meeting of students and faculty interested in data management and data mining at Cornell. We typically discuss one or two papers on related topics per session. We focus on recent and seminal papers of general interest.