INDICATIVE CONTENT
This module addresses topics of:
Algorithms and Programming
Algorithm Analysis (e.g. Time Complexity)
Algorithm Design and Strategies (e.g. Brute Force, Best-first, Breadth-First), and Dynamic Programming
Data structure (e.g. List, Stack, Tree traversal, and Queue)
Designing for uses: Accessibility and Inclusivity based consideration with the process.
Sorting (e.g. Merge Sort, Quick Sort, and Selection Sort)
Search algorithms, and Graph
Other algorithms - Travelling salesman, van loading, and knapsack loading
Metrics for evaluating complexity of algorithms (Big-O)
OO Programming techniques
System Modelling of classes
Further programming techniques
BCS / TechSkills / Employability
Maths principles: Which relate directly to data aspects of computing.
Evaluation of systems: Case study work will get students to design and evaluate their algorithm work for performance.
Problem solving & management/planning: Students will explore algorithms for efficiency on several dimensions.
ADDITIONAL ASSESSMENT DETAILS
PRACTICAL - Practical Assessment – You will create a portfolio of 5 practical exercises which are investigated and created within practical sessions, including design and testing to be assessed through a demonstration (an informal showing of the student’s portfolio outputs). In creating your portfolio, you will collaborate with other students in design review and approval focus group sessions, taking formative feedback and building this into your work.
REPORT - Written Report - You will write a report identifying, with examples, the different algorithm structures and uses, given a case study to reference.
LEARNING STRATEGIES
All teaching sessions will blend theory and practical learning. You will be introduced to curriculum concepts and ideas and will then be able to apply theory to practical examples within the same sessions. In addition, you will be provided with a range of resources for independent study such as case studies, academic papers and industry stories. There will be a mixture of practical and theoretical formative (mock or practice) exercises which will help you build knowledge and confidence in preparation for summative (formal) assessment.
LEARNING OUTCOMES
1. Design and develop software applications by selecting and applying appropriate data structures and algorithms to solve problems.
Critical Reasoning & Collaboration
Digital Literacy
2. Solve non-trivial programming problems using current techniques, evaluating possible solutions and selecting the best for the given situation.
Research Skills
Personal Development & Entrepreneurship
3. Evaluate and compare algorithmic strategies to justify design decisions.
Communication
Reflection
RESOURCES
Current IDEs (Integrated Development Environments)
TEXTS
Thomas, G. (2025), Essential Algorithms for Beginners: Mastering the Fundamentals of Algorithms & Data Structures (The Computer Scientists Algorithmic Mastery Series), Independently Published
Howson, O. (2025), Understanding Common Computer Algorithms, Independently Published
Rocca, L, M. (2021), Algorithms and Data Structures in Action, Manning Publications
Skiena, S. (2020), The Algorithm Design Manual (Texts in Computer Science), Springer; 3rd ed. 2020 edition
Rhoter, A. (2025), The Algorithm's Embrace 2000-2025: How Internet Algorithms Shaped Human Narratives, Independently Published
WEB DESCRIPTOR
In this module, you will learn about further coding, data structures and algorithms, and practice these principles by producing applications. The module has a heavy focus on being hands on so you will be exposed to many simulation and case study exercises to trial out and develop your skills. Allied to practical hands-on activity you will also develop your evaluation skills.