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.✏️ Is this true of a wireframe or of a final design: shows the real fonts? (a) a final design (b) a wireframe
-
2.🧪 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(750) → expected 0
Test 2: delivery(450) → expected 40
Test 3: delivery(600) → expected 0 - 3.True or false: the button colours is about UX (the experience). (a) False (b) True
-
4.⚙️ What number does this app show?
let bill = 72; // typed by the user
let friends = 4; // typed by the user
let share = bill / friends;
show(share); -
5.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let points = 41; // start at 41
line 2: points = points + 4; // add 2
line 3: points = points - 4; // take away 4
line 4: points = points * 2; // double it
line 5: show(points); // show it - 6.♿ Does this help everyone, or make the app harder to use: text that can grow? (a) makes it harder (b) helps everyone
-
7.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Send button: 56 px tall
Back button: 56 px tall
Help button: 64 px tall
Start button: 44 px tall -
8.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let lives = 33; // start at 30
line 2: lives = lives + 6; // add 6
line 3: lives = lives * 2; // double it
line 4: show(lives); // show it -
9.📊 Survey: which problem bugs you most? Which problem should your app solve first?
losing water bottles: 16 votes
no quiet study place: 14 votes
wasting pocket money: 12 votes (a) no quiet study place (b) losing water bottles (c) wasting pocket money - 10.🐞 Finding and fixing bugs is called ___. (a) downloading (b) decorating (c) debugging (d) designing
-
11.🧩 How many buttons does this app screen have?
[title] Edit Profile
[button] Done
[switch] Show hints
[slider] Brightness
[text box] Email
[button] Cancel
[text box] Subject - 12.💾 Where should the app save chat messages to friends: on the phone or in the cloud? (a) on the phone (b) in the cloud
- 13.🎯 Is this a user need or a feature: “I forget my homework”? (a) a user need (b) a feature
- 14.🔢 In a sign-up flow, which comes first: “make a password” or “enter the code sent”? (a) make a password (b) enter the code sent
- 15.🐞 A comment in code (after //) is for ___. (a) the app store (b) people reading the code (c) the phone screen (d) the battery
-
16.👆 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 -
17.🔁 What number does this code show?
let marks = [7, 20, 17, 2];
let best = 0;
for (let i = 0; i < marks.length; i++) {
if (marks[i] > best) {
best = marks[i];
}
}
show(best); -
18.🧰 A museum app works out the entry fee. What number does this code show?
function fee(age) {
if (age < 5) {
return 0;
}
return 20;
}
show(fee(1) + fee(12)); - 19.Which of these is processing? (a) working out a tip (b) a result on screen (c) typing your age (d) a buzz (vibration)
- 20.🔀 What does >= mean? (a) smaller or equal (b) less than (c) not equal (d) greater than or equal
-
21.🧪 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(17) → expected 100
Test 2: price(16) → expected 100
Test 3: price(8) → expected 50 -
22.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Cancel button: 32 px tall
Back button: 56 px tall
Save button: 56 px tall - 23.💡 Which app idea solves this problem: projects pile up at once? (a) a lost-and-found board (b) a medicine reminder (c) a bill splitter (d) a homework planner
- 24.🔍 Which is the odd one out? (a) colour as the only clue (b) sudden loud sounds (c) icons with no labels (d) strong colour contrast
- 25.🔐 Is this permission request fair or too much: quiz app → microphone? (a) fair (b) too much
- 26.🗒️ You are planning version 1 of a quiz app. Which feature can WAIT for a later version? (a) check the answer (b) confetti effects (c) show a question (d) show the score
- 27.🗒️ When should nice-to-have features be built? (a) never (b) on day one (c) after the must-haves (d) before anything
-
28.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 60; // typed by the user
line 2: let qty = 4; // typed by the user
line 3: let total = price * qty;
line 4: show(total); (a) line 2 (b) line 1 (c) line 4 (d) line 3 -
29.🧪 One test case fails. Which one?
🚚 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(750) → expected 0
Test 2: delivery(700) → expected 0
Test 3: delivery(550) → expected 40 (a) Test 2 (b) Test 1 (c) Test 3 - 30.Which of these app ideas solves no real problem? (a) a library due-date alert (b) a bill splitter (c) a page of random dots (d) a free study-room finder
- 31.♿ Showing right or wrong only in red and green is a problem for ___. (a) colour-blind users (b) fast typists (c) the server (d) the battery
-
32.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(100, 6)); - 33.Which of these fits saving on the phone? (a) the sound on/off setting (b) a shared to-do list (c) photos on two devices (d) a class leaderboard
- 34.True or false: a wireframe shows the real fonts. (a) True (b) False
-
35.🚀 Which of these versions is the NEWEST?
0.23.0, 1.15.6, 1.10.8, 1.18.7 (a) 1.18.7 (b) 1.10.8 (c) 1.15.6 (d) 0.23.0 - 36.🔀 In a good flow, each screen should lead to ___. (a) a random page (b) the same screen (c) a dead end (d) a clear next step
- 37.🔢 In a sign-up flow, which comes first: “enter the code sent” or “type name and email”? (a) enter the code sent (b) type name and email
- 38.🗒️ The first small, working version of an app is often called an ___. (a) FAQ (b) URL (c) MVP (d) CPU
-
39.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 44; // start at 44
line 2: points = points - 1; // take away 1
line 3: points = points * 3; // double it
line 4: points = points + 4; // add 4
line 5: show(points); // show it (a) line 2 (b) line 4 (c) line 3 (d) line 1 -
40.🔀 Which badge does this quiz app show?
let marks = 37;
if (marks >= 80) {
show("Gold");
} else if (marks >= 50) {
show("Silver");
} else {
show("Bronze");
} (a) Gold (b) Silver (c) Bronze
Answer key
- a final design
- 3
- False
- 18
- 78
- helps everyone
- 3
- 72
- losing water bottles
- debugging
- 2
- in the cloud
- a user need
- make a password
- people reading the code
- ON
- 20
- 20
- working out a tip
- greater than or equal
- 50
- 2
- a homework planner
- strong colour contrast
- too much
- confetti effects
- after the must-haves
- line 3
- Test 2
- a page of random dots
- colour-blind users
- 600
- the sound on/off setting
- False
- 1.18.7
- a clear next step
- type name and email
- MVP
- line 3
- Bronze
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students