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. The reading list for this module can be found at: http://readinglists.northumbria.ac.uk
(Reading List service online guide for academic staff this containing contact details for the Reading List team – http://library.northumbria.ac.uk/readinglists)

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 2024

Fee Information

Module Information

All information is accurate at the time of sharing.

Full time Courses starting in 2023 are primarily delivered via on-campus face to face learning but may include elements of online learning. We continue to monitor government and local authority guidance in relation to Covid-19 and we are ready and able to flex accordingly to ensure the health and safety of our students and staff.

Contact time is subject to increase or decrease in line with additional restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors, potentially to a full online offer, should further restrictions be deemed necessary in future. Our online activity will be delivered through Blackboard Ultra, enabling collaboration, connection and engagement with materials and people.

 

Current, Relevant and Inspiring

We continuously review and improve course content in consultation with our students and employers. To make sure we can inform you of any changes to your course register for updates on the course page.


Your Learning Experience

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