F28DA Data Structures and Algorithms

Dr Manuel MaarekDr Hind Zantout

Course co-ordinator(s): Dr Manuel Maarek (Edinburgh), Dr Hind Zantout (Dubai).

Aims:

  • To introduce core algorithms and data structures used in a wide range of applications in Computer Science
  • To further develop skills in algorithm and data structure design, and the development of medium sized programs

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisite course(s): F27SB Software Development 2 .

Location: ALP, Dubai, Edinburgh.

Semester: 1.

Syllabus:

  • Algorithm and data structure topics including: advanced trees, string processing, graphs, hash tables
  • Algorithm/data structure choice, design and deployment

Learning Outcomes: Subject Mastery

Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Informed Learning)

  • Ability to analyse and hence choose suitable algorithms and data structures for a given problem
  • To design and implement medium sized programs based on a range of standard algorithms and data structures and making appropriate use of libraries
  • Understanding the distinction between abstract Algebraic Data Type (ADT) properties and concrete ADT realisations
  • Appreciation of need for integration of multiple ADTs in substantial programs
  • Appreciation of efficiencies/reassurances from ADT reuse

Learning Outcomes: Personal Abilities

Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Numeracy & ICT

  • To be able to critically analyse and hence choose suitable algorithms and data structures for a given problem
  • To be able to convey the advantages and disadvantages of alternative data structures and algorithms
  • To develop practical problem-solving skills in the context of programming
  • To be able to plan & execute a substantial software project

Assessment Methods:

Assessment: Examination: (weighting – 60%) Coursework: (weighting – 40%)
Re-assessment: Examination: (weighting – 100%)

SCQF Level: 8.

Credits: 15.