F28SG Introduction to Data Structures & Algorithms

Dr Rob StewartMehran SharghiSmitha KumarAli Muzaffar

Course co-ordinator(s): Dr Rob Stewart (Edinburgh), Mehran Sharghi (Edinburgh), Smitha Kumar (Dubai), Ali Muzaffar (Dubai).

Aims:

To develop further skills and techniques in programming in a high-level language. The ability to construct data structures in a high level language, and implementation algorithms over these data structures.

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: ALP, Dubai, Edinburgh.

Semester: 1.

Syllabus:

  • static structures – arrays
  • linear techniques e.g. search, delete, update
  • dynamic structures - stacks & queues
  • recursive techniques – linear recursion, accumulation recursion
  • sorting & searching e.g. binary search, linear sorting, divide and conquer sorting
  • linked structures – lists and trees: construction, traversal, delete, update
  • introductory complexity & “big O” notation
  • introduction to parallelism and concurrency

Learning Outcomes: Subject Mastery

  • static structures – arrays
  • linear techniques e.g. search, delete, update
  • dynamic structures - stacks & queues
  • recursive techniques – linear recursion, accumulation recursion
  • sorting & searching e.g. binary search, linear sorting, divide and conquer sorting
  • linked structures – lists and trees: construction, traversal, delete, update
  • introductory complexity & “big O” notation
  • introduction to parallelism and concurrency

Learning Outcomes: Personal Abilities

  • To understand how the choice of algorithms and data structures determines the efficacy of proposed solutions to problems
  • To be able to explain the implications of choosing particular algorithms and data structures for the time and space behaviour of solutions.

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.