INDICATIVE CONTENT
This module will address:
Core themes - Review of the Four Pillars of OO (Encapsulation, Abstraction, Inheritance and Polymorphism)
Clean coding
Clean unit testing
Refactoring
SOLID principles
Design patterns
Architecture patterns
Distributable APIs
Making applications secure
Appropriate maths aspects applied in a programming context
Plug-able components in Clean Architecture
Database components
Interface components (Command-line, desktop, and APIs for HTTP requests)
Industry approaches to tackling solution finalisation and trade-off
Dependency Management & Inversion
Refactoring Large Codebases
Error Handling, Resilience, and Fault Tolerance
Scalable State Management
Testing for Maintainability and Scale
Performance vs Readability Trade-offs
Codebase Governance & Long-Term Evolution
BCS / TechSkills / Employability elements:
System modelling: Is extensively explored in relation to designing for case studies.
Evaluation of systems: Is required in relation to checking that artefacts are a good fit to user audience.
Problem solving: The lead focus on the module is to get students to work through provided design problems.
ADDITIONAL ASSESSMENT DETAILS
PRACTICAL – Demonstration - You will analyse a given design problem (clean code / scalable code-based case study) and produce a low code / scalable solution that follows accepted principles and is appropriately tested. In order to create their solution design patterns must be reviewed and appropriately applied.
PRESENTATION - You will present findings to a given design problem to a target audience specified within the assessment brief. Within the presentation performance and sustainability will require highlight and consideration, with a detailed discussion required as to the address of scalable factors within the student's proposed solution. You must also integrate as part of your presentation an address of current tools and techniques used within the industry.
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, students 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 students build knowledge and confidence in preparation for summative (formal) assessment.
LEARNING OUTCOMES
1. Implement clean coded applications to provided problems.
Application & Problem-Solving
Digital Literacy
2. Critically evaluate and reflect on different design patterns used to produce scalable code.
Knowledge and Understanding
Reflection
3. Analyse current tools and techniques that address performance and sustainability.
Critical Reasoning & Collaboration
Research Skills
4. Reflect on possible solutions to a given scalable problem, and communicate the chosen strategy to a target audience.
Communication
Personal Development & Entrepreneurship
RESOURCES
Current IDEs (Integrated Development Environments)
Standard PC
TEXTS
Lott, S. F. and Phillips, D. (2025), Python Object-Oriented Programming: Learn how and when to apply OOP principles to build scalable and maintainable Python applications, Packt Publishing.
Nelson, C. (2024), Software Engineering for Data Scientists: From Notebooks to Scalable Systems, O’Reilly Media.
Spark, C. (2025), Code Craft: The Art of Clean and Scalable Programming, Independently Published.
Martin, R.C. (2021), Clean Craftsmanship: Disciplines, Standards, and Ethics, Addison-Wesley Professional.
WEB DESCRIPTOR
In this module, you will learn and practice the principles of scalable computing. This will build on previous theory and professional practice taught to further prepare you for the world of employment. There will be an extensive focus on current theory and industry practice in coding and testing in order you use and adapt this to design artefacts for specific user audiences.