Algorithm Design and Data Structures

Cod y Modiwl
CS21120
Teitl y Modiwl
Algorithm Design and Data Structures
Blwyddyn Academaidd
2027/2028
Semester
Semester 1
Cyd-gysylltydd y Modiwl
Dr Christine Zarges
Rhestr Ddarllen
Gweld ar Aspire
Rhagofynion
CC12320 neu CS12320
Anghymharus (Unrhyw Flwyddyn Acad)
CC21120
Staff Eraill sy'n Cyfrannu
Dr Neil Mac Parthalain
Dr James Finnis
Dr Christine Zarges
Professor Bernard Tiddeman

Dulliau Asesu

Math o Asesiad

Manylion Asesiad

Cyfran

Asesiad Semester ​​Programming Assignment: 50 Awr 50%
Arholiad Semester Blackboard Quiz: 2 Awr (Invigilated) 50%
Asesiad Ailsefyll Programming Assignment: 50 Awr 50%
Arholiad Ailsefyll Blackboard Quiz: 2 Awr (Invigilated) 50%

Canlyniadau Dysgu

Wedi cwblhau'r modiwl dylai'r myfyrwyr fedru:

  1. Demonstrate their understanding of the principles of abstraction and encapsulation as they apply to the design of abstract data types and programs.
  2. Analyse and evaluate the time and space behaviour of algorithms and understand how this is expressed and determined.
  3. Recognise the importance of this analysis in the design of software.
  4. Describe and apply some of the main approaches to algorithm design such as greedy algorithms, divide and conquer and dynamic programming.
  5. Demonstrate judgement in evaluating and choosing appropriate data structures and algorithms for a range of programming problems.
  6. Design and implement significant programs in Java.

Disgrifiad cryno

This module builds on the foundations of the first year modules on program design and provides a thorough grounding in the design of data structures and algorithms and gives further insight into object-oriented design.

Cynnwys

1. Basic abstract data types: Introduction to abstract data types; Basic data structures; Stacks, Queues, Priority Queues and their implementations.
2. Storing and Retrieving Data by Key: The Map abstract data type and related abstract data types; Implementations using basic data structures; Hashing; Binary search trees; Balanced binary search trees.
3. Design paradigms for algorithms: Introduction to algorithm design; Brute force; Recursion; Greedy algorithms; Divide & Conquer; Dynamic programming
4. Representing complex relationships with graphs: Terminology; Implementation; Representation; Graph traversal; Problem modelling and solving using graphs, e. g., planning a communications network (minimum spanning trees), finding a route (shortest paths).

Sgiliau Modiwl

Math o Sgiliau

Manylion Sgiliau

Cyfathrebu Written skills will be needed to complete supporting documents to accompany assessed coursework.
Datblygu personol a chynllunio gyrfa Carefully time management will be needed as so to enable students to complete coursework etc. A frequent topic of interview questions for programmers.
Datrys Problemau This is inherent in both the formative practical work and the assessed coursework.
Gwella dysgu a pherfformiad ei hun Students are required to engage in self study. Completing the assignment requires improvements in programming skills. Both the assignment and the exam requires understanding challenging concepts.
Rhifedd Particularly in algorithm analysis.
Sgiliau pwnc penodol See module title and content.
Sgiliau ymchwil The students wil need to search for and use relevant technical information while completing practical and assessed coursework.
Technoleg Gwybodaeth The whole module concerns this area.

Nodau

Mae'r modiwl hwn yn cydymffurfio a FfCChC Lefel 5