Skip to main content

Trinity College Dublin, The University of Dublin

Trinity Menu Trinity Search



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.