About this paper
|Semester 1 (On campus)
|Domestic Tuition Fees ( NZD )
|International Tuition Fees
|Tuition Fees for international students are elsewhere on this website.
There are no formal prerequisites for the 400-level papers, but prior knowledge is assumed.
- More information link
- Teaching staff
- Lecturer: Associate Professor Andrew Trotman
- Paper Structure
This paper will cover those aspects of Information Retrieval necessary to understand and implement a simple relevance-ranking search engine. It includes parsing and simple natural language processing as it applies to indexing and the advanced data structures seen in searching the index. Methods of improving the performance of the search engine will be introduced. Such methods include relevance feedback, word morphology, and efficient algorithms.
Issues in quantitative analysis of search engines will be covered, including the statistics necessary to determine whether one search engine out-performs another. Statistics will also be taught as it applies to language modelling and probabilistic relevance ranking. Scalability will also be covered.
By the end of the paper, the student will understand how and why search engines work, will have implemented a simple scalable search engine and will be familiar with current research in the topic.
- Two practical assignments, 20% each
- Final exam, 60%
- Teaching Arrangements
- One 2-hour lecture per week.
Textbooks are not required for this paper.
- Graduate Attributes Emphasised
- Interdisciplinary perspective, Lifelong learning, Scholarship, Communication, Critical thinking, Information literacy, Research, Self-motivation.
View more information about Otago's graduate attributes.
- Learning Outcomes
This paper will enable students to:
- Implement a range of data structures and algorithms using the appropriate programming language
- Classify familiar algorithms in terms of efficiency and present big-O calculations in a clear and logical manner
- Use proofs to support efficiency and effectiveness calculations
- Critically evaluate the factors that should be taken into account when deciding on the data structures and/or algorithms to use for a given purpose
- Demonstrate understanding of a variety of algorithm designs for optimisation