module specification

CS5003 - Data Structures and Specialist Programming (2026/27)

Module specification Module approved to run in 2026/27
Module title Data Structures and Specialist Programming
Module level Intermediate (05)
Credit rating for module 30
School School of Computing and Digital Media
Total study hours 300
 
72 hours Scheduled learning & teaching activities
150 hours Guided independent study
78 hours Assessment Preparation / Delivery
Assessment components
Type Weighting Qualifying mark Description
Coursework 60%   Group Programming Assignment + Report (up to 2000 words)
Coursework 40%   Group Programming Assignment + Report (up to 1500 words)
Running in 2026/27

(Please note that module timeslots are subject to change)
Period Campus Day Time Module Leader
Year North Monday Morning

Module summary

This module further develops students’ knowledge and skills in developing software applications for solving problems. It focuses on the data structures and algorithms in programming and the software technologies for building standalone and/or networked and Internet applications. The module is designed to enhance employability through the use of current industrial tools and technologies, and familiarisation with the software development life cycle.

The key skills and knowledge to be gained are:

- Provide students with an understanding of theoretical concepts related to the use of data structures, algorithms, programming patterns and software infrastructure in standalone and/or networked and Internet environments.

- Develop students’ analytical skills in the context of processing, generating, storing, retrieving, and presenting data.

- Enhance students’ practical skills using appropriate methods and techniques for designing, programming, and integrating software applications using user interfaces, data structures, and appropriate storage methods.

- Provide students with an understanding of implementation and required programming to be applied as part of the different stages of the software development.

- Enable students to apply analytical and practical skills in solving typical problems in software development.

- Enhance students’ experience and employability through the use of appropriate current technologies, tools, and development environments during software development.

Prior learning requirements

Successful completion of Level 4 or equivalent.

Syllabus

• Introduction to Data structures and algorithms, and revision on the key programming and object-oriented programming concepts that will be needed through the module, such as : variables, statements, expressions, data types, operators, control statements, iterations, classes and objects, libraries, and compilation and interpretation. (LO1, LO4)

• Data structures, such as arrays, array lists, linked lists, stacks, queues, and trees. (LO1, LO2, LO3) • Recursion, iteration, sorting, and searching algorithms. (LO2, LO3)

• Collections. (LO1, LO2, LO3, LO4)

• Software development environments. (LO4, LO5)

• Methods for data storage using data structures, or persistence data storage e.g., files, databases (LO1, LO3, LO4)

• Web Client-side and Server-side Programming using e.g. JSF, servlets/JSPs. (LO4, LO5)

• Design principles that can help students in implementation, such as design patterns e.g., MVC and Threading (LO4, LO5)

• Designing, implementing, presenting/documenting, and testing programs, including error handling and data validation using an appropriate development environment. (LO4, LO5

Balance of independent study and scheduled teaching activity

The module will be delivered by a mixture of lectures, workshops, blended learning including synchronous and asynchronous e-Learning. Students will be expected to carry out directed independent background study to familiarise themselves with the platforms and tools that will be used during the module.

All required learning material for the module (lectures / workshops / recordings / links etc.) will be available to students on University VLE (WebLearn). The module page on VLE will be continuously updated with announcements and need based additional information to ensure appropriate support for students’ learning.

Students will be expected to demonstrate software solutions and produce critical reflection on their learning activities and personal development for evaluation as part of their assessed work.

Learning outcomes

On successful completion of this module, students will be able to:
- LO1: Identify, describe, and implement key data structures to store and retrieve data.

- LO2: Identify, describe, and implement algorithms for data processing, and estimate their complexity in terms of execution time and memory occupation.

- LO3: Critically compare different data structures and algorithms for specific tasks and justify the choice of one over another based on efficiency, usage, and suitability to the problem context.

- LO4: Implement interactive programs working in a standalone, and/or client/server mode of operation. Students will be encouraged to design and implement GUIs for interactivity.

- LO5: Interpret and transform design specifications into software applications within development environments, test, and deploy such applications.

Bibliography