We need to develop a simple app using MIT App Inventor 2 for a pizza order.
ITECH2000 – Week 3 Assessable Task (Semester 20/07) Page 1 ITECH2000 Mobile Development Fundamentals Week 3 Assessable Task 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. Timelines and Expectations Percentage Value of Task: 10% of semester total Due: 11:59pm on Sunday, 5th April, 2020 EXTENDED to 11:59pm on Sunday, 19th April, 2020 For late submissions, a penalty of 10% of available marks will be applied for each day the assignment is overdue. Minimum time expectation: Depending on your experience, this task will take at least half an hour. Some students may require as much as 3 hours to complete it. 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 pizza shop wants you to develop an app to help their customers calculate the cost of orders. There are a range of factors that determine how much an order will cost, as described below. The base price of a pizza is $5. Customers have the choice to upgrade their pizza to a family size, in which case the base price of the pizza increases to $8. In terms of toppings, every pizza (regardless of size) comes with 3 free toppings included in the base price. For every additional topping that is added, it costs an extra $1 per topping. A customer can choose to have their order delivered. If delivery is selected, the delivery cost is calculated based on the distance of delivery according to the following rules: • If the delivery distance is 5km or less, there is a flat $10 delivery fee. • If the delivery distance is greater than 5km, but no more than 10km, customers must pay a $10 delivery fee plus an additional $2.50 for every kilometre greater than 5. ITECH2000 – Week 3 Assessable Task (Semester 20/07) Page 2 • If the delivery distance is greater than 10km, customers must pay a $25 delivery fee plus an additional $4 for every kilometre greater than 10. 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 number of toppings they want on their pizza (e.g. 6), and whether they want to upgrade to the family size pizza. 2. The user must be able to indicate whether they want their pizza delivered, and if so, they must be able to enter the distance in kilometres to their location. 3. The user must be able to view the total cost of the order, but without actually going ahead with submitting the order. The rules given in the Overview of Situation section must be followed to calculate the total cost. The user is not obliged to go-ahead with submitting the order at this point. 4. After seeing the proposed total cost, it must be possible for the user to actually go ahead with submitting the order. When this occurs, the app needs to: a. increase a variable noting the total cost of all orders that have been submitted, since the app started running. b. increase a counter noting how many orders have actually been submitted since the app started running. c. display a message saying how many orders have been submitted and what the total cost of all orders submitted has been, since the app started running. d. Clear/reset the input components so that they are ready for the next order’s details to be entered. Before you start building the app in MIT AppInventor, you should plan your program/algorithm(s) 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. Name this file “A1_YourName_YourStudentID”. 2. Create an app in AppInventor, named “A1_YourName_YourStudentID”, 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). Submission Instructions This task can be submitted under “Week 3 Assessable Task (Early Intervention)” in the Assessments section of Moodle. First complete the “Assessment Declaration agreement: Assessment Task 1” to declare that you have not plagiarised your work. Once this is completed, the “Submit Assessment Task 1” submission point will become available. Upload your zip file here and make sure that you click the “Send for Marking” button. ITECH2000 – Week 3 Assessable Task (Semester 20/07) Page 3 Plagiarism Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism. Feedback and Results You will receive your marks broken down by each criterion, and the total, together with any comments giving suggestions on how you could have done better, within 2 weeks of the due date or the submission date (whichever was later). Before receiving your results, you may be required to attend an interview with your lecturer to discuss certain aspects of your assignment. http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism ITECH2000 – Week 3 Assessable Task (Semester 20/07) Page 4 Marking Criteria You will be assessed on the following things for the amount of marks as indicated. There is a total of 12 marks available. Requirement Marks Awarded 1. Ability to assess problem specification and represent a solution in pseudocode 2 2. Ability to choose appropriate components to use for input and output of information (including using components in the manner for which they are designed) 0.5 3. Ability to set appropriate initial properties for components of a screen 0.5 4. Ability to choose suitable events for which to write code sequences 0.5 5. Ability to retrieve textual input and other input from the user 1 6. Ability to programmatically change the value of properties of components, including to produce output messages. 1 7. Ability to construct relational expressions and Boolean expressions to compare values 1 8. Ability to make use of conditional code structures to control whether a sequence of code is to be executed or skipped-over 1 9. Ability to make appropriate use of variables, including choosing whether to make a variable be global or local 0.5 10. Correctness of algorithmic logic for dealing with the base cost of pizza 0.5 11. Correctness of algorithmic logic for dealing with the number of toppings on the pizza 1 12. Correctness of algorithmic logic to deal with calculating the delivery cost 2 13. Correctness of algorithmic logic to deal with updates of counters and totals 0.5 Total: 12 Feedback: