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 | ||||||||||||
|
|||||||||||||
| Assessment components |
|
||||||||||||
| Running in 2026/27(Please note that module timeslots are subject to change) |
|
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.
