App Dev Worksheet: Final Test
Developer's tip (Plan, design, build, check): Find the topic: what apps are, designing apps, or logic and building. Read every screen, list or code line carefully, top to bottom. For code, write each value down step by step and check it again.
NameDateTime takenScore ___ / 40
- 1.Which of these is a button? (a) your high score (b) tap to Save (c) the settings page (d) the game-over page
- 2.🔍 Which is the odd one out? (a) a puzzle with levels (b) a times-table quiz (c) a spelling coach (d) a flashcard trainer
- 3.🎯 Why learn about users before you build? (a) to slow it down (b) to build what they need (c) to make it longer (d) to pick a logo
- 4.✏️ Is this true of a wireframe or of a final design: shows the real fonts? (a) a final design (b) a wireframe
-
5.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Help page”
2. open “Help page”
3. tap Back
4. tap Back
5. tap the Feed tab
How many times must you tap Back to reach the main screen of this tab? - 6.🎯 Which app would help this user most: a teen learning to make snacks? (a) a water reminder (b) a recipe finder (c) a pocket-money tracker (d) a bus tracker
- 7.✏️ Is this true of a wireframe or of a final design: has no real colours? (a) a final design (b) a wireframe
-
8.🧪 One test case fails. Which one?
🎟️ Rule: a ticket costs 50 for children under 10, and 100 for everyone else.
function price(age) {
if (age <= 10) {
return 50;
}
return 100;
}
Test 1: price(13) → expected 100
Test 2: price(10) → expected 100
Test 3: price(8) → expected 50 (a) Test 3 (b) Test 1 (c) Test 2 -
9.🧪 How many of these test cases pass?
🚚 Rule: delivery is free (0) when the order is 400 or more; otherwise it costs 40.
function delivery(total) {
if (total >= 400) {
return 0;
}
return 40;
}
Test 1: delivery(200) → expected 40
Test 2: delivery(600) → expected 0
Test 3: delivery(400) → expected 0 - 10.🐞 A comment in code (after //) is for ___. (a) people reading the code (b) the battery (c) the phone screen (d) the app store
-
11.🧰 What number does this code show?
function double(n) {
return n * 2;
}
show(double(9)); - 12.Which of these happens at the plan stage? (a) try every button (b) draw the user flow (c) share the download link (d) add the buttons
- 13.⚙️ In an app, is a pop-up message an input, processing or an output? (a) processing (b) input (c) output
-
14.🧪 What is the ACTUAL result of Test 2?
🎟️ Rule: a ticket costs 50 for children under 14, and 100 for everyone else.
function price(age) {
if (age <= 14) {
return 50;
}
return 100;
}
Test 1: price(20) → expected 100
Test 2: price(17) → expected 100
Test 3: price(12) → expected 50 - 15.👥 A school app has 105 students, 285 teachers and 60 parents as users. Which user group is the biggest? (a) teachers (b) students (c) parents
- 16.🗒️ You are planning version 1 of a water reminder. Which feature can WAIT for a later version? (a) log a glass of water (b) see today’s total (c) share your streak (d) set a reminder time
- 17.True or false: you let friends try it at the build stage. (a) True (b) False
-
18.🧩 How many inputs (text boxes, switches and sliders) does this screen have?
[title] Sign Up
[button] Send
[text box] Notes
[button] Next
[slider] Brightness
[button] Cancel
[text box] City
[text box] Name - 19.🧭 Why should every screen show where you are? (a) to use more battery (b) to look busy (c) to hide the menu (d) so users do not get lost
- 20.🚀 A change from version 1.4.2 to 1.4.3 usually means ___. (a) a new app (b) a new feature (c) a bug fix (d) a big redesign
-
21.⚙️ What number does this app show?
let km = 2; // typed by the user
let metres = km * 1000;
show(metres); - 22.🧰 Why write a function? (a) to slow the app (b) to make code longer (c) to reuse code (d) to hide errors
- 23.🗒️ Why keep version 1 small? (a) to use up storage (b) to learn from users soon (c) to confuse users (d) to look bigger
- 24.True or false: a big-text reader is the best fit for a reader who finds small print hard. (a) False (b) True
-
25.🧰 What number does this code show?
function triple(n) {
return n * 3;
}
show(triple(30)); -
26.👆 Two designs for the same task (each arrow is one tap). How many taps does Design B need?
Design A: Home → Address → Results → Offers → Cart → Item
Design B: Home → Pay → Cart → Search -
27.🧩 Which of these is a button on this screen?
[title] Order Snacks
[button] Start
[text box] Phone
[button] Back (a) Back (b) Phone - 28.✏️ Is this true of a wireframe or of a final design: is a quick sketch? (a) a final design (b) a wireframe
- 29.✏️ Do wireframes usually show the final colours? (a) No (b) Yes
-
30.🧪 What is the ACTUAL result of Test 3?
🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
function delivery(total) {
if (total > 700) {
return 0;
}
return 40;
}
Test 1: delivery(500) → expected 40
Test 2: delivery(800) → expected 0
Test 3: delivery(700) → expected 0 - 31.True or false: a website opens from a link. (a) False (b) True
-
32.📊 Survey: which problem bugs you most? Which problem should your app solve first?
missing the bus: 19 votes
wasting pocket money: 14 votes
forgetting homework: 11 votes (a) missing the bus (b) wasting pocket money (c) forgetting homework - 33.🔢 In a quiz-app flow, which comes FIRST? (a) tap “Start quiz” (b) see the final score (c) pick an answer (d) see if it is right
-
34.💾 pop() takes off the last item. What does this code show?
let songs = ["Sunrise", "Ocean", "Rain"];
songs.pop();
show(songs[songs.length - 1]); (a) Ocean (b) Sunrise (c) Rain -
35.🔘 Our rule: buttons are at least 48 px tall. Which button is too small?
Back button: 60 px tall
Save button: 48 px tall
Done button: 44 px tall
Start button: 68 px tall (a) Back (b) Done (c) Save (d) Start - 36.✏️ Is this true of a wireframe or of a final design: has the real colours? (a) a wireframe (b) a final design
-
37.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Footer: 22 px
Menu: 22 px
Hint: 14 px (a) Hint (b) Menu (c) Footer - 38.🧩 In an app, what is tap to Send? (a) data (b) a button (c) a screen (d) an input
- 39.♿ Does this help everyone, or make the app harder to use: text that can grow? (a) helps everyone (b) makes it harder
-
40.🔘 Our rule: buttons are at least 48 px tall. Which button is too small?
Save button: 44 px tall
Start button: 60 px tall
Back button: 72 px tall
Help button: 68 px tall (a) Help (b) Start (c) Save (d) Back
Answer key
- tap to Save
- a puzzle with levels
- to build what they need
- a final design
- 0
- a recipe finder
- a wireframe
- Test 2
- 3
- people reading the code
- 18
- draw the user flow
- output
- 100
- teachers
- share your streak
- False
- 4
- so users do not get lost
- a bug fix
- 2000
- to reuse code
- to learn from users soon
- True
- 90
- 3
- Back
- a wireframe
- No
- 40
- True
- missing the bus
- tap “Start quiz”
- Ocean
- Done
- a final design
- Hint
- a button
- helps everyone
- Save
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students