Back to your course / CR1-S04
Computing and Robotics · 1.º ESO · Learn
Apps that help
A useful application helps complete a task and makes its responses understandable. In nine paired sessions you will design and program with MIT App Inventor, using school-managed access and fictional data. Learn to connect interface, event, value and result before adding features.
Your mission
Create ‘My classroom helper’, a block-based app with two screens or views, buttons, a variable and a condition. The introductory route uses Home and Help within Screen1. Include a list or reminder, a clearly simulated reading and usage guidance. Submit the .aia project, counting and navigation tests, correction and an improvement observed with another pair.

Read the explanation, study the diagram and try the activity in each section. You can choose another version at any time.
Your tools
Use Google Docs for written explanations and diagrams.net for diagrams. Save the editable file as well as the evidence requested in each task.
4.1. Design for a person and a task
Learn · theory and practice
An application combines an interface and rules for completing a task. The interface includes what a person sees and uses: controls, text and messages. Before choosing buttons, describe a need. Preparing materials without forgetting one is a task; having many screens is a design choice that does not yet explain usefulness. Represent use through three moments: opening and understanding, acting, and reviewing the result. This route helps choose components and remove elements without a function.
A requirement specifies behavior we can check. ‘Show how many materials are missing’ supports test cases; ‘look nice’ does not establish an expected response. Messages should explain both what to do and what just happened. Color can reinforce text but should not be the only signal. Readable lettering, specific labels and clear navigation help different people from the first sketch. Investigating a need does not require names or personal habits: discussing a fictional classroom task supplies enough context for this project.
- Person and task
- Need
- Usage route
- Testable requirement
A fictional lending app has a ‘Yes’ button without a visible question. Another pair cannot tell whether it confirms a return or requests help. More colors do not solve the problem. A label naming the action and a subsequent message explain start and result. The team checks this by asking someone to complete the same task without pointing to controls.
- In Google Docs describe a difficulty in a classroom task and consult another pair without recording personal data.
- In diagrams.net draw the first state, action and result; write two testable requirements.
- Review labels and messages so they communicate through text rather than color alone.
How does ‘add a button’ differ from defining a task the user can complete?
4.2. Components, properties and events
Learn · theory and practice
In App Inventor‘s Designer we place components and set properties such as text, size and arrangement. In Blocks we program responses. A property describes an aspect or state of a component; an event identifies something that can launch instructions. A button’s Click event occurs when it is tapped. A label displays information, and a CheckBox maintains a checked or unchecked state. Components have different functions even when occupying similar screen areas. Changing a label’s initial text does not itself program a response to a button.
Internal names such as BotonAyuda or EtiquetaResultado identify pieces when reading blocks. Visible wording is for the user and need not match those names. This distinction avoids exposing unnecessary technical instructions. Responding to an event can change another component‘s property, linking action and result. Building a small screen and testing one event lets us investigate each part before adding counting and navigation. The emulator or school device shows execution; the Designer represents preparation of the interface.
- User action
- Click event
- Blocks
- Updated property
- Visible message
A label initially displays ‘Pending’. The Designer keeps that text even when a nearby button says ‘Review’. Changing it during use requires connecting the button event with the label’s Text property. This separates three ideas: the component‘s existence, its initial value and its behavior when the user acts. Each is checked in a different part of the project.
App Inventor 2: Repaso a la Interfaz de Diseño
Watch in short sections. Connect one explanation with the diagram and try the example in this section. The written theory lets you complete the activity without playing the video.
The video keeps its original spoken language. Use the captions available in the player if they help.
- In App Inventor create a trial project with a button, label and CheckBox; use clear internal names and understandable visible text.
- Program a button event that changes the label’s text; predict and test in the prepared emulator or device.
- In Google Docs identify component, property, event and test result; save an initial .aia export.
Why is changing a button’s internal name different from programming its event or writing its visible text?
4.3. Represent state and recalculate
Learn · theory and practice
An application’s state describes its current situation. In a materials list, checkboxes indicate which items are ready, and a variable can retain a count during execution. Pressing Check starts an action, but does not represent a new item. If the boxes stay unchanged, checking again should describe the same situation. Counting presses retains a history of actions; counting checked boxes answers a question about the present. That difference determines which value we need to calculate.
To obtain the current count, we can start from zero at each check and inspect which boxes are checked. The result then depends on the materials represented at that moment rather than how often the button was pressed. Missing items relate to the total number of items and the number prepared. A condition distinguishes whether nothing is missing or something remains. Unchecking also changes the state: allowing this correction keeps the response consistent when the person revises their selection.
The list and its calculation form a whole. Adding an item affects components, counting, the completion condition, instructions and tests. Reviewing these relationships prevents the screen from promising a function the blocks do not yet represent. We investigate this consistency while the app is in use. A variable in memory does not guarantee that data survives closing; permanent storage would be another function requiring its own decisions and tests.
- Current checkboxes
- Count from zero
- Total and prepared
- Condition
- Revisable result
A trial list has two items: folder and card. Only the folder is checked. Checking twice should describe the same state, not two prepared folders. If the number rises without checkbox changes, the calculation is accumulating checks. Unchecking afterward tests another requirement: the response must reflect corrections as well as progress toward completing the list.
App Inventor 3.2: Mi primera App (Bloques)
Watch in short sections. Connect one explanation with the diagram and try the example in this section. The written theory lets you complete the activity without playing the video.
The video keeps its original spoken language. Use the captions available in the player if they help.
- In Google Docs prepare cases with no, some and all boxes checked, plus repeated Check presses and a correction.
- In App Inventor build state counting with a variable and condition; predict each case and run it in the emulator.
- Propose one extra item, identify all affected parts and test a variant in a copy without changing the main assignment requirements.
Why can counting clicks and counting prepared materials give different results even with the same on-screen button?
4.4. Two views with a way back
Learn · theory and practice
A view organizes an area of the interface for a particular purpose. Home can contain the list and result, while Help explains how to use them. In the introductory route, both are built with two vertical arrangements inside Screen1. Each arrangement groups components and has a Visible property indicating whether it is shown. Changing views changes the presentation of that same screen; it focuses attention on the task or its explanation without mixing every element at once.
Navigation connects an action with two coordinated changes: going to Help shows that group and hides Home; Back does the reverse. Hiding one area without showing the other can leave an apparently empty screen. Showing both may make it harder to recognize where we are and what to do. The return must therefore be easy to find, and Help must explain the task, messages and limits of simulated data. Its usefulness depends on the person being able to continue afterward.
Even when a view is hidden, its components and variables still belong to the same execution. A checkbox can remain checked on return because a new component has not been created. This retention during use explains the observation, but does not establish that data survives fully closing the app: hiding does not save to permanent storage. Drawing the routes and testing both directions checks navigation and state. Encountering a dead end is a functional fault, just like obtaining an incorrect count.
- Home visible
- Help event
- Help visible
- Back event
- Home with its state
A trial app hides its list to show instructions. On return, a selection remains checked because the component was not recreated. The pair correctly explains this retention during use. Claiming that it survives closure would require another mechanism and test. Observed navigation cannot establish storage that has not been built.
- In diagrams.net draw Home, Help, forward and return actions and which arrangement is visible in each case.
- In App Inventor build both views inside Screen1 and check that neither an empty screen nor overlapping areas appear.
- Make a selection, visit Help and return; record in Google Docs what state is retained and what you have not tested about closure and storage.
Why does retaining a checkbox after returning from Help not demonstrate that the app remembers the selection after closing?
4.5. Represent a connected device
Learn · theory and practice
A connected system can move information from a sensor and board to an application through communication. This chain must obtain, send, receive and interpret the value. Our project represents part of it through simulation: a button changes a variable and the interface displays the result. The number comes from neither a board nor a physical connection. It must appear beside a SIMULATED DATA label. A sensor drawing or a button named Connect does not demonstrate device communication.
Simulation provides known cases for checking messages and conditions before implementing a connection. The teaching values 20 and 80 represent two trial inputs without an assigned physical unit. If the interface uses a threshold, explain each response and what happens at the boundary. Replacing simulated input with a real source would require reviewing communication, format and the response to missing information. An old value should not be presented as a new reading. Drawing the complete chain distinguishes implemented parts from represented ones.
- Trial variable
- Labeled value
- Interface rule
- Message
- Simulation limit
A panel displays a number after a button press and someone thinks it measures the classroom. The team explains that its source is a program variable and keeps the simulated label beside it. Alert logic can be tested with that known input. The test establishes neither sensor accuracy nor receipt of data from a board.
- In App Inventor prepare a trial variable alternating between 20 and 80 and display it with SIMULATED DATA.
- Predict and test its message or condition, including equality if using a threshold; record the source in Google Docs.
- Draw sensor, board, communication and app in diagrams.net; mark implemented and represented parts and the missing response to absent real data.
What have you tested when the alert responds to 20 and 80, and what have you not demonstrated about a real IoT device?
4.6. Test from the user’s perspective
Learn · theory and practice
A functional test checks a rule: counting, correction, navigation or simulated-value change. A usability test observes whether another person understands how to complete a task. The builder already knows where controls are, so their ease of use does not represent the whole audience. Give the prepared emulator or device to another pair and state a task without pointing at buttons. Record hesitation, message interpretation and whether they find a return. Describe the design rather than blaming the tester.
Connect improvement to the observed problem. A specific label can aid understanding; recalculation prevents accumulation; moving Back helps navigation. Repeat the task and check another function for unwanted effects. Keep the .aia source project through App Inventor export and import. A screenshot shows one state, whereas .aia preserves editable components and blocks; it differs from a compiled installable app. A01 includes design and an executed microapp; A02 combines product, tests and improvement. Both retain sources, permissions, minimum data and individual explanation.
- Unguided task
- Observed difficulty
- Justified change
- Repeated task
- Rechecked functions
A person looks for Help at the top, but its button is below a long passage. The team records the hesitation and changes placement and wording in a copy. It repeats the task to check whether the route is now found. It also checks counting: improved navigation does not establish untested logic.
- In Google Docs prepare functional tests for counting, repeated pressing, correction, Help/Back and simulated data with expectations and observations.
- Ask another pair to complete an emulator task unguided; record a difficulty, change one part and repeat the task and a functional check.
- Export .aia from App Inventor and check import in the prepared environment; keep instructions, sources and an individual explanation.
What must a usability observation record to justify an improvement, and why does a screenshot not replace the .aia project?
Your project and submissions
A01 · Design the solution
- Create CR1-S04_A01_Apellidos in Google Docs with need, user and requirements for My classroom helper, using minimal fictional data.
- In diagrams.net draw two views and navigation; connect components, properties, events, variable, condition and each button’s function.
- Explain current-state counting, correction and simulated data origin. Prepare at least three user tests with expected results.
- Include an executed workshop 03 or 04 microapp, its file and observations; record sources, permissions, partner review and individual contribution.
What to submit
- Dossier with sketch, editable map and PNG, minimal data and counting/navigation algorithm.
- Executed .aia microapp, prediction and observation of at least one event.
- Three planned tests, sources and permissions, contributions and explanation of interface-event-value-response.
A02 · My classroom helper
- Build the revised App Inventor app with two views, buttons, counting, variable and condition; display a labeled simulated reading and explain its limit.
- In CR1-S04_A02_Apellidos record no, one and three boxes checked, unchecking after completion, repeated Check and Help/Back with state retained during use.
- Test with another pair; record an issue, cause, correction and retest. Verify a usability improvement without breaking calculation or navigation.
- Export CR1-S04_app_Apellidos.aia and check recovery; submit guide, record and sources. Each partner explains an event, predicts and performs or describes a modification.
What to submit
- Reviewable .aia project and guide explaining task, navigation, simulated data and limits.
- Counting, correction, repetition, navigation and simulation tests with expectations and observations.
- Correction and usability improvement record, permitted resources and individual explanation; the page’s rubrics remain the assessment reference.
Before you submit
- I connect components and buttons with a specific need.
- I distinguish property, event, variable and response and trace a button press through blocks.
- I calculate current state without counting the same item twice and allow correction.
- I explain state retention during use and why it proves neither persistence nor a real connection.
- Another pair can use the app and I verify an improvement with a recoverable project. These are self-assessment descriptors, not new official criteria.
Templates and files
Open the blank A01 or A02 template and make your own copy in Google Docs. Keep the editable file from your project platform as well.
These reusable templates help you organise your work. Follow the specific instructions and evidence list for this unit; remove fields that do not apply. The blank master is read-only. Keep your answers private and share them only as your teacher instructs.
A01 · Design the solution
Make your own copy in Google Docs · View the blank template
- Dossier with sketch, editable map and PNG, minimal data and counting/navigation algorithm.
- Executed .aia microapp, prediction and observation of at least one event.
- Three planned tests, sources and permissions, contributions and explanation of interface-event-value-response.
A02 · My classroom helper
Make your own copy in Google Docs · View the blank template
- Reviewable .aia project and guide explaining task, navigation, simulated data and limits.
- Counting, correction, repetition, navigation and simulation tests with expectations and observations.
- Correction and usability improvement record, permitted resources and individual explanation; the page’s rubrics remain the assessment reference.
Classroom rubrics
The classroom assessment reference is preserved below in its original Spanish. Use the checklist above to prepare your work and ask your teacher about any descriptor you need to clarify.
Consultar la rúbrica de A01
Diseño y microprueba
CYR.1.2.1 Algoritmo reutilizable y trabajo en pareja
Conocer y resolver la variedad de problemas posibles, desarrollando un programa informático y generalizando las soluciones, tanto de forma individual como trabajando en equipo, colaborando y comunicándose de forma adecuada.
Evidencia. Esquema de recuento, microapp ejecutada y aportación individual al diseño.
| Banda | Desempeño observable |
|---|---|
| 1–2,9 | El recuento no representa el problema y no puede explicar una parte propia. |
| 3–4,9 | Relaciona casillas y contador, pero acumula pulsaciones o no distingue lo aportado por cada integrante. |
| 5–6,9 | Expresa el recuento actual, ejecuta una microprueba y explica su aportación. Revisa la propuesta de su pareja con una razón. |
| 7–8,9 | Adapta el recuento a una lista de otra longitud y señala qué pasos son generales. |
| 9–10,0 | Comprueba la adaptación con casos extremos y explica al equipo cómo evitar duplicar lógica. |
CYR.1.2.2 Aplicación móvil ajustada a una necesidad
Conocer y resolver la variedad de problemas posibles desarrollando una aplicación móvil, particularizando las soluciones.
Evidencia. Boceto de vistas, botones, datos mínimos y microapp funcional de 03 o 04.
| Banda | Desempeño observable |
|---|---|
| 1–2,9 | El boceto no permite realizar la tarea móvil y no identifica la función de los componentes. |
| 3–4,9 | Hay pantallas, pero faltan eventos o sus acciones no responden a la necesidad elegida. |
| 5–6,9 | Construye una microapp con componentes y eventos adecuados y relaciona cada botón con la tarea y los datos necesarios. |
| 7–8,9 | Prueba el recorrido con otra persona y particulariza una instrucción o componente según su dificultad. |
| 9–10,0 | Adapta la solución a otra lista o destinatario y justifica los cambios de interfaz sin añadir datos innecesarios. |
CYR.1.5.1 Funcionamiento interno y uso respetuoso de la app
Conocer la construcción de aplicaciones informáticas y web, entendiendo su funcionamiento interno, de forma segura, responsable y respetuosa.
Evidencia. Relación interfaz evento dato respuesta y revisión de recursos del microprototipo.
| Banda | Desempeño observable |
|---|---|
| 1–2,9 | Atribuye la respuesta al aspecto del botón sin identificar el evento o usa datos personales innecesarios. |
| 3–4,9 | Reconoce un evento, pero no lo relaciona con la variable y el mensaje o deja recursos sin origen. |
| 5–6,9 | Explica interfaz, evento, variable y respuesta en la microapp, usa datos ficticios y registra origen y permiso de los recursos utilizados. |
| 7–8,9 | Justifica una decisión de minimización o mensaje accesible y la comprueba en el prototipo. |
| 9–10,0 | Compara otra forma de organizar la interacción y justifica su efecto en comprensión y privacidad. |
Consultar la rúbrica de A02
Producto pruebas y mejora
CYR.1.2.1 Algoritmo reutilizable y trabajo en pareja
Conocer y resolver la variedad de problemas posibles, desarrollando un programa informático y generalizando las soluciones, tanto de forma individual como trabajando en equipo, colaborando y comunicándose de forma adecuada.
Evidencia. App, pruebas repetidas del recuento y explicación de una variante.
| Banda | Desempeño observable |
|---|---|
| 1–2,9 | La lógica no calcula los elementos pendientes y no puede seguir una pulsación. |
| 3–4,9 | Calcula un caso, pero falla al pulsar dos veces o cambiar el número de elementos. |
| 5–6,9 | Resuelve el recuento, repite pruebas y corrige un fallo. Cada integrante explica una decisión y colabora en la mejora. |
| 7–8,9 | Generaliza el recuento a una lista distinta y verifica ninguna, algunas y todas las casillas. |
| 9–10,0 | Resuelve una variante propuesta y justifica la parte reutilizable del algoritmo y la revisión acordada con la pareja. |
CYR.1.2.2 Aplicación móvil ajustada a una necesidad
Conocer y resolver la variedad de problemas posibles desarrollando una aplicación móvil, particularizando las soluciones.
Evidencia. Proyecto App Inventor editable y pruebas de recuento navegación y lectura simulada.
| Banda | Desempeño observable |
|---|---|
| 1–2,9 | La app no permite completar la tarea o solo se entregan imágenes sin funcionamiento revisable. |
| 3–4,9 | Funciona parcialmente, pero la navegación bloquea la tarea o se presenta como conexión real la lectura simulada. |
| 5–6,9 | La app responde a la necesidad, usa componentes y eventos, calcula y permite navegar. Identifica la lectura simulada y prueba con otro usuario. |
| 7–8,9 | Corrige una dificultad de uso observada y comprueba el recorrido completo sin ayuda del autor. |
| 9–10,0 | Particulariza la app para otro destinatario y demuestra que conserva cálculo y navegación, explicando las decisiones de componentes. |
CYR.1.5.1 Funcionamiento interno y uso respetuoso de la app
Conocer la construcción de aplicaciones informáticas y web, entendiendo su funcionamiento interno, de forma segura, responsable y respetuosa.
Evidencia. App revisable, explicación de un evento, mensajes y revisión de privacidad y recursos.
| Banda | Desempeño observable |
|---|---|
| 1–2,9 | No explica el funcionamiento interno o difunde información que no necesita el producto. |
| 3–4,9 | La app funciona, pero confunde interfaz y lógica o deja mensajes y recursos sin revisar. |
| 5–6,9 | Explica el recorrido de un evento, conserva archivos editables y aplica mensajes comprensibles, datos mínimos y uso permitido de recursos. |
| 7–8,9 | Detecta y corrige una incoherencia entre interfaz y lógica o una barrera de comprensión y verifica el cambio. |
| 9–10,0 | Transfiere el patrón a otra interacción y justifica qué protege su decisión y qué límite mantiene la simulación. |
Videos, resources and sources
App Inventor 1: Introducción
Watch in short sections. Connect one explanation with the diagram and try the example in this section. The written theory lets you complete the activity without playing the video.
The video keeps its original spoken language. Use the captions available in the player if they help.
App Inventor 3.1: Mi primera App (Diseño)
Watch in short sections. Connect one explanation with the diagram and try the example in this section. The written theory lets you complete the activity without playing the video.
The video keeps its original spoken language. Use the captions available in the player if they help.
App inventor: primeros pasos
Watch in short sections. Connect one explanation with the diagram and try the example in this section. The written theory lets you complete the activity without playing the video.
The video keeps its original spoken language. Use the captions available in the player if they help.
Keep learning
- MIT App Inventor · User Interface
- MIT App Inventor · Variable Blocks
- MIT App Inventor · Layout
- MIT App Inventor · Sharing and Remixing Apps
- MIT App Inventor · Tutorials
Editorial revision: October 2026.
