You are here
Courses > Undergraduate > Courses & Modules
Module MA346M: Topics in Advanced Programming
- Credit weighting (ECTS)
- 5 credits
- Semester/term taught
- Michaelmas Term 2017/18
- Contact Hours
- 11 weeks, 3 lectures including tutorials per week
-
- Lecturer
- Prof. Colm Ó Dúnlaing
- Learning Outcomes
- On successful completion of this module, students will be able to:
- Estimate the runtime of various algorithms.
- Recognise where certain algorithms are applicable, and where they are unsuitable.
- Extend their knowledge of algorithms or proceed to applications or to further study of the subject.
Topics
-
-
- 'Bags' Insert, delete, and search.
- Heaps and heapsort.
- Linked lists.
- Binary trees, binary search trees; find, insert, delete, join, split.
- Red-black trees.
- Splay trees.
- Union/Find.
- Hash coding.
- Bloom filters.
- String matching (if time permits).
- Tries and string matching (if time permits).
- Directed graphs.
- Topological sort.
- Strong components: Sharir and Tarjan.
- Shortest weighted paths: Floyd-Warshall and Dijkstra.
- Assessment Detail
- Fortnightly in-class quizzes for 10%, programming assignments for 20% and 70% for the final 2-hour exam in May. Supplementals if required will consist of 100% exam.
- Prerequisites
- MA1262, MA1264
- Teaching
Lectures will be delivered on blackboard, with notes posted regularly on the Internet.
-