DCU Home | Our Courses | Loop | Registry | Library | Search DCU


Module Specifications

Archived Version 2019 - 2020

Module Title
Module Code

Online Module Resources

NFQ level 8 Credit Rating 5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

The aim of this module is to introduce the student to data structures and algorithms, with an emphasis on applications to engineering problem solving. Students will develop an understanding of a range of abstract data types and fundamental sorting and searching algorithms, and gain practical experience in their implementation using high-level programming languages. Students will also encounter a broad range of applied engineering problem areas, as apply to networks, optimisation and statistical analysis, for example. Students will explore and evaluate different approaches to implementing solutions to engineering problems, given requirements for speed and solution accuracy, or constraints such as real-time response, available processing power, or energy consumption.

Learning Outcomes

1. Classify general problem solving approaches
2. Implement abstract data types including lists, trees and sets and implement elementary sorting and searching algorithms
3. Implement solution methods using iterative or recursive approaches
4. Translate abstract solution descriptions to concrete programming language implementations
5. Evaluate appropriate data structures and algorithms for given engineering application problems
6. Analyse algorithm time and space complexity
7. Use object-oriented principles in design and implementation of data types and algorithms

Workload Full-time hours per semester
Type Hours Description
Lecture24Theory and worked application examples
Laboratory20Data structures and algorithms programming support sessions and in class tests
Directed learning25Problem solving assignment
Independent Study56Reviewing lecture material
Total Workload: 125

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Importance of algorithms to Engineering applications. Approaches to problem solving: exact vs heuristic solutions, iterative vs recursive procedures, divide and conquer, brute-force, greedy methods, trial and error, problem reduction.

Elements of Algorithm Implementation
Abstract data types: arrays, lists, trees, graphs, maps, sets, stacks, queues. Fundamental operations on data structures: insertion, deletion, existence, searching. Traversing data structures using iteration or recursion.

Review of Essential Programming Elements
Translation from abstract data types and abstract solution descriptions to programming language implementations. Composing complex data types from simple types: indexing, linking, mapping and hashing. Using Object Oriented principles to compose, encapsulate and re-use data structures and algorithm functionality.

Sorting, Searching and Selecting
Bubble sort, selection sort, insertion sort, binary search, heuristic searches and optimisation, ranking and selection.

Algorithms for Engineering Applications
Problems in networks and graphs, coding, searching and optimisation problems, statistical methods, Monte Carlo method, computing discrete transforms and signal processing applications.

Algorithm Performance
Considerations for selecting algorithms given functional and performance requirements and computational and energy consumption constraints in engineering applications. Time and space complexity. Deterministic and non-deterministic algorithms. Parallelisable algorithms. Numerical limitations of finite precision machines.

Assessment Breakdown
Continuous Assessment% Examination Weight%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Indicative Reading List

    Other Resources

    Programme or List of Programmes