F27SG Software Development 3

Dr Rob Stewart

Course co-ordinator(s): Dr Rob Stewart (Edinburgh), Dr Mohamed Abdelshafy (Dubai).

Aims:

  • To develop further skills and techniques in programming in a high-level language.

Detailed Information

Pre-requisites: none.

Location: ALP, Dubai, Edinburgh.

Semester: 2.

Syllabus:

  • static structures – tables
  • linear techniques e.g. search, delete, update
  • string & text processing
  • dynamic structures – stacks & queues
  • recursive techniques – linear recursion, accumulation recursion
  • sorting & searching e.g. binary search, quicksort, merge sort, hash tables
  • linked structures – lists – construction, traversal, delete, update
  • linked structures – trees – construction, traversal, delete, update, balance
  • file processing
  • introductory complexity & “big O” notation

Learning Outcomes: Subject Mastery

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

  • To understand properties of and algorithms for fundamental static, dynamic and linked data structures
  • To know when to deploy fundamental data structures and algorithms in practical problem solving
  • To gain mastery of fundamental linear and recursive programming techniques
  • To know when to deploy linear and recursive programming techniques in practical problem solving
  • To understand fundamental techniques for processing very large data sets from files
  • To gain skill in elementary analyses of fundamental algorithms and data structures to give insight into their time and space complexity bounds
  • To understand correspondences between different programming techniques
  • To understand correspondences between different data structures and algorithms

Learning Outcomes: Personal Abilities

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

  • 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:

Assessment: Examination: (weighting – 50%) Examination: (weighting – 50%)
Re-assessment: Examination: (weighting – 100%)

SCQF Level: 7.

Credits: 15.