Study abroad in Edinburgh

Course finder

<< return to browsing

Full Year

Informatics 2 - Introduction to Algorithms and Data Structures (INFR08026)

Subject

Informatics

College

SCE

Credits

20

Normal Year Taken

2

Delivery Session Year

2023/2024

Pre-requisites

Students should have completed a minimum of two semesters of programming courses and at least one semester of University-level mathematics. A previous course in discrete mathematics is strongly recommended.

Course Summary

This course provides a formal and practical introduction to the algorithms and data structures that underlie all areas of computation. It aims to provide students with a toolbox of standard algorithms and data structures, as well as the skills to analyse both the theoretical complexity of algorithms and their practical behaviour. Both written and programming exercises will be used, with examples from all areas of Informatics.

Course Description

This course is an important foundation for all areas of Informatics. It runs for the full year (10 credits in each semester), with approximately 15 lectures per semester. A mixture of tutorials and labs will be used to reinforce both mathematical and practical knowledge of algorithms and data structures, including differences between theoretical and empirical analysis. Students' ability to implement and empirically analyse algorithms will be assessed via practical coursework, with an exam to assess other aspects of the course (knowledge and choice of existing algorithms and data structures, theoretical analysis, algorithmic strategies, and applications).The following is an indicative list of topics covered:Asymptotic notation and algorithmic analysisSequential data structures (lists, stacks, queues)Basic and more advanced sorting algorithmsTree data structures, heaps and priority queuesHashing and dictionariesGraphs and graph algorithmsDynamic programmingThe classes P and NPThroughout, different specific algorithms and algorithmic strategies (such as divide-and-conquer, greedy, recursive backtracking, dynamic programming) will be introduced using real-world examples.

Assessment Information

Written Exam 60%, Coursework 40%, Practical Exam 0%

Additional Assessment Information

Weighting is 30% coursework, 10% short quizzes, and 60% exam. There will be at least one practical assignment.

view the timetable and further details for this course

Disclaimer

All course information obtained from this visiting student course finder should be regarded as provisional. We cannot guarantee that places will be available for any particular course. For more information, please see the visiting student disclaimer:

Visiting student disclaimer