F27SE Data Structures & Algorithms C

Dr Patricia Vargas

Course co-ordinator(s): Dr Patricia Vargas (Edinburgh).

Aims:

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

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: Edinburgh.

Semester: 1.

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
  • data structures and algorithms examples based on C programming language

Learning Outcomes: Subject Mastery

  • 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 understand correspondences between different programming techniques
  • To understand correspondences between different data structures and algorithms

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 2020-21 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.

SCQF Level: 7.

Credits: 7.