Skip to content
Menu
Timeless College
  • Alex Cavazzoni
  • Art Classes Near Me
  • AWS Training in Virginia
  • Bad Influence On Children
  • BROWZ safety compliance
  • Clarence McClendon
  • Digital Marketing Consultancy Kelowna
  • Freedom of speech on social media
  • Https://timelesscollege.xyz/
  • Https://timelesscollege.xyz/ – Timelesscollege.xyz
  • Https://www.timelesscollege.xyz/
  • Https://www.timelesscollege.xyz/ – Timelesscollege.xyz
  • In Home Tutoring
  • Integrated Atpl
  • Jewish Intimacy
  • Learn to play guitar online
  • Online Baseball Hitting Trainer
  • Prince George School
  • Quickbooks Classes
  • Sample Page
  • Schreibwettbewerb
  • STOCKS CRYPTO FOREX Trading
  • Timeless College
  • Timeless College – Timelesscollege.xyz
  • Timelesscollege.xyz/
  • Timelesscollege.xyz/ – Timelesscollege.xyz
  • Training as a Pilot
  • Website Creation Atlanta
Timeless College
Mobile Development Fundamentals | My Assignment Tutor

Mobile Development Fundamentals | My Assignment Tutor

October 29, 2021 by B3ln4iNmum

Page 1 of 6ITECH2000 Mobile Development FundamentalsAssessment Task 3 – Trivial Pursuit AppOverviewYou will implement in AppInventor a multi-screen app, based on a given project specification. This appwill use a range of components taught up to and including Week 11 of the course. You will also submita brief report containing pseudocode and a description of how your solution utilises various conceptslearned in class.Timelines and ExpectationsPercentage value of task: 30% (of final course mark)Due date: 11:59pm, Sunday 24th October 2021 (Week 11) – after this date, you will receive a penaltyCut-off date: 11:59pm, Sunday 31st October 2021 – after this date work will not be acceptedMinimum time expectation: 20 hoursLearning Outcomes AssessedThe following course learning outcomes are assessed 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.S2. Design code sequences to realise algorithms in a programming language.S3. Design basic user interfaces and develop storyboards to convey designed interaction sequences.S5. Develop test cases to ensure correct behaviour.Assessment DetailsThis assignment contains two parts: an app and a brief report.1. App DetailsYour assignment is to develop an Android application, using MIT AppInventor, which is a generalknowledge trivia app. The app should utilise programming concepts covered in class from Weeks 2 –10, including persistence of data using files and databases, the dictionary data structure, web andnetworking functionality, and sorting algorithms.The application should contain several screens to fulfill the requirements described below. You arefree to design the interfaces of your app as you like, but your solution should also meet therequirements in a logical way.Specifically, the logic requirements that must be supported in the app are as follows:• When the application is first opened, there should be a screen that provides users with a wayto select the game difficulty (“easy”, “medium”, or “hard”) and start a new game and view highscores.CRICOS Provider No. 00103D | RTO Code 4909CRICOS Provider No. 00103D | RTO Code 4909 Page 2 of 6• There should be a separate screen in which the trivia questions are displayed, opened fromthe first screen. When this trivia screen opens, it should load questions of the selecteddifficulty, following the following logic:o If the device is currently connected to the network, questions should be loaded fromthe Open Trivia Database API, as described in the API section of this document.o If the device is not connected to the network, questions should be loaded from theprovided text files, which contain static question data retrieved from the Open TriviaDatabase API.• A single question should be displayed at a time, including its category, question text, and fourpossible answers (including the correct answer and three incorrect answers in a randomorder). The user should be able to select one of these answers, at which point the followingshould occur:o If the selected answer is the correct answer, the user’s score is incremented by 1point (the current score should also be visible on the trivia screen). The user shouldthen be prompted as to whether they wish to continue the game or end it. If theychoose to continue, a new question is displayed and the process repeats.o If the selected answer is incorrect, the user should be made aware that they selectedthe wrong answer, and the correct answer should be shown. The app should thennavigate to another screen where the user can save their score to a database,passing the achieved score with it.• The save score screen should have a mechanism for the user to enter their name, whichalong with their score and a current date and timestamp, should be saved to a database.Once the value is saved, the app should navigate back to the main screen.• There should be a separate screen on which users can view the high scores by loading themfrom the database and displaying in an appropriate UI component. The following additionalfunctionality should exist on this screen:o There should be a way for the user to sort the scores, based on your implementationof a sorting algorithm. The scores can be sorted by the score value, alphabetical orderof the user’s name, or the date timestamp – you only need to support one of these.o The user should also be able to delete a score, which will remove it from the displayand the database entirely.Downloading trivia questions from the Open Trivia Database using the APIThe Open Trivia Database API should be used to download the trivia questions used in this app (whena network connection is available). You can get a random list of questions of a particular difficulty inJSON format using the following URL – all you need to do is replace with a positive integer, and with the preferred difficulty (“easy”, “medium”, or “hard”) as required:https://opentdb.com/api.php?amount=&difficulty=&type=multiple&encode=url3986For example, https://opentdb.com/api.php?amount=20&difficulty=hard&type=multiple&encode=url3986will give 20 random questions of hard difficulty. Note that the type parameter is set to “multiple”, so thatmultiple-choice questions are returned. The encode parameter specifies how special characters arerendered in text, in this case it is set to URL Encoding (RFC 3986).CRICOS Provider No. 00103D | RTO Code 4909 Page 3 of 6In order to correctly display any of the text in your app, you’ll need to use the [.UriDecode] block (asshown below), which can be accessed from any Web type block you add to your app. For example,the RFC 3986 text that is displayed in the example image below would be decoded to “What country isnot a part of Scandinavia?”It is recommended that you visit the Open Trivia DB API link in a browser and view the JSON in a webbrowser to get a feel for its structure. You will see that the JSON data contains an array (results) ofquestions, with each question containing a range of information that describes the question, itscategory, correct_answer, and incorrect_answers. Your app should extract this data and load into anappropriate data structure to achieve the required functionality for this assignment.General Requirements for CodingWhile your app should meet the functionality described above, you need to ensure that youdemonstrate the concepts we have covered in ITECH2000 so far. To achieve full marks, you will needto ensure that you have correctly made use of each of the following components, constructs orconcepts somewhere in your app:• Dictionary• WebViewer and/or Web component• ListView or ListPicker• TinyDB and File• Local and global variables• ProceduresYou should follow best practices for coding that we have described this semester, including the use ofprocedures to promote code reuse. Make sure you thoroughly test your application to ensure that it isrobust.Please read through all of the requirements before you commence work on the app, so you geta full sense of what is required to be done. It is recommended that you first model any eventsusing pseudocode before commencing programming.2. Brief ReportAs well as completing the program described above in AppInventor, you are also required to submit abrief report that includes the following:• A title page that includes your name and student ID number.• Pseudocode describing the behaviour of two (2) events that your app will respond to. Ensurethat you clearly label your pseudocode so that it is clear what aspect you are modelling.• For each of the design components/blocks listed in the previous section (GeneralRequirements for Coding), you should describe in 2-3 sentences how you used thecomponent(s) in your solution and justify why. If you have used a component multiple times,please describe one example. Note: There are 6 in total.• A description of how you tested your application to ensure that it functioned correctly, withrespect to user inputs, outputs, and networking.CRICOS Provider No. 00103D | RTO Code 4909 Page 4 of 6Getting Assistance and ClarificationIf any part of the task is unclear to you, or you are not quite sure how to do some aspect of the task,you should either contact your lecturer directly (via email, or in person while you are in class), or elsepost a question to the Discussion Forum on Moodle. However, any questions posted to the forum onMoodle should not include anything that you plan to submit (such as screenshots of code you mightwant to submit).PlagiarismPlagiarism is the presentation of the expressed thought or work of another person as though it is one’sown without properly acknowledging that person. You must not allow other students to copy your workand must take care to safeguard against this happening. More information about the plagiarism policyand procedure for the university can be found at https://federation.edu.au/current-students/learningand-study/online-help-with/plagiarismSubmissionYou must export your AppInventor project for submission. To do this, go to the “Projects” menu, andselect “Export selected project (.aia) to my computer”. Rename the .aia file to include both your nameand student ID number. App files submitted in any other format than .aia (e.g. apk) will not beaccepted and you will receive zero marks.You should also save your brief report as a PDF including both your name and student ID in the filename.Upload these files to Moodle through the assignment link labelled “Submit Assignment 3”. This link willonly become available after you have completed the “Declaration of Originality” form for theassignment, which requires you to accept the Student’s Statement. It is a legal declaration that thework was done by you, without any part of it being done by someone else.FeedbackYou can expect to receive your final mark and feedback comments within 3 weeks of the due date orthe date which you submitted your work – whichever is later. You may be required to attend aninterview with the marker to answer questions about your work; if this is the case, your mark will bewithheld until you have attended.Continue to the next page for the Marking Criteria/RubricCRICOS Provider No. 00103D | RTO Code 4909 Page 5 of 6Marking Criteria/RubricStudent Name: ______________________ Student ID: ______________________ App LogicMarksAwardedDifficulty and Menu ScreenScreen exists and has appropriate input/output elements for requirementsFunctionality provided for the user to select difficulty and open trivia screenFunctionality to navigate to high scores screen implemented correctly1 2 1Trivia Game ScreenScreen exists and has appropriate input/output elements for requirementsQuestions of selected difficulty loaded from web API if network connectivity availableQuestions of selected difficulty loaded from appropriate File if no network availableQuestion category, text, and correct/incorrect answers displayed on screen correctlySelecting a correct answer behaves correctly (loading next question or exiting to menu)Selecting an incorrect answer behaves correctly, including sending score to next screenUser score is displayed on screen and correctly implemented1 4 4 2 2 2 1Save Score ScreenScreen exists and has appropriate input/output elements for requirementsDate timestamp is generated using appropriate methodsUser’s name, score and date timestamp correctly saved to a TinyDB with appropriate tagApp navigates back to menu screen upon saving data1 2 2 1View Scores ScreenScreen exists and has appropriate input/output elements for requirementsScores are loaded from database and displayed on screen (with name and timestamp)Sorting functionality works using an appropriate sorting algorithmScore can be deleted from the database using appropriate methodsMethod to navigate back to the menu screen is implemented1 2 4 2 1General Programming Requirements[For each of the following criteria – full marks if included and no issues; half marks if included bysome issues; no marks if not demonstrated in solution]Has used TextBoxes, CheckBoxes, Labels, and Buttons appropriately (including usingtheir action blocks and event blocks)Has used the screen-changing mechanisms correctly and appropriatelyHas used repetition construct(s) to repeat code sequences appropriately and inappropriate placesHas used decision constructs appropriately / in appropriate places1 1 1 1 CRICOS Provider No. 00103D | RTO Code 4909 Page 6 of 6 Has formed appropriate boolean and relational expressionsHas used the list construct for appropriate purposes and used its action blocks in anappropriate manner to manipulate/use listsHas used the dictionary construct for appropriate purposes and used its action blocks inan appropriate manner to manipulate/use dictionariesHas formed procedures appropriately and in appropriate circumstancesHas used the TinyDB component appropriatelyHas used the File component appropriatelyHas used the Web and/or WebViewer components appropriately1 1 1 1 2 2 2The names used for variables, components, procedures and their argument slots areappropriate and clearly communicate their purpose in the code1The app is designed to be robust and does not crash unexpectedly2Brief ReportTwo (2) events are adequately modelled using pseudocodeExamples and explanations are provided for each of the 6 components/concepts listed inthe General Requirements for Coding section (0.5 marks each)Description of testing plan conducted to ensure robustness of app2 3 2Total:60 marksTotal Course Marks:30%Feedback:

  • Assignment status: Already Solved By Our Experts
  • (USA, AUS, UK & CA PhD. Writers)
  • CLICK HERE TO GET A PROFESSIONAL WRITER TO WORK ON THIS PAPER AND OTHER SIMILAR PAPERS, GET A NON PLAGIARIZED PAPER FROM OUR EXPERTS
QUALITY: 100% ORIGINAL PAPER – NO PLAGIARISM – CUSTOM PAPER

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • ACCT5023 Financial Accounting: Opportunities and Selfimprovements
  • ACCT5023 Financial Accounting: Accounting Standard Issues
  • MMPH6006 Evidence Based Practice:Acquired Pressure Ulcers PUs
  • Nursing Midwifery And Health Management
  • Which communication method(s) would be most effective for each of the following scenarios?

Recent Comments

  • A WordPress Commenter on Hello world!

Archives

  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021

Categories

  • Uncategorized

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
©2022 Timeless College | Powered by WordPress and Superb Themes!