Unit 19: Data Structures & Algorithms

Unit code                            D/615/1649

Unit level                            QCF Level 5/ NFQ Level 6/7

Credit value                       15


The knowledge to implement algorithms  and data structures that solve real problems, and knowing the purpose, complexity and use of algorithms is part of an essential toolkit for software engineers. An algorithm is a sequence of instructions used to manipulate data held in a structured form and together constitute design patterns for solving a diverse range of computer problems, including network analysis, cryptography, data compression and proc ess control.

This unit introduces students to data structures and how they are used in algorithms, enabling them to design and imple ment data structures. The unit introduces the specification of abstract data types and explores their use in concrete data structures. Based on this knowledge, students should be able to develop solutions by spec ifying, designing and implementing data structures and algorithms  in a variety of programming  paradigms  for an identified need.

Among the topics included in this unit are abstract data types specification, formal data notations, data encapsulation, complex  data structures, programming language impleme ntations using handles, pointers, classes and methods, algorithm types, data struc ture libraries, algorithm complexity, asymptotic testing and benchmarking.

On completion of this unit the student should be able to identify program data requirements, specify abstract data types using a formal notation, translate into concrete data structures and be able to develop, using a programming paradigm, different sorting, searching and navigational algorithms that imple ment complex data structures and evaluate their effectiveness.

As a result of studying this unit students will develop skills such as communic ation literacy, critical thinking, analysis, synthesis, reasoning and interpretation, which are crucial for gaining employment  and developing academic competence.


Learning  Outcomes

By the end of the unit  students will be able to:

LO1.     Examine abstract data types, concrete data structures and algorithms. LO2.  Specify abstract data types and algorithms  in a formal notation.

LO3.     Impleme nt complex data structures and algorithms.

LO4.     Assess the effectiveness of data structures and algorithms.