The topic covers the development of solutions to complex problems based on complex algorithms involving many, possibly distributed, components in complex structures.
Problems will be taken from a number of areas such as robotics, image processing, animation and information retrieval and analysis.
Various computational models will be used such as mobile agents, distributed processing and evolutionary.
This topic aims to equip students with the skills needed to solve complex programming problems, such as applications that provide an interface to real-world data. The focus is on object-oriented techniques for representing and manipulating program data using either predefined components or custom-designed components.
Timetable details for 2021 are no longer published.