Concepts, principles, and algorithms in information retrieval and text processing.
|Paper title||Information Retrieval|
|Teaching period||First Semester|
|Domestic Tuition Fees (NZD)||$1,307.76|
|International Tuition Fees (NZD)||$5,517.77|
There are no formal prerequisites for the 400-level papers, but prior knowledge is assumed.
Computer Science Adviser (email@example.com)
- More information link
- View more information about COSC 431
- 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 will start with parsing
and simple natural language processing as it applies to indexing and then move on
to 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, link-mining and so on.
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.
- Course outline
- View the course outline for COSC 431
- 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 C 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