ITECH2000 Mobile Development Fundamentals

Get Expert's Help on Memory Game


You will implement an app in AppInventor based on a given project specification. This app will use a range of components. You will also submit a brief report containing pseudocode and describing how your solution utilises various concepts we have learned in class.

Learning Outcomes Assessed

This assignment has been designed to enable you to demonstrate your learning in regard to the following outcomes of the course:

K1.     Describe 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.

In particular, the assignment has been designed to help give you further experience in using AppInventor, and to assess your attainment of a range of the learning objectives from weeks 1 through to 6 of this course.

Getting Assistance and Clarification

If 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 post a question to the Discussion Forum on Moodle. However, any questions posted to the forum on Moodle should not include anything that you plan to submit (such as screenshots of code you might want to submit) to avoid potential 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. Lecturers are obligated to report any suspicions to the plagiarism officer. More information about the plagiarism policy and procedure for the university can be found online at:

1.  Application Description

Your assignment is to develop a memory (picture matching) game, using MIT AppInventor. In this game, the app will select some random images and place these in a random layout “face-down”. The player must select two at a time to be revealed, and if they are matches, then the score is increased. If the selected two images are different, they are hidden again. The player is aiming to find the pairs before they run out of guesses.

An example of how a game of 6 image-pairs may be arranged in a 3x4 grid is the following:

You are provided with a set of images that should be used to randomly select 6 images, and then randomly place each selected images twice into the game grid so that each game will be different for the player.

The application may contain one or more screens to fulfill the requirements described below. You are free to design the interface(s) of your app as you like, but your solution should also fulfil the requirements in a logical way.

Specifically, the logic requirements that must be supported in the app are as follows:

  • When the application is first opened, a menu should be displayed that provides the user with two options: “Play” and “Time Trial”. These two options, when clicked, will start the game as follows:
    • Guess Limit: The player has a limit of 10 wrong guesses to match all
    • Time Trial: The player must reveal all pairs within 30 seconds, else it is game
  • There should be a separate screen in which the game is played, opened from the
  • When the game is started, a random layout of a random 6 images should be selected (from a candidate list of images). The game grid should initially show each position to the user as ‘hidden’ (an image of a question mark). After a pair is correctly guessed, the grid cell should become the tick-mark image (see supplied image files on Moodle).
  • Also on the game screen, it should say how many guesses remain, and how many correct pairs have been
  • The user should have some way of making choices of the images for their pairing
  • After choosing the first currently-hidden image, the image should be displayed and remain displayed until the outcome is
  • After choosing the second currently-hidden image, its image should be displayed for at least 1 second so the user has time to see what the image
    • If the second image matches the first image, then after the 1 second has completed, both images should be replaced by the tick-mark image, and the score increased. The user should not be able to select either image again for the remainder of the game (trying to select the images which are already matched, should do nothing).
    • If the second image does not match the first image, then after the 1 second of showing them has completed, both images should become hidden again, and the “wrong guesses” should be increased by
  • If there are no more image pairs hidden after a guess, because all image pairs have been found, the user wins the game. A message should be displayed to alert the user that they have won the
  • If the user makes too many incorrect guesses (they have not found all pairs before either the guess-limit or the time-limit is reached), then they will lose the game and are allowed no further guesses. A message should be displayed to alert the user that they have lost the game, and all of the images should be revealed so the user can see all the
  • When the game is over (whether the user won or lost), the user should have the option to start a new game (in which case a new random arrangement is created and the game starts again) or return to the main
  • In time trial mode, the game mechanics of revealing and re-hiding of images are the same, except that there is a 30 second timer that starts counting down when the game begins. If the user gets the correct answer before the time is up, they win the game. Once the timer reaches zero or the user makes too many incorrect guesses before the time is up, the game stops and a “Game Over” notification is displayed before the app shows all the images and prompts the user if they would like to play again or return to the main

General Requirements for Coding

While your app should meet the functionality described above, you also need to ensure that you satisfactorily demonstrate all the concepts that have been covered in ITECH2000 so far. To achieve full marks, you will need to ensure that you have correctly made use of each of the following components or constructs somewhere in your app:

  • a Notifier
  • Various user interface components, for example: Labels, Images, Buttons, Textboxes and/or Checkboxes, as well as HorizontalArrangement, VerticalArrangement or TableArrangement (or all of them).
  • a Clock and instants
  • the list construct
  • a repetition construct
  • a decision construct
  • a boolean (AND or OR)
  • Procedures that you have defined using the ‘to do’ or ‘to do … result’

Please read through all of the requirements before you commence work on the app, so you get a full sense of what is required to be done. It is recommended that you first model any events or complex algorithms using pseudocode before commencing programming.

2.  Brief Report Requirements

As well as completing the program described above in AppInventor, you are also required to submit a brief report that includes the following:

  • A title page that includes your name and student ID
  • Pseudocode describing the behaviour of three (3) events that your app will respond to. Ensure that you clearly label these events so that it is clear what aspect you are
  • For each of the 8 bullet items mentioning elements/blocks, listed in the previous section (General Requirements for Coding), you should describe in 2-3 sentences how you used that/those component(s) in your solution and justify why. If you have used a component multiple times, please describe one

Submission and Feedback


You must export your AppInventor project for submission. To do this, go to the “Projects” menu, and select “Export selected project (.aia) to my computer”. Name your .aia file “A1_YourName_YourStudentID.aia.

You should also save your brief report as a PDF, named “A1_YourName_YourStudentID.pdf”.

Add both your .aia and .pdf files to a single .zip file, and then upload this file to Moodle through the assignment link labelled “Submit Assignment 2”. This link will only become available after you have completed the ‘Declaration of Originality’ form for the assignment, which requires you to accept the Student’s Statement. It is a legal declaration that the work was done by you, without any part of it being done by someone else.


You can expect to receive your final mark and feedback comments within 3 weeks of the due date, or the date which you submitted your work, whichever is later.

You may be required to attend an interview with the marker to answer questions about your work before they will mark your submission.

Expert's Answer


Hire Expert 

Get a Professional Help

Select FileChangeRemove


Limited Time Offer! - 20% OFF on all Services Get Expert Assistance Today!