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.
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.
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:
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:
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:
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.
As well as completing the program described above in AppInventor, you are also required to submit a brief report that includes the following:
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.