Simple apps for mobile and web
Behind every app you use there was first an idea, then an algorithm on paper, then the program, and finally lots of testing before it was published. Creating a simple app, such as a converter, a counter or a quiz, brings together everything you already know about algorithms and blocks.
From the idea to the published app
List the stages involved in creating an application, from the idea until it is used by others, and explain what each stage consists of. Reason why it is not advisable to…
List the stages involved in creating an application, from the idea until it is used by others, and explain what each stage consists of. Reason why it is not advisable to skip the testing phase even if the program seems to work.
Before programming, it is useful to draw the prototype on paper. Describe (or draw in your exercise book) the three screens of a 'water glass counter' app: the main…
Before programming, it is useful to draw the prototype on paper. Describe (or draw in your exercise book) the three screens of a 'water glass counter' app: the main screen with the counter, the button to add a glass, and a history screen, indicating what each button does.
You can do it on paper and send a photo with your answer.
Input, process and output in an app
An app calculates the recommended tip at a restaurant based on the bill amount. Identify what data the user inputs (input), what the application does with it (process),…
An app calculates the recommended tip at a restaurant based on the bill amount. Identify what data the user inputs (input), what the application does with it (process), and what it displays at the end (output), following the scheme input → process → output.
The figure shows the screen design of an app that converts distances from kilometres to miles, knowing that $1\ \text{milla}$ is equivalent to $1,6\ \text{km}$. Write…
The figure shows the screen design of an app that converts distances from kilometres to miles, knowing that $1\ \text{milla}$ is equivalent to $1,6\ \text{km}$.
Write the steps that the app must follow when the user presses the button to display the result, and state what should happen if the user presses "Convert" without entering any number.
A very simple app receives a text and returns it written in capital letters. Analyse its input → process → output scheme and suggest two real uses such an app could have…
A very simple app receives a text and returns it written in capital letters. Analyse its input → process → output scheme and suggest two real uses such an app could have within a larger one.
Describe the algorithm for a quiz app with five questions: how the score is saved, what happens when the user gets a question right or wrong, how to move on to the next…
Describe the algorithm for a quiz app with five questions: how the score is saved, what happens when the user gets a question right or wrong, how to move on to the next question, and what is displayed at the end. Use numbered steps with decisions and a loop.
An app that calculates the mean of grades gives absurd results when a box is left empty or when someone enters a grade of 42. Explain what invalid input data is, propose…
An app that calculates the mean of grades gives absurd results when a box is left empty or when someone enters a grade of 42. Explain what invalid input data is, propose two checks the app should make before calculating, and describe the tests you would carry out to check that it no longer fails.
Screens, elements and prototypes
App screens are built using basic elements: buttons, text labels, input fields, and images. Explain the purpose of each of these four elements and give an example of…
App screens are built using basic elements: buttons, text labels, input fields, and images. Explain the purpose of each of these four elements and give an example of each in an app you use often.
Before installing an app from the store, it is advisable to check several details. Explain what ratings, the number of downloads, the requested permissions, and the…
Before installing an app from the store, it is advisable to check several details. Explain what ratings, the number of downloads, the requested permissions, and the developer's name tell you, and what combination of these details would make you suspicious.
Apps are updated periodically. Explain two reasons why it is advisable to keep them updated and one risk of failing to do so, and reason why an update sometimes changes…
Apps are updated periodically. Explain two reasons why it is advisable to keep them updated and one risk of failing to do so, and reason why an update sometimes changes features you liked.
Notifications alert users to updates, but too many notifications make the user uninstall the app. Design the notification policy for the classroom reading app: which…
Notifications alert users to updates, but too many notifications make the user uninstall the app. Design the notification policy for the classroom reading app: which three notifications you would send, which notifications you would not, and what configuration options you would allow the user.
Evaluate the accessibility of this app screen: small buttons very close together, light grey text on a white background, and all information in colour only (without…
Evaluate the accessibility of this app screen: small buttons very close together, light grey text on a white background, and all information in colour only (without text). Suggest three specific improvements and explain which users each one benefits.
Onboarding consists of the screens that guide users through the app the first time it is opened. Design a three-screen onboarding process for the school canteen app:…
Onboarding consists of the screens that guide users through the app the first time it is opened. Design a three-screen onboarding process for the school canteen app: what each screen shows, what the user learns on each one, and why there should be a 'skip' button.
Connection, storage and permissions
Some apps work without an internet connection and others cannot do anything without it. Explain the difference between both types and classify these apps, giving reasons…
Some apps work without an internet connection and others cannot do anything without it. Explain the difference between both types and classify these apps, giving reasons for your answer: a calculator, maps with live traffic, an already downloaded quiz, and a messaging app.
A game remembers your level, your coins, and your high score even if you close the app. Explain what local storage of an app is, what data that game saves, and explain…
A game remembers your level, your coins, and your high score even if you close the app. Explain what local storage of an app is, what data that game saves, and explain what will happen to them if you uninstall the app or change phones without a backup.
A weather app works partly offline: it displays the last downloaded forecast, but does not update it. Explain which parts of an app can continue to work without internet…
A weather app works partly offline: it displays the last downloaded forecast, but does not update it. Explain which parts of an app can continue to work without internet and design the 'offline' message the user would see: what it should say and what options it should offer.
A torch app requests permission to access contacts, location, and the microphone. Analyse whether these permissions are necessary for its function, what risks granting…
A torch app requests permission to access contacts, location, and the microphone. Analyse whether these permissions are necessary for its function, what risks granting them without thinking entails, and draft a three-question criterion to decide which permissions to accept in any app.
On an 8-hour hiking trip, the app you programmed to track the route completely drains the phones' battery in just 2,5 hours. Upon reviewing the code and configuration,…
On an 8-hour hiking trip, the app you programmed to track the route completely drains the phones' battery in just 2,5 hours. Upon reviewing the code and configuration, you identify three factors:
1) The GPS sensor queries coordinates every 0,5 seconds.
2) The screen remains on at 100% brightness displaying the map.
3) The app downloads maps via 4G in real time instead of storing them in memory.
Technically justify the impact of each factor on energy consumption and propose a specific modification for each one to allow completing the 8-hour route without running out of battery.
Applying the idea of 'privacy by design', define what minimum data a classroom task app would actually require to work, what data it would NOT request even if it 'could…
Applying the idea of 'privacy by design', define what minimum data a classroom task app would actually require to work, what data it would NOT request even if it 'could be useful', and how you would explain those decisions to users on the app store listing page.
Publishing, trusting and making money with an app
Some apps are first downloaded as a 'beta version' for a small group of users. Explain what that label means, what advantages testing this way before the official launch…
Some apps are first downloaded as a 'beta version' for a small group of users. Explain what that label means, what advantages testing this way before the official launch has, and what two things you should expect from a beta (and not get angry when they happen).
Design a complete app called 'Reading Challenges' for the class to log the books they read: screens it would have, input and output data for each one, main algorithm,…
Design a complete app called 'Reading Challenges' for the class to log the books they read: screens it would have, input and output data for each one, main algorithm, and three specific tests you would perform before publishing it.
The school management team wants to commission a native app on Google Play and the App Store to check the library catalog, but the school has a budget of 0 € and…
The school management team wants to commission a native app on Google Play and the App Store to check the library catalog, but the school has a budget of 0 € and students use very diverse devices (Android phones, iPhones, and Linux computers). Refute the management's proposal by analyzing store publication costs and cross-platform compatibility issues. Next, justify why a web application (web app) is the most technically appropriate option and explain what solution you would apply if the school experiences frequent Wi-Fi outages.
Your team has programmed an app to organize recess sports tournaments. A classmate proposes funding it by inserting ads from a commercial network and charging 0,99 €…
Your team has programmed an app to organize recess sports tournaments. A classmate proposes funding it by inserting ads from a commercial network and charging 0,99 € through in-app purchases to unlock advanced statistics. Justify two legal or ethical issues with this model when applied in a school setting with minors. Then, design an alternative model to sustain and maintain the app without resorting to invasive advertising or payments that discriminate against some of the students.
You are going to download an app to calculate grades and you find "SuperNotas". In the app store, you notice the following data: Average rating: 4,9 ★ with 2.500…
You are going to download an app to calculate grades and you find "SuperNotas". In the app store, you notice the following data:
-
Average rating: 4,9 ★ with 2.500 reviews.
-
Dates and text: 90% of the 5 ★ ratings were published over just three consecutive days, with identical text ("Excellent app") and profiles without pictures.
-
Required permissions: Access to contact list, precise location, and microphone.
Interpret this data: explain what fraudulent practice is taking place and what goal it pursues. Next, predict what risks someone assumes by installing it guided only by the average rating, and write two mandatory checks that must always be performed before installing an unfamiliar app.