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 is the odd one out? (a) typing your age (b) sorting the scores (c) speaking a command (d) taking a photo
- 2.🚀 In version 2.5.1, which number is the major version? (a) 1 (b) 5 (c) 2 (d) 251
- 3.💡 Which app idea solves this problem: bottles go missing at school? (a) a bill splitter (b) a medicine reminder (c) a study-room finder (d) a lost-and-found board
-
4.🔁 What number does this code show?
let scores = [5, 18, 9, 19];
let total = 0;
for (let i = 0; i < scores.length; i++) {
total = total + scores[i];
}
show(total); -
5.💾 What number does this code show?
let score = 5;
score = score - 2;
score = score + 3;
show(score); -
6.🖼️ In this wireframe (top to bottom), what is right above the Save button?
[ filter buttons ]
[ tab bar ]
[ list of items ]
[ Save button ] (a) tab bar (b) list of items (c) filter buttons - 7.Which of these is about UX (the experience)? (a) the button colours (b) the screen layout (c) how fast a task is done (d) the theme colours
- 8.🔍 Which is the odd one out? (a) big touch targets (b) labels on every icon (c) fast-flashing lights (d) strong colour contrast
- 9.🔍 Which is the odd one out? (a) put it on an app store (b) let friends try it (c) share the download link (d) write the store text
- 10.Which of these is true of an app? (a) opens from a link (b) has a web address (c) opens in a web browser (d) updates from the store
- 11.🗒️ You are planning version 1 of a quiz app. Which feature can WAIT for a later version? (a) show a question (b) show the score (c) background music (d) check the answer
-
12.👆 The user taps the button 4 times. What does the label show now?
let on = false;
button.onTap = function () {
on = !on;
if (on) {
label.text = "ON";
} else {
label.text = "OFF";
}
}; (a) ON (b) OFF -
13.🖼️ In this wireframe (top to bottom), what is right above the search box?
[ top bar ]
[ filter buttons ]
[ menu icon ]
[ Add button ]
[ list of items ]
[ search box ] (a) filter buttons (b) top bar (c) menu icon (d) list of items - 14.🔀 When does the else part run? (a) always (b) never (c) when the test is false (d) when the test is true
- 15.🗒️ You are planning version 1 of a bus tracker. Which feature is a MUST-HAVE? (a) a dark mode (b) rate the driver (c) change the bus icon (d) show arrival time
-
16.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 50; // typed by the user
line 2: let qty = 2; // typed by the user
line 3: let total = price * qty;
line 4: show(total); (a) line 2 (b) line 4 (c) line 1 (d) line 3 - 17.📱 Which one comes from an app store: an app or a website? (a) an app (b) a website
-
18.🧪 How many of these test cases pass?
🚚 Rule: delivery is free (0) when the order is 500 or more; otherwise it costs 40.
function delivery(total) {
if (total > 500) {
return 0;
}
return 40;
}
Test 1: delivery(600) → expected 0
Test 2: delivery(650) → expected 0
Test 3: delivery(350) → expected 40 - 19.Which of these is true of an app? (a) has a web address (b) comes from an app store (c) opens from a link (d) opens in a web browser
- 20.✏️ Do wireframes usually show the final colours? (a) Yes (b) No
- 21.🔁 list.length tells you ___. (a) the last item (b) the biggest item (c) how many items it has (d) the first item
- 22.👆 Which of these is an event? (a) the icon colour (b) a list of names (c) the user taps a button (d) the font size
-
23.🧪 How many of these test cases pass?
🚚 Rule: delivery is free (0) when the order is 600 or more; otherwise it costs 40.
function delivery(total) {
if (total > 600) {
return 0;
}
return 40;
}
Test 1: delivery(850) → expected 0
Test 2: delivery(1000) → expected 0
Test 3: delivery(400) → expected 40 - 24.🔐 Is this permission request fair or too much: calling app → contacts? (a) fair (b) too much
-
25.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let lives = 45; // start at 45
line 2: lives = lives - 5; // take away 5
line 3: lives = lives * 3; // double it
line 4: lives = lives + 3; // add 3
line 5: show(lives); // show it (a) line 4 (b) line 1 (c) line 2 (d) line 3 - 26.🧪 What is the actual result of a test? (a) what we hope for (b) the test’s number (c) the app’s name (d) what the app really does
- 27.True or false: a free study-room finder solves no real problem. (a) True (b) False
- 28.♿ What should every icon-only button have for screen readers? (a) a sound (b) a text label (c) a bright colour (d) a long animation
- 29.Which of these app ideas solves no real problem? (a) a free study-room finder (b) a lost-and-found board (c) a library due-date alert (d) an app that just says hi
- 30.🎯 Is this a user need or a feature: “I forget my homework”? (a) a feature (b) a user need
- 31.💾 What is a variable? (a) a phone setting (b) a picture (c) a named box for a value (d) a type of screen
-
32.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Body text: 25 px
Label: 16 px
Footer: 22 px
Caption: 12 px (a) Caption (b) Body text (c) Footer (d) Label -
33.👆 The user taps the button 6 times. What number does the label show now?
let score = 6;
button.onTap = function () {
score = score + 2;
label.text = score;
}; - 34.🧩 What does a button do when you tap it? (a) starts an action (b) changes the phone (c) shows the time (d) saves the battery
-
35.🧪 What is the ACTUAL result of Test 3?
🎟️ Rule: a ticket costs 50 for children under 12, and 100 for everyone else.
function price(age) {
if (age < 12) {
return 50;
}
return 100;
}
Test 1: price(12) → expected 100
Test 2: price(8) → expected 50
Test 3: price(16) → expected 100 -
36.🔀 What does this PIN rule show?
let pin = "1675";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) PIN saved (b) Use 4 digits - 37.📅 An app team plans for 4 days, builds for 6 days, tests for 1 days and releases on 1 more day. How many more days does building take than testing?
- 38.🧭 Which part of navigation hides extra links? (a) the back button (b) a tab bar (c) a menu button
-
39.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let points = 30; // start at 30
line 2: points = points + 3; // add 3
line 3: points = points * 3; // double it
line 4: points = points * 2; // double it
line 5: show(points); // show it -
40.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Hint: 19 px
Caption: 10 px
Label: 20 px
Body text: 17 px
Answer key
- sorting the scores
- 2
- a lost-and-found board
- 51
- 6
- list of items
- how fast a task is done
- fast-flashing lights
- let friends try it
- updates from the store
- background music
- OFF
- list of items
- when the test is false
- show arrival time
- line 3
- an app
- 3
- comes from an app store
- No
- how many items it has
- the user taps a button
- 3
- fair
- line 3
- what the app really does
- False
- a text label
- an app that just says hi
- a user need
- a named box for a value
- Caption
- 18
- starts an action
- 100
- PIN saved
- 5
- a menu button
- 198
- 1
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students