This course will introduce students to text-based information retrieval (IR) techniques, i.e. search engines. Various IR models such as the Boolean model, vector space model, and probabilistic models will be studied. Efficient indexing techniques for both general document collections and specialized collections (strings, XML documents) will be examined. Techniques for improving search performance including relevance feedback and local context analysis will be examined. The course will also cover web search engines including link analysis techniques such as PageRank and HITS. Students will work on programming projects to gain hands-on expertise in building and refining IR systems.