KF7014 - Advanced Programming

What will I learn on this module?

On this module, you will learn how modern software systems are designed and developed using current, industry-standard professional practices. Building on the introduction to microservices-based architecture, you will explore how contemporary applications are structured, beginning with the differences between monolithic and microservices architectures, and why organisations increasingly adopt distributed systems to support scalability, reliability, and flexibility. You will examine the differences between monolithic and microservices approaches, gaining an understanding of when each is appropriate and how architectural decisions influence system behaviour. You will be introduced to the concept of the technology stack, gaining understanding of how backend and frontend components interact within a microservices-based application. This includes API design and implementation, inter-service communication, and data management across services. You will also examine how services remain loosely coupled while still collaborating effectively as part of a wider application.

Throughout the module, you will develop practical skills in professional software development best practices, including project structure, version control, code quality, documentation standards, and collaborative development. You will also be introduced to testing and security strategies for microservices, such as unit and integration testing, application-level authentication and authorisation, and common security considerations. In addition, the module addresses the wider responsibilities of software developers, including legal, social, and ethical requirements relevant to contemporary practice. By applying these topics through individual and team-based activities, you will gain the knowledge and confidence to design and develop components of a microservices-based application using professional best practices, preparing you for modern software development environments.

How will I learn on this module?

A lecture will be used to covey the main concepts. Practical work will be supported in the laboratory sessions in which you will put into practice the material covered in the lecture.

Outside class contact time, you are expected to engage in independent learning by reading additional material from both books and relevant professional development sources. This will help you to deepen your knowledge and understanding of the techniques covered in class.

How will I be supported academically on this module?

You will receive academic support through a combination of scheduled teaching, guided practice, and access to staff outside timetabled sessions. The module team will work closely with you during laboratory workshops, providing practical guidance and individual assistance as you apply concepts to development work. Examples and learning materials are designed to break down complex techniques into manageable steps, helping you build confidence progressively throughout the module.

Regular opportunities for formative feedback will support your learning and allow you to monitor your progress. This includes feedback during practical activities, responses to questions raised in Discussions board, and guidance on how to strengthen your work.

What will I be expected to read on this module?

All modules at Northumbria include a range of reading materials that students are expected to engage with. Online reading lists (provided after enrolment) give you access to your reading material for your modules. The Library works in partnership with your module tutors to ensure you have access to the material that you need.

What will I be expected to achieve?

Knowledge & Understanding:
1. Demonstrate in-depth knowledge and understanding of current best professional practice in the design and development of applications.

Intellectual / Professional skills & abilities:
2. Design, develop and test a system that demonstrates a professional understanding of current software development best practices and explore opportunities for innovation.

3. Work as part of a self-organising team in the implementation and testing of a software system, using appropriate advanced techniques.

4. Demonstrate the effectiveness of the implemented application, in adhering to current software development best practices and critically evaluate your work.

Personal Values Attributes (Global / Cultural awareness, Ethics, Curiosity) (PVA):
5. Demonstrate professional awareness of the importance of legal, social, and ethical requirements in producing a secure system that holds third party information. In particular the need for application level security both in terms of access control and data security.

How will I be assessed?

Your learning will be assessed through one summative assessment comprising two components, supported by ongoing formative feedback throughout the module.

Summative assessment

The first component (60%, individual work) requires you to design, develop, and test the backend components of a microservices-based application using current professional software development practices. Each microservice will operate independently and will later be consumed by a frontend component. This component assesses MLOs 1, 2 and 5.

The second component (40%, group work) involves working as part of a self-organising development team, including peer assessment, to create modular frontend components that consume the microservices developed by individual members. Each student will implement a micro-frontend interacting with their own microservice, integrating and presenting data within a microservices-based secured application. The group will deliver a 20-minute live demonstration providing the opportunity to critically evaluate your work and reflect on the effectiveness of the system in meeting professional standards. This component assesses MLOs 1, 2, 3, 4 and 5.

You will receive written electronic feedback on the summative assessment, with guidance to support future development.

Formative assessment and feedback

Formative feedback is embedded throughout the module. Practical workshops offer regular opportunities to check your progress and receive verbal guidance from tutors. Workshops and in-class discussions enable you to monitor your understanding and prepare for the summative assessment.

Pre-requisite(s)

N/A

Co-requisite(s)

N/A

Module abstract

This module will enhance your Software Engineering development skills by introducing you to modern, industry-standard practices. You will learn how contemporary systems are built using microservices-based architecture, which is widely used in organisations that need scalable, high-performing applications. Rather than focusing on a single programming language, the module guides you in applying professional software engineering principles across different technologies, enabling you to work confidently with a full technology stack, including backend and frontend components. Learning is research-rich, giving you the opportunity to explore current trends, tools, and evidence-based approaches that shape real-world software development. Teaching is supported by technology-enhanced learning, including interactive workshops, development environments, and hands-on practical activities that help you apply concepts directly in your own work. You will work both individually and as part of a development team, reflecting how software is produced in professional settings. The assessment includes creating your own microservices and contributing to a group system, with structured feedback to support continuous improvement. Throughout the module, you will practise essential skills such as project structure, version control, testing, documentation, code quality, and collaborative development. By the end of the module, you will not only strengthen your technical abilities, but also develop important employability skills such as problem-solving, communication, and teamwork. These capabilities are valued across the software industry and prepare you for career routes including software engineer, backend or full-stack developer, or roles involving modern system design and implementation.

Course info

Credits 20

Level of Study Postgraduate

Mode of Study 1 year Full Time

School Computer Science

Location City Campus, Northumbria University

City Newcastle

Start September 2026

Fee Information

Module Information

All information is accurate at the time of sharing. 

Full time Courses are primarily delivered via on-campus face to face learning but could include elements of online learning. Most courses run as planned and as promoted on our website and via our marketing materials, but if there are any substantial changes (as determined by the Competition and Markets Authority) to a course or there is the potential that course may be withdrawn, we will notify all affected applicants as soon as possible with advice and guidance regarding their options. It is also important to be aware that optional modules listed on course pages may be subject to change depending on uptake numbers each year.  

Contact time is subject to increase or decrease in line with possible restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors if this is deemed necessary in future.

 

Useful Links

Find out about our distinctive approach at 
www.northumbria.ac.uk/exp

Admissions Terms and Conditions
northumbria.ac.uk/terms

Fees and Funding
northumbria.ac.uk/fees

Admissions Policy
northumbria.ac.uk/adpolicy

Admissions Complaints Policy
northumbria.ac.uk/complaints