Reference no: EM132350696
Mobile Development Fundamentals
Overview
You are required to write pseudocode and create an app that utilises concepts taught up to (and including) week 3 to meet a provided problem specification.
Learning Outcomes Assessed:
The following course learning outcomes are assessed to some degree by completing this assessment:
K1. Understand constructs typical of many programming languages such as: variables, expressions, assignment, sequence, selection, iteration, procedures, parameters, return values.
A1. Design, develop, test and debug mobile apps from a given textual program specification.
S1. Analyse the input, processing and output needs of small programming problems.
Assessment Details
Overview of Situation
A local grocery store is introducing a loyalty program that will reward points to customers who shop in the store. To help customers forecast the number of points they will receive for each shop, the grocery store wants you to create a "Rewards Point Calculator" mobile app. There are a range of factors that determine how many points a customer may receive each week.
The first factor that matters is the total cost of the groceries. If the customer has purchased less than $100 worth of groceries, they are awarded 1 reward point per dollar spent. If the customer has purchased at least $100 worth of groceries, they are awarded 2 points per dollar spent. If the customer has purchased $500 or more worth of groceries, they are awarded an additional 200 bonus points.
The second factor that affects the total points is the length of time that the customer has been in the loyalty program. If the customer has been a member for less than 12 months, they will receive no bonus points. If the customer has been a member for longer than 12 months, they will receive 10 bonus points for every additional month they have been a member.
Staff may also participate in the promotion, but the total number of points they receive is reduced by 30%.
Required Behaviour of the App
The app you design needs to address all of the following:
1. The user must be able to enter the total cost of the groceries, and the number of months they have been a loyalty member.
2. The user must be able to indicate whether they are a staff member (and thus receive the reduced number of points).
3. The user must be able to request a forecast of what the points awarded will be, but without actually going ahead with submitting the points. The rules given above must be followed to calculate the points. The user is not obliged to go-ahead with submitting the number of points.
4. After seeing the proposed points to be awarded, it must be possible for the user to actually go ahead with submitting the points. When this occurs, the app needs to:
a. increase a variable noting the total points of all shops that have been submitted, since the app started running.
b. increase a counter noting how many shops have been actually submitted since the app started running.
c. display a message saying how many shops have been submitted and what the total number of points calculated has been, since the app started running.
d. Clear/Reset the input components so that they are ready for the next shop's details to be entered.
Before you start building the app in MIT AppInventor, you should plan your program using pseudocode. This pseudocode will also form part of your submission for this assessment task.
Tasks
Based on the provided scenario and required app behaviour, the following tasks must be completed for submission:
1. Write an algorithm for the behaviour of each event that your app will respond to. Put this work into a Microsoft Word document.
2. Create an app in AppInventor, named "Week3_YourName", which implements in code the algorithms that you wrote for each event. Ensure you choose appropriate user interface components, component names, and variable names. Make sure that you test your app thoroughly using the emulator or MIT companion app.
3. Create a zip file containing both your algorithm (Word or PDF format) and completed app (.aia file exported from AppInventor), and submit this to Moodle. The name of the zip file should include both your name and student ID (i.e. StudentName12345678.zip).
Attachment:- Mobile Development Fundamentals.rar