Short Title:  Algorithmic Analysis 

Full Title:  Algorithmic Analysis 

Language of Instruction:  English 

Field of Study:  Computer Science 

Reviewed By:  FINBARR FEENEY 

Module Author:  MARGARET FINNEGAN 

Module Description:  Analysis of algorithms and design of algorithms. This module provides the student with the knowledge and skills to analyse and design algorithms. 

Learning Outcomes 
On successful completion of this module the learner will be able to: 
LO1 
To carry out a basic complexity analysis of algorithms and estimate their worstcase and averagecase behaviour 
LO2 
Understand and analyse the resource requirements of algorithms and data structures. 
LO3 
Identify the most appropriate algorithms and data structure to solve various types of computing problems 
LO4 
Design software that can search and sort data structures such as Trees, Priority Queues, Dictionaries, and Graphs. 
Module Content & Assessment
Course Work 
Assessment Type 
Assessment Description 
Outcome addressed 
% of total 
Assessment Date 
Continuous Assessment 
Continuous Assessment 1  In class practical and theory exam. A typical task would involve the: analysis of a given algorithm (e.g. sorting, searching, tree traversal) to determine its time complexity. The exam would also include a number of theory questions. For example, given a graph depicting the growth rate functions of algorithms, determine which algorithm performs best for given input values. Task assessed in terms of: use of mathematical notations and formulae to represent programming constructs; application of appropriate mathematical tools and techniques that derive the algorithmâ€™s growth rate function; knowledge and understanding of the theory of algorithm analysis. 
1,2,4 
20.00 
n/a 
Continuous Assessment 
Continuous Assessment 2  in class practical and theory exam. A Typical Task might be to: formulate the recurrence relations for a given recursive algorithm (e.g. a shortest path algorithm) and the solution of these equations. The exam would include a number of theory questions. Such as the different ways in which data structures (e.g. priority queues, trees, graphs) can be represented, their performance and limitations and when to choose one over another for a specific algorithm.
Task assessed in terms of: derivation of recurrence relations from an algorithmâ€™s pseudocode; application of a method for solving recurrence relations; knowledge of data structures, when to use them and their spa 
1,3,4 
20.00 
n/a 
End of Module Formal Examination 
Assessment Type 
Assessment Description 
Outcome addressed 
% of total 
Assessment Date 
Formal Exam 
n/a 
1,2,3 
60.00 
EndofSemester 
TU Dublin – Tallaght Campus reserves the right to alter the nature and timings of assessment
Module Workload
Workload: Full Time 
Workload Type 
Workload Description 
Hours 
Frequency 
Average Weekly Learner Workload 
Lecture 
Class based instruction. Theory and worked examples. 
2.00 
Every Week 
2.00 
Lab 
Lab assignments and practical work 
1.00 
Every Week 
1.00 
Independent Learning 
Reading, researching. 
2.00 
Every Week 
2.00 
Total Weekly Learner Workload 
5.00 
Total Weekly Contact Hours 
3.00 
Workload: Part Time 
Workload Type 
Workload Description 
Hours 
Frequency 
Average Weekly Learner Workload 
Lecture 
Class based instruction. Theory and worked examples. 
1.00 
Every Week 
1.00 
Lab 
Lab assignments and practical work 
1.00 
Every Week 
1.00 
Independent Learning Time 
Reading and researching. 
2.00 
Every Week 
2.00 
Total Weekly Learner Workload 
4.00 
Total Weekly Contact Hours 
2.00 
Module ResourcesRecommended Book Resources 

 Addison Wesley, The Art of Computer Programming: Fundamental Algorithms Volume. 1: Fundamental Algorithms [ISBN: 97802018968]
 Narasimha Karumanchi, 2017, Data Structures and Algorithms Made Easy: 700 Data Structure and Algorithmic Puzzles, 5 Ed., CreateSpace [ISBN: 9781456549886]
 Michael T. Goodrich, Roberto Tamassia, David M. Mount, 2011, Data Structures and Algorithms in C++, 2nd Ed. [ISBN: 9780470383278]
 Mark Allen Weiss 2006, Data structures and algorithm analysis in C++, Pearson AddisonWesley Boston [ISBN: 9780321441461]
 Robert Sedgewick, Philippe Flajolet 1996, An introduction to the analysis of algorithms, AddisonWesley Reading, Mass. [ISBN: 9780201400090]
 Stephen Skiena 2010, The Algorithm Design Manual, 2 Ed., Springer [ISBN: 9781849967204]
 AddisonWesley 2011, Algorithms, 4 Ed., AddisonWesley [ISBN: 032157351X]
 This module does not have any article/paper resources 

Other Resources 

 Website: 2013C++ Tutorials on Data Structures and
Algorthhims
 Podcast: Massachusetts Institute of Technology 2013, Free podcast of MIT Course: Introduction
to Algorithms, Apple

Module Delivered in
