Course Description
Course Name
Algorithms
Session: VLNS3425
Hours & Credits
Prerequisites & Language Level
Taught In English
- There is no language prerequisite for courses at this language level.
Overview
Algorithms explores the areas of algorithmic design, algorithmic analysis, and algorithmic choice. The module starts by considering simple numerical algorithms (mean, mode, etc.), and fundamental data structures such as arrays, lists, and dictionaries to refresh ideas taught in Software Development 1 and Software Development 2. The main body of the module focuses on algorithmic analysis and understanding, examining searching, sorting, and the supporting data structures: stacks, queues, trees, and graphs. The latter part of the module focuses on algorithmic strategies and a further consideration of finite state machines.
Algorithms contains a thread of algorithm design running through it, starting with simple algorithm specification, then considering performance characteristics, before ending on common algorithmic design strategies. Students will incorporate ideas presented in the Software Development theme, supplemented by the formal view provided in Mathematics for Computer Science.
Algorithms provides the foundational knowledge of the Algorithms and Artificial Intelligence theme within Computer Science. The aim is to ensure students have fluency in algorithms so they can undertake the tasks in the later modules of the Artificial Intelligence and Machine Learning theme. Specifically, the ideas of searching and sorting presented in Algorithms will be returned to in Artificial Intelligence, where these principles will be used to make machine decisions.
*Course content subject to change