F28DA Data Structures and Algorithms

Dr Rosa FilgueiraMarko DokoAli MuzaffarAbdullah Almasri

Course co-ordinator(s): Dr Rosa Filgueira (Edinburgh), Marko Doko (Edinburgh), Ali Muzaffar (Dubai), Abdullah Almasri (Malaysia).

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, Malaysia.

Semester: 2.

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: Due to covid, assessment methods for Academic Year 2021/22 may vary from those noted on the official course descriptor. Please see:
- Maths (F1) Course Weightings 2021/22
- Computer Science (F2) Course Weightings 2021/22
- AMS (F7) Course Weightings 2021/22

SCQF Level: 8.

Credits: 15.