KF7014 - Advanced Programming

What will I learn on this module?

In this module you will learn about current software best practices and software development architectures. This module will cover a range of topics that will enable you to research and develop best practices for designing and developing applications that are based around microsystem architectures.
The module will cover a range of topics, such as:
1. Application architecture design
2. Understanding ‘Tech Stacks’
3. Monolithic vs Microservice architecture
4. Communication protocols (e.g., API, message broker, services mesh)
5. Development pipelines

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?

The module team will guide and support you in the laboratory sessions. The module team will prepare diverse examples to support you in learning complex programming techniques. These techniques will be coved in depth allowing to you develop your knowledge and skills. The module team will work closely with you in the practical work to provide further detailed guidance on the subjects covered.

You can also request appointments with the module teaching team outside of scheduled class time to ask questions and seek advice.

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 and develop 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 a professional understanding of the importance of legal, social, and ethical requirements in producing a 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?

Summative assessment
The module will be assessed by one assessment with two main components.

For the first component (worth 60% as an individual work) you will develop a microservice that is based on current best practices in software development. The microservice will work independently but will later be utilised and consumed by a front-end application. This will assess MLOs 1, 2 and 5.

For the second component (worth 40% as a teamwork) you will work in a self-organising group to develop a modular front-end application that consumes the microservices of the individual members. Each group member will develop a front-end component that will interact with their personal microservice, interacting with and presenting data to the front-end application. The group will present this work via a 20-minutes, live demonstration with peer reflection/peer assessment, where you will have the opportunity to critically evaluate your work and showcase the application’s effectiveness in adhering to current software development best practices. This will assess MLO 1, 2, 3, 4 and 5.

You will be provided with written, electronic, feedback for your summative assessment.

Formative assessment and feedback:
The practical exercises provide opportunities for formative assessment and self-learning, helping you and your tutors to assess your progress. You will receive guidance and ongoing feedback on your work and progress verbally in the laboratory.

You will also have the opportunity to discuss your progress and the needs of the summative assessment informally in the laboratory.

Pre-requisite(s)

N/A

Co-requisite(s)

N/A

Module abstract

This module will enhance your Software Engineering development skills using current professional best practices. This module has a strong focus on microservices and agile systems. You will learn about software development best practices and explore the concept of a ‘tech stack’, which are common in modern day development. This module will not focus on a specific language or software design pattern but will instead involve implementing current best practices into your developments. There is a strong focus on teamwork, so you will work together to design and develop a modern software system, which will be presented to your peers. Good software design is essential as this will allow teams to separate application concerns into microservices that can be developed individually to ensure a smooth delivery of the wider system. There will be two components to the assessment on this module. For the first component you will work in a group to document your applications design and develop an application based on the current software development best practices. For the second component, you will demonstrate and reflect upon your work.

Course info

Credits 20

Level of Study Postgraduate

Mode of Study 16 months Full Time
3 other options available

Department Computer and Information Sciences

Location City Campus, Northumbria University

City Newcastle

Start January 2025

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