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 app idea solves this problem: Grandpa forgets his tablets? (a) a bill splitter (b) a medicine reminder (c) a homework planner (d) a study-room finder
-
2.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 15; // typed by the user
line 2: let qty = 6; // typed by the user
line 3: let total = price * qty;
line 4: show(total); (a) line 3 (b) line 2 (c) line 4 (d) line 1 -
3.🧪 One test case fails. Which one?
🎟️ 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(14) → expected 100
Test 2: price(10) → expected 50
Test 3: price(16) → expected 100 (a) Test 2 (b) Test 1 (c) Test 3 -
4.🔁 What number does this code show?
let steps = [69, 81, 79];
let count = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] >= 70) {
count = count + 1;
}
}
show(count); -
5.🖼️ In this wireframe (top to bottom), what is right below the top bar?
[ top bar ]
[ filter buttons ]
[ big picture ]
[ menu icon ]
[ Save button ] (a) big picture (b) Save button (c) filter buttons (d) menu icon -
6.🔘 Our rule: buttons are at least 48 px tall. Which button is too small?
Save button: 44 px tall
Cancel button: 64 px tall
Start button: 52 px tall
Help button: 48 px tall (a) Cancel (b) Start (c) Save (d) Help -
7.🧪 How many of these test cases pass?
📝 Rule: a quiz is passed with 5 or more right answers.
function result(right) {
if (right >= 5) {
return "Pass";
}
return "Try again";
}
Test 1: result(3) → expected Try again
Test 2: result(5) → expected Pass
Test 3: result(7) → expected Pass - 8.True or false: strong colour contrast is poor button design. (a) True (b) False
- 9.🗒️ You are planning version 1 of a bus tracker. Which feature can WAIT for a later version? (a) pick your bus stop (b) a dark mode (c) see where the bus is (d) show arrival time
-
10.🗒️ Version 1 of a water reminder must be ready in 11 days. How many days are left for extras after the must-haves?
set a reminder time: 2 days
log a glass of water: 4 days
see today’s total: 5 days - 11.🔁 A loop over a list of 5 items runs its body how many times? (a) 6 (b) 1 (c) 5 (d) 4
- 12.🔀 What is a user flow? (a) a type of font (b) a charging cable (c) the path through screens (d) a colour theme
-
13.⚙️ Which line does the processing (works out the answer)?
line 1: let km = 2; // typed by the user
line 2: let metres = km * 1000;
line 3: show(metres); (a) line 1 (b) line 3 (c) line 2 -
14.📊 Survey: which problem bugs you most? How many more votes did “losing water bottles” get than “missing the bus”?
losing water bottles: 24 votes
missing the bus: 23 votes
forgetting birthdays: 12 votes -
15.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Footer: 21 px
Body text: 23 px
Hint: 22 px
Caption: 28 px
Menu: 13 px (a) Hint (b) Body text (c) Footer (d) Menu - 16.🧩 Which input is best for typing your name? (a) a slider (b) a text box (c) a picture (d) a switch
- 17.🗒️ You are planning version 1 of a pocket-money tracker. Which feature is a MUST-HAVE? (a) savings stickers (b) add money spent (c) export to a file (d) pie-chart colours
- 18.Which of these app ideas solves a real problem? (a) a button with no action (b) a blank grey screen (c) a bill splitter (d) an app that just says hi
-
19.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Label: 19 px
Footer: 13 px
Body text: 10 px - 20.🔢 When you make an app, which comes first: “plan the screens” or “get an idea”? (a) get an idea (b) plan the screens
- 21.📅 An app team plans for 2 days, builds for 10 days, tests for 1 days and releases on 1 more day. How many days does the whole project take?
-
22.📊 Survey: which problem bugs you most? Which problem should your app solve first?
forgetting homework: 10 votes
missing the bus: 4 votes
forgetting birthdays: 11 votes (a) missing the bus (b) forgetting homework (c) forgetting birthdays -
23.👆 The user taps the button 1 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) OFF (b) ON - 24.Which of these is a user need? (a) a share button (b) a reminder alarm (c) “What should I cook?” (d) a search bar
- 25.🧩 In an app, what is the settings page? (a) data (b) a screen (c) an input (d) a button
- 26.🎯 An app for “everyone” with no clear user usually ___. (a) needs no testing (b) helps nobody well (c) is easy to build (d) wins every prize
-
27.🧪 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(12) → expected 100
Test 2: price(6) → expected 50
Test 3: price(10) → expected 100 (a) Test 2 (b) Test 3 (c) Test 1 -
28.🔁 What number does this code show?
let runs = [9, 4, 5, 20, 13];
let best = 0;
for (let i = 0; i < runs.length; i++) {
if (runs[i] > best) {
best = runs[i];
}
}
show(best); -
29.🔁 What number does this code show?
let scores = [18, 2, 11, 14];
let best = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] > best) {
best = scores[i];
}
}
show(best); -
30.🔀 What does this sign-up rule show?
let age = 9;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Ask a parent (b) Welcome! -
31.👆 The user taps the button 4 times. What number does the label show now?
let score = 1;
button.onTap = function () {
score = score + 1;
label.text = score;
}; -
32.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(4) + points(4)); - 33.♿ Does this help everyone, or make the app harder to use: icons with no labels? (a) makes it harder (b) helps everyone
- 34.🔢 In a food-order flow, what comes right after “check the cart”? (a) pay for the order (b) pick a dish (c) track the order (d) open the menu
- 35.🔍 Which is the odd one out? (a) sketch the screens (b) spot a problem to solve (c) talk to possible users (d) list what users need
-
36.👆 Two designs for the same task (each arrow is one tap). Which needs FEWER taps?
Design A: Home → Cart → Address → Shop → Pay → Menu
Design B: Home → Results → Confirm → Shop → Search → Cart → Menu (a) Design A (b) Design B -
37.👆 The user taps the button 5 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 - 38.📱 The word “app” is short for ___. (a) apparatus (b) application (c) appetite (d) appointment
- 39.🚀 Which version is newer: 2.4.5 or 2.4.16? (a) 2.4.16 (b) 2.4.5
-
40.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let coins = 38; // start at 38
line 2: coins = coins + 2; // add 2
line 3: coins = coins + 1; // take away 1
line 4: coins = coins * 2; // double it
line 5: show(coins); // show it (a) line 2 (b) line 1 (c) line 4 (d) line 3
Answer key
- a medicine reminder
- line 3
- Test 1
- 2
- filter buttons
- Save
- 3
- False
- a dark mode
- 0
- 5
- the path through screens
- line 2
- 1
- Menu
- a text box
- add money spent
- a bill splitter
- 2
- get an idea
- 14
- forgetting birthdays
- ON
- “What should I cook?”
- a screen
- helps nobody well
- Test 3
- 20
- 18
- Ask a parent
- 5
- 90
- makes it harder
- pay for the order
- sketch the screens
- Design A
- ON
- application
- 2.4.16
- line 3
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students