Cloud_Platform_Programming-Repeat_Asssessment (1) (1)
Cloud_Platform_Programming-Repeat_Asssessment (1) (1)
Repeat Assessment
Release Date on Moodle: 30th June 2023 at 10:00am
Online Moodle Submission Deadline: 3rd August 2023 at 15:00
______________________________________________________________________
The learning outcomes of the Cloud Platform Programming module are as follows:
LO1. Demonstrate in-depth knowledge of core cloud-based services.
LO2. Critically analyse advantages and disadvantages of different cloud-based
technologies/services.
LO3. Formulate and produce new code libraries that implement advanced programming
constructs in order to create secure, dynamic, configurable, robust, scalable cloud-based
applications.
LO4. Construct and present a complex dynamic cloud-based application through selecting
relevant cloud related architectural patterns and services taking into account the evaluation and
assessment of application design, development, and testing methodologies.
LO5. Identify and ethically apply best practices for continuous integration, delivery and
deployment of cloud-based applications.
This document presents the details of the repeat Project assessment of the Cloud Platform Programming
module. The repeat Project assesses all the module’s learning outcomes, namely LO1, LO2, LO3, LO4,
and LO5.
Note that as this is a repeat assessment, according to the NCI repeat assessment policy, you are required
to complete a NEW project. Also, note that some of the repeat project requirements are different as
compared with the project set during the semester as that project had a different weight in the overall
assessment for the module.
Project Description
For this assignment, you are required to develop and deploy a complex dynamic cloud-based application
using a selection of relevant cloud related architectural patterns and cloud-based services. Your
application must be deployed and hosted on a public Cloud. This is an individual project.
Once you have decided what your application will do, you should go through the following process:
• Define requirements: describe the functional and non-functional requirements of your application.
• Critically analyse and document the architecture of your cloud-based application.
• Implement a complex, dynamic cloud-based application that addresses the requirements defined
above. This application must employ several cloud services, and must use at least one new
library that you create in an object-oriented programming language. The new library should
provide meaningful functionality to your application.
• Ensure that you implement/code your application to take advantage of suitable cloud
architectural patterns.
• Deploy your application to a suitable public cloud platform. The deployed application must not be
modified after the submission deadline. The examiner should be able to view your deployed
application without having to register for any account with the public cloud provider where you
deployed your application (i.e. the application (not its source code!) should be publicly
accessible via an URL).
• You must conduct some independent research and include any relevant bibliography in the
accompanying report.
1 https://www.ieee.org/conferences/publishing/templates.html
The YouTube URL with your project presentation, demonstration and answers to questions
video must be included in your report (e.g. https://youtu.be/mxT233EdY5c) AND must be
publicly accessible.
Please test it well before your submission using a private window of your browser.
• Questions/Items: Identify in your application (i.e., in the source code of your application) examples
of the following project requirements. You should explain how your implementation meets each item
by explaining your coded solution. If you have not addressed a particular item please just say “I
did not implement/address that item” (please do specify the name of the item), if you have a solution
start by saying “This is how I achieved item … etc.”:
1. Specify the cloud services that you are using in your application and identify in your
application source code where do you use those cloud services, and concisely explain the
functionalities they support/provide in your application
▪ Also, show in the Cloud Provider’s (e.g., AWS) Management Console the cloud
services you are using in your project
2. Identify in your application source code where do you use the library/libraries you have
implemented and concisely explain the functionalities they support in your application
3. What is the most interesting/complex functionality that you implemented?
Architectural Design & Critique possible architectures for the cloud application and
10%
Explanation discuss and evaluate the chosen architecture.
Cloud Services & Evaluate, select, and use in your project multiple cloud
15%
Critical Analysis services.
Note
The examiners reserve the right to conduct live mini presentations with a sample of the students,
where students will provide answers to questions related to their project. Also, it should be noted
that an examiner may require to conduct a viva examination with you to further clarify any
concerns with any submission.