F28SG Introduction to Data Structures & Algorithms

Dr Rob StewartSmitha Kumar

Course co-ordinator(s): Dr Rob Stewart (Edinburgh), Smitha Kumar (Dubai), Huseyin Kusetogullari (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

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.

SCQF Level: 8.

Credits: 15.