,
School of Science
COSC2626/2640 Cloud Computing
Assignment 2
1. Overview
Assignment 2 will contain 35% of total assessment for this course. It should be a project by using cloud platforms and technologies. Some sample reports (rated as excellent or good) from previous year has been provided to get an idea about the difficulty and depth of the project. You are free to choose any programming language, any cloud platform and any services/API you want to use.
You can form a group of two. You also have the option to work alone if you like to do so. Discuss your proposal with your tutor. Finalise your team and your proposal by week 5 so you can start early.
2. Assessment Criteria
This assessment will determine your ability to:
1. Design and develop a highly scalable application by applying the knowledge of distributed architecture and multiple cloud
platforms and services
2. Develop a professional project report
3. Write a user manual to introduce your product
3. Learning Outcomes
This assessment is relevant to the following Learning Outcomes:
Design and develop highly scalable cloud-based applications by creating and configuring virtual machines on the cloud and building private cloud.
Explain and identify the techniques of big data analysis in cloud.
Compare, contrast, and evaluate the key trade-offs between multiple approaches to cloud system design, and Identify
appropriate design choices when solving real-world cloud computing problems.
Write comprehensive case studies analysing and contrasting different cloud computing solutions.
Make recommendations on cloud computing solutions for an enterprise.
4. Assessment details
Criteria/Project requirement
1.You must have a distributed model for your application. You can use and distributed system concept for your application as discussed in Lecture 2. (e.g. separate component for processing and storage/ Multinode cluster/ multiple processing servers/ multiple cloud features / Integration of multiple REST APIs/ IoT/ Edge computing/ Fog Computing/Publish subscriber model/ Peer to Peer system/ Push notifications).
Assessment Type: Individual/group assignment. Submit online via CanvasAssignmentsAssignment 2. Marks awarded for meeting requirements as closely as possible. Clarifications/updates may be made via announcements/relevant discussion forums.
Due date: 11:59pm, 20/Oct/2019 Please check CanvasAssignmentsAssignment 2 for the most up to date information.
As this is a major assignment in which you demonstrate your understanding, a university standard late penalty of 10% per each working day applies for up to 5 working days late, unless special consideration has been granted.
Weighting: 35 marks
Page 1 of 6
,
2.The use of tools/techniques such as Hadoop MapReduce, BigQuery, APIs, SQS, Microservices, Endpoints, AWS Services, Real-time data analysis or complex mathematical formulas will make your project interesting. You may not learn all of the tools but if you learn them by yourself, it will be highly appreciated as well as helpful for your projects.
3.You should take advantage of Cloud storage (e.g. S3, Google Cloud Storage) and Cloud Datastore (e.g. Google datastore, Amazon DynamoDB, MongoDB or any Relational Database Services) in your project.
4.You should have a nice client side visualization (e.g. a webpage/website or a mobile app). If you have any kind of data analysis you should interpret your result nicely using tabular and/or graphical format. For web application you should to deploy your application either in Google cloud/AWS or any other public cloud platform.
5.In group project all students should have equal contributions. You will be asked for peer review. If fewer contributions are identified by one student then he/she will receive less mark than his/her group-mate.
Project Options
Option 1
Development of a cloud application using your own idea and strength.
Option 2
Development of a cloud application using idea suggested by your tutor based on your interest and strength.
Option 3
You may refer to Lecture-8_Cloud_Applications, where several applications were discussed (the projects are from previous years). You may choose one of them as your project or somewhat similar.
5. Referencing guidelines
What: This is an individual assignment and all submitted contents must be your own. If you have used sources of information other than the contents directly under CanvasModules, you must give acknowledge the sources and give references using IEEE referencing style.
Where: Add a code comment near the work to be referenced and include the reference in the IEEE style.
How: To generate a valid IEEE style reference, please use the citethisforme tool if unfamiliar with this style. Add the detailed reference before any relevant code (within code comments).
6. Demonstration, Submission, and Report
You must demo your project to your tutor by making appointment with your tutors in or before Week 12 tutelab or outside the tutelab time. All demonstration will be completed by week 12. There will be penalty if you fail to complete and demonstrate your work by week-12. For group project all team members must present during demo time and explain individual contributions. The demo can be from 10 to 20 minutes for each team. Keep everything ready and make your application live during your demo.
You need to submit a report and all materials related to your project. The deadline of submission of your Assignment-2 in Canvas is 20th October Sunday 11:59 PM. If you submit after that it will be considered as late submission. You will be penalised 10% of your total mark per working day for late submission. You will not get your mark if you do not submit your project materials and report. If you work in a group only one submission of a group member is fine.
During submission you will need to provide the following content in a .zip file.
1.Your report in word document or pdf extension. You can make your own format or follow the sample reports that has been provided in Canvas.
Page 2 of 6
,
The report should contain the following materials
a. Contribution: of individual team members (In case of group project only)
b. Links: Live url of your project (if any), repository url (github/bitbucket/google drive/dropbox) of your source code (if any), public dataset links of your project (if any).
c. Summary: The objective/purpose of your project.
d. Introduction: Introduce your project such as:
i. What are the motivations behind your idea?
ii. What it does?
iii. Why it is required?
iv. How it can be used as real-life application?
v. The advantages/positive/new things of your application.
e. Related work: Refer some related works similar to your application. f. Software Design/Architecture
i. A high level architectural diagram that shows the communication between different cloud components used in your project and purpose of using those components.
ii. Description of your dataset/data structure/APIs/sensors you used for your project (if any) [use figure if required]
g. Implementation Developer Manual: A step-by-step guideline to reproduce your project [use figure if required] and make it live. This is like our tutorial sheet. For known/general description (e.g. creating and MySQL RDS instance in AWS, deploying project in Elastic Beanstalk, deploying project in Google cloud) you can refer to any web link directly. You can also refer to tutorial sheet if you have similar steps in your description (e.g. deploy application in Google cloud).
h. A small user manual: A quick overview of how to use your application.
i. References: Important references/website links that you use to develop your application.
j. Video (optional): A video demonstration of your application (provide a YouTube link in the report).
2. Put all the images you have used in your report in a folder name doc_images.
3. Put all the source code of your project in a folder named code. If source code is greater than 5 MB then provide a google_drive/dropbox/github share link in a text file (name it code.txt). to download your source code.
4. Put runnable/deployable files (if any e.g. .war, .zip, .jar) in a folder named deploy
5. Put all the data/sql tables/sql script (if any) in a folder named data. If data files are too large then provide a link to download your data in a text file (name it data.txt)
6. A readme.txt with name and student number of team members, a short description of your project and the public link to access your project (if any).
7. Academic integrity and plagiarism (standard warning)
Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while developing your own insights, knowledge and ideas. You should take extreme care that you have:
Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have quoted (i.e. directly copied), summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods,
Provided a reference list of the publication details so your reader can locate the source if necessary. This includes material taken from Internet sites.
If you do not acknowledge the sources of your material, you may be accused of plagiarism because you have passed off the work and ideas of another person without appropriate referencing, as if they were your own.
RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism covers a variety of inappropriate behaviours, including:
Failure to properly document a source
Page 3 of 6
,
Copyright material from the internet or databases
Collusion between students
For further information on our policies and procedures, please refer to the University website.
8. Assessment declaration
When you submit work electronically, you agree to the assessment declaration.
Page 4 of 6
Project idea and project formulation. Selection of appropriate technologies
,
9. Rubric/assessment criteria for marking
Criteria
Ratings
2 Pts
Project idea well formulate with selection of appropriate technologies
1 Pts
Project idea partially formulated with selection of most technologies being appropriate
0 Pts
Project idea not well formulated (with major issues) with selection of most technologies being inappropriate
Skill development in learning new tools and technologies for project completion
3 Pts
Demonstration of excellent knowledge in learning new tools and technologies for project completion
2 Pts
Demonstration of good knowledge (with minor issues) in learning new tools and technologies for project completion
1 Pts
Demonstration of poor knowledge (with major issues) in learning new tools and technologies for project completion
0 Pts No marks
Appropriate utilization of cloud tools/technologi es/services in your project
10 to >8 Pts
Appropriate utilization of substantial cloud tools/technologies/services in Criteria 2-4 in your project
Individual: Employing at least 3 types of techniques form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4 Group: Employing at least 4 types of techniques form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4
8 to >6 Pts
Appropriate utilization of some cloud tools/technologies/services in Criteria 2-4 in your project
Individual: Employing at least 2 types of techniques form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4- Group: Employing at least 3 types of techniques form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4
6 to >4 Pts
Appropriate utilization of some cloud tools/technologies/services from two criteria in Criteria 2-4 in your project Individual: Employing at least 1 type of technique form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4 Group: Employing at least 2 types of techniques form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4
4 to >2 Pts
Appropriate utilization of some cloud tools/technologies/services from one criterion in Criteria 2-3 in your project Individual: Employing at least 1 type of technique form Criterion 2, or a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4- Group: Employing at least 1 type of technique form Criterion 2, and a Simple Storage or a Database from Criterion 3, and a cloud hosted website for Criterion 4
2 to >0 Pts
None of cloud tools/technologies/services are utilised in your project
0 Pts No marks
Page 5 of 6
,
Criteria
Ratings
Project architecture and the distribution of your components
5 to >3 Pts
Distributed project architecture fully utilized
Separate processing and storage components + one more type of distributed architecture from Criterion 1
3 to >1 Pts
Distributed project architecture partially utilised
Separate processing and storage components
1 to >0 Pts
Distributed project architecture not utilised
0 Pts No marks
Project implementation and a fully functional application according to the proposal
7 to >5 Pts
All the proposed functions fully implemented
5 to >3 Pts
Most of the proposed functions fully implemented
3 to >1 Pts
Some of the proposed functions fully implemented
1 to >0 Pts
None of the proposed functions fully implemented
0 Pts No marks
Report
8 to >6 Pts
Well-written report with all the required parts and substantial details
6 to >4 Pts
Report with all the required parts and substantial details
4 to >2 Pts
Report with all the required parts and some details
2 to >0 Pts
Report with some of the required parts and some details
0 Pts No marks
Total points: 35
Page 6 of 6
Reviews
There are no reviews yet.