Description: This course will cover the topic of indexing for different topic of indexing for different type of large, (typically) disk-based data sets. Indexing generally refers to the design, implementation, and use of data structures that allow you to quickly find database objects that satisfy a particular selection criteria. For example, in a database containing a large number of surveillance photographs, you may want to find all photographs that are similar to the picture of a known criminal, without having to check each and every photograph in the database explicitly. In the course, we will study data structures that are appropriate for this problem, as well as for many other database search problems.