Core Module Information
Module title: Algorithms and Data Structures

SCQF level: 09:
SCQF credit value: 20.00
ECTS credit value: 10

Module code: SET09417
Module leader: Christos Chrysoulas
School School of Computing
Subject area group: Computer Science

To study this module you will need the learning equivalent to the module listed or have passed this module. An examples of equivalent learning include experience of programming in a suitable high level programming language.

Description of module content:

Performance analysis and approximations for algorithms will be considered. The big “O” notation will be looked at to estimate space and time requirements for some classical algorithms and data structures. This will include the partition of problems into constant, linear and exponential growth properties of the associated algorithms. Iterative and recursive algorithms and their relationships will form a core of investigating various searching and sorting methods.
The usual useful linear data structures such Arrays, Lists, Queues and Stacks, their capabilities, performance and uses will be studied. Several associative data structures such as Sets, Dictionaries by Hash Tables and Binary Trees will be analysed to evaluate their capabilities and performance characteristics.

Learning Outcomes for module:

Upon completion of this module you will be able to
LO1: Evaluate the performance of an algorithm based on the size of a problem input
LO2: Examine and evaluate the algorithms that work on various data structures
LO3: Evaluate and discuss the capabilities of data structures to applicable problems
LO4: Demonstrate a working knowledge of a relevant data structures API
LO5: Design, develop and evaluate data structures and algorithms
LO6: Evaluate and design encoding algorithms, including cryptographic, hashing, and compression

Full Details of Teaching and Assessment
2022/3, Trimester 2, FACE-TO-FACE, Edinburgh Napier University
Occurrence: 002
Primary mode of delivery: FACE-TO-FACE
Location of delivery: MERCHISTON
Partner: Edinburgh Napier University
Member of staff responsible for delivering module: Christos Chrysoulas
Module Organiser:

Learning, Teaching and Assessment (LTA) Approach:
The student is required to be employed as a Graduate Apprentice based in and around Edinburgh to be eligible to complete
this module, in this format. This module is offered in day release (GA) study mode and will be delivered during the period that
students are attending classes from 9 am to 5 pm, one day per week. The delivery of the module is in line with normal university
delivery models. The traditional lecture materials will be delivered in a blended form using online materials, while in-class time
is devoted to practical exercises, projects, or discussions. The module is designed around online and student-centred learning
in practice with an emphasis on building a learning community. The module is introduced by an induction workshop which
introduces students to the online resources and explains the assessment process.
' There will be a combination of traditional lecture/practical format classes supplemented with significant use of a detailed
study guide and web-based resources LOs 1-6.
' This module will be delivered using a combination of lectures, practicals and tutorials during the face to face monthly
sessions supported by online activities and directed study. The practicals offer the students a chance to practice their
programming skills (LOs 1-6) and the tutorials will be used to emphasise those aspects of software development which
need discussion and debate, such as problem-based reasoning, software design and test case design(LOs 1-6).
' Students are expected to do further reading, significant amounts of directed study and practical work and substantial
independent learning using the detailed study guide and web-based resources. LOs 1-6.

Formative Assessment:
To support formative feedback, the Software Engineering subject group utilise a lab based teaching approach across their provision. During these lab sessions, staff will discuss and evaluate student progress and provide feedback on how well they are progressing with their work. All modules in the subject group also require students to demonstrate their coursework on submission to provide further formative feedback on how the work could be improved.

Summative Assessment:
The module has one assessment: a project development.
The project is a two part one. The students on the first part should deliver a report in
which they write about their background research, plan and perhaps mock-up their
solution. The students on the second part should implement and evaluate their idea.
The project requires the students to undertake the development of a significant piece of
software in which they pay careful attention to their choice of data structures &
algorithms. The students will have to provide a specification for their application that
incorporates key concepts covered in the module. The project forms a formative
assessment built up during the module, covering aspects of all learning outcomes (Part
1 of the Coursework). The students at the very end should deliver an implementation of
their idea and would be marked for that. The project it self forms a summative
assessment covering LOs 1-6.

Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Tutorial 21
Independent Learning Guided independent study 179
Total Study Hours200
Expected Total Study Hours for Module200

Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Project - Practical 100 1-6 10 HOURS= #..##, WORDS= 0
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

Indicative References and Reading List - URL:
Contact your module leader