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.🧭 Where is a tab bar usually placed in a phone app? (a) nowhere (b) inside a button (c) in the middle (d) at the bottom
- 2.🛠️ At which stage do you add the buttons? (a) the release stage (b) the idea stage (c) the plan stage (d) the build stage
- 3.👆 What kind of event is this: the app starts up? (a) a load event (b) a timer event (c) a text event (d) a tap event
- 4.🧭 Why should every screen show where you are? (a) to look busy (b) so users do not get lost (c) to hide the menu (d) to use more battery
-
5.🔀 What does this sign-up rule show?
let age = 17;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Welcome! (b) Ask a parent -
6.🧰 A museum app works out the entry fee. What number does this code show?
function fee(age) {
if (age < 5) {
return 0;
}
return 60;
}
show(fee(9) + fee(8)); - 7.Which of these is about UI (the look)? (a) how easy sign-up is (b) how many taps it takes (c) how users feel after (d) the icon shapes
- 8.🧰 What is a function? (a) a named block of code (b) a type of phone (c) a list of colours (d) a screen size
- 9.True or false: notes to read offline fits saving on the phone. (a) False (b) True
- 10.🐞 After fixing a bug you should ___. (a) test it again (b) never test (c) release at once (d) delete the test
- 11.True or false: your last game level fits saving on the phone. (a) True (b) False
-
12.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. open “Help page”
2. open “Edit photo”
3. tap the Me tab
4. tap the Quiz tab
5. tap the Lessons tab
How many times must you tap Back to reach the main screen of this tab? -
13.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Done button: 40 px tall
Cancel button: 44 px tall
Start button: 52 px tall
Back button: 60 px tall - 14.📅 An app team plans for 2 days, builds for 5 days, tests for 1 days and releases on 1 more day. How many days does the whole project take?
-
15.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Footer: 14 px
Hint: 11 px
Body text: 19 px - 16.🔢 In a food-order flow, which comes first: “pay for the order” or “check the cart”? (a) pay for the order (b) check the cart
-
17.🔀 What number does this shop app show?
let total = 680;
if (total > 500) {
total = total - 50;
}
show(total); -
18.🧪 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(400) → expected 40
Test 2: delivery(800) → expected 0
Test 3: delivery(600) → expected 0 - 19.🚀 Which version is newer: 1.4.16 or 1.4.3? (a) 1.4.16 (b) 1.4.3
- 20.Which of these helps everyone use the app? (a) tiny tap areas (b) colour as the only clue (c) labels on every icon (d) sudden loud sounds
- 21.True or false: the app starts up is a load event. (a) False (b) True
- 22.🔘 Our rule: buttons are at least 48 px tall. The Cancel button is 28 px tall. How many px taller must it be?
-
23.🔀 What does this battery rule show?
let battery = 91;
if (battery < 20) {
show("Low battery");
} else {
show("Battery OK");
} (a) Battery OK (b) Low battery -
24.👆 Two designs for the same task (each arrow is one tap). Which needs FEWER taps?
Design A: Home → Search → Shop → Pens → Item
Design B: Home → Results → Cart → Offers → Pay → Search (a) Design B (b) Design A -
25.🔀 What does this PIN rule show?
let pin = "74746";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) PIN saved (b) Use 4 digits -
26.🧪 How many of these test cases pass?
🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
function price(age) {
if (age < 9) {
return 50;
}
return 100;
}
Test 1: price(13) → expected 100
Test 2: price(16) → expected 100
Test 3: price(7) → expected 50 -
27.📊 Survey: which problem bugs you most? Which problem should your app solve first?
missing the bus: 6 votes
forgetting birthdays: 7 votes
losing water bottles: 3 votes (a) missing the bus (b) forgetting birthdays (c) losing water bottles -
28.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. tap the Quiz tab
2. tap the Me tab
3. open “Score card”
Which screen are you on now? (a) Lessons (b) Me (c) Quiz (d) Score card -
29.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Map”
2. tap Back
3. open “Match report”
4. tap Back
How many times must you tap Back to reach the main screen of this tab? - 30.👆 “On tap → do this” links an event to ___. (a) a charger (b) a web address (c) an action (d) a font
- 31.🔐 Is this permission request fair or too much: calling app → contacts? (a) fair (b) too much
- 32.💡 Does an app idea like a button with no action solve a real problem? (a) Yes (b) No
- 33.👆 Code that runs when an event happens is called a ___. (a) hashtag (b) handler (c) headline (d) header
- 34.🧰 How do you run (call) a function called greet? (a) greet() (b) #greet (c) run greet (d) greet[]
- 35.🧰 Why write a function? (a) to hide errors (b) to make code longer (c) to slow the app (d) to reuse code
-
36.👆 The user taps the button 2 times. What number does the label show now?
let score = 10;
button.onTap = function () {
score = score + 5;
label.text = score;
}; - 37.True or false: a big, easy tap area is good button design. (a) True (b) False
-
38.🔁 What number does this code show?
let steps = [9, 10, 11, 18, 4];
let total = 0;
for (let i = 0; i < steps.length; i++) {
total = total + steps[i];
}
show(total); -
39.🔁 What number does this code show?
let steps = [16, 8, 2];
let best = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] > best) {
best = steps[i];
}
}
show(best); - 40.🗒️ A to-do app with no “add a task” feature is ___. (a) missing a must-have (b) a nice extra (c) ready to release (d) well planned
Answer key
- at the bottom
- the build stage
- a load event
- so users do not get lost
- Welcome!
- 120
- the icon shapes
- a named block of code
- True
- test it again
- True
- 0
- 2
- 9
- 2
- check the cart
- 630
- 3
- 1.4.16
- labels on every icon
- True
- 20
- Battery OK
- Design A
- Use 4 digits
- 3
- forgetting birthdays
- Score card
- 0
- an action
- fair
- No
- handler
- greet()
- to reuse code
- 20
- True
- 52
- 16
- missing a must-have
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students