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.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let stars = 49; // start at 49
line 2: stars = stars + 3; // add 3
line 3: stars = stars * 3; // double it
line 4: stars = stars - 5; // take away 5
line 5: show(stars); // show it -
2.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Footer: 21 px
Hint: 22 px
Title: 13 px - 3.🔁 What does a loop do? (a) deletes code (b) draws icons (c) saves photos (d) repeats code
- 4.🔍 Which is the odd one out? (a) spot a problem to solve (b) list what users need (c) talk to possible users (d) add the buttons
-
5.🧪 What is the ACTUAL result of Test 3?
🚚 Rule: delivery is free (0) when the order is 300 or more; otherwise it costs 40.
function delivery(total) {
if (total >= 300) {
return 0;
}
return 40;
}
Test 1: delivery(300) → expected 0
Test 2: delivery(350) → expected 0
Test 3: delivery(200) → expected 40 - 6.Which of these app ideas solves a real problem? (a) a blank grey screen (b) a button with no action (c) a library due-date alert (d) an app that just says hi
- 7.📱 The word “app” is short for ___. (a) apparatus (b) appetite (c) application (d) appointment
- 8.👆 What kind of event is this: a 5-minute alarm ends? (a) a tap event (b) a load event (c) a timer event (d) a text event
- 9.🔢 In a photo-post flow, which comes first: “post the photo” or “take the photo”? (a) post the photo (b) take the photo
- 10.🔍 Which is the odd one out? (a) a cricket run chase (b) a word battle (c) a unit converter (d) a puzzle with levels
- 11.🎯 What is the best first step to learn what users need? (a) write the code (b) guess on your own (c) pick the colours (d) ask and watch users
- 12.🔁 A loop over a list of 5 items runs its body how many times? (a) 1 (b) 5 (c) 6 (d) 4
-
13.💾 What number does this code show?
let songs = ["Ocean", "Stars", "Rain", "Monsoon"];
songs.push("Sunrise");
songs.push("Kites");
show(songs.length); -
14.👆 The user taps the button 6 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 - 15.True or false: checking a password is processing. (a) True (b) False
- 16.True or false: a recipe finder is the best fit for a teen learning to make snacks. (a) True (b) False
-
17.🧪 What is the ACTUAL result of Test 3?
🚚 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(800) → expected 0
Test 2: delivery(450) → expected 40
Test 3: delivery(600) → expected 0 - 18.🗒️ What is a must-have feature? (a) one the app cannot skip (b) a nice extra (c) a colour theme (d) a sound effect
- 19.Which of these is a user need? (a) a dark mode switch (b) a search bar (c) “Small text is hard” (d) a reminder alarm
-
20.👆 The user taps the button 5 times. What number does the label show now?
let points = 6;
button.onTap = function () {
points = points + 4;
label.text = points;
}; - 21.Which of these is true of a tab bar? (a) hides extra links (b) opens a list of pages (c) sits at the bottom (d) goes to the last screen
-
22.📊 Survey: which problem bugs you most? How many more votes did “forgetting homework” get than “missing the bus”?
forgetting homework: 11 votes
missing the bus: 8 votes
losing water bottles: 19 votes -
23.🧪 How many of these test cases pass?
📝 Rule: a quiz is passed with 6 or more right answers.
function result(right) {
if (right >= 6) {
return "Pass";
}
return "Try again";
}
Test 1: result(3) → expected Try again
Test 2: result(7) → expected Pass
Test 3: result(6) → expected Pass -
24.📊 Survey: which problem bugs you most? How many more votes did “no quiet study place” get than “missing the bus”?
losing water bottles: 11 votes
missing the bus: 8 votes
no quiet study place: 22 votes -
25.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 50; // start at 50
line 2: score = score * 2; // double it
line 3: score = score - 2; // add 2
line 4: score = score - 4; // take away 4
line 5: show(score); // show it - 26.💾 Where should the app save a class leaderboard: on the phone or in the cloud? (a) on the phone (b) in the cloud
- 27.💾 Data saved only on the phone is lost when ___. (a) you send a message (b) the screen turns off (c) the phone is lost (d) the app is closed
- 28.🔢 In a sign-up flow, what comes right after “tap “Sign up””? (a) open the app (b) make a password (c) enter the code sent (d) type name and email
- 29.👥 A library app has 215 readers, 55 librarians and 20 volunteers as users. How many users does it have in all?
-
30.🧪 One test case fails. Which one?
🎟️ Rule: a ticket costs 50 for children under 8, and 100 for everyone else.
function price(age) {
if (age <= 8) {
return 50;
}
return 100;
}
Test 1: price(5) → expected 50
Test 2: price(8) → expected 100
Test 3: price(12) → expected 100 (a) Test 2 (b) Test 1 (c) Test 3 -
31.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Footer: 17 px
Body text: 23 px
Hint: 13 px
Caption: 17 px (a) Footer (b) Body text (c) Caption (d) Hint - 32.True or false: you connect the data at the build stage. (a) True (b) False
-
33.⚙️ What number does this app show?
let price = 20; // typed by the user
let qty = 5; // typed by the user
let total = price * qty;
show(total); - 34.🐞 Finding and fixing bugs is called ___. (a) decorating (b) designing (c) debugging (d) downloading
- 35.True or false: an app that just says hi solves a real problem. (a) False (b) True
- 36.Which of these is an input? (a) a buzz (vibration) (b) sorting the scores (c) tapping a button (d) working out a tip
-
37.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 320; // typed by the user
line 2: let off = 40; // typed by the user
line 3: let pay = price - off;
line 4: show(pay); (a) line 1 (b) line 3 (c) line 4 (d) line 2 - 38.🔘 Is this good or poor button design: grey text on grey? (a) good design (b) poor design
-
39.🧪 One test case fails. Which one?
📝 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(5) → expected Pass
Test 2: result(7) → expected Pass
Test 3: result(2) → expected Try again (a) Test 2 (b) Test 1 (c) Test 3 - 40.🔀 Why plan the user flow before building? (a) to add more taps (b) to skip testing (c) so each step is clear (d) to hide the buttons
Answer key
- 151
- 1
- repeats code
- add the buttons
- 40
- a library due-date alert
- application
- a timer event
- take the photo
- a unit converter
- ask and watch users
- 5
- 6
- OFF
- True
- True
- 0
- one the app cannot skip
- “Small text is hard”
- 26
- sits at the bottom
- 3
- 3
- 14
- 94
- in the cloud
- the phone is lost
- type name and email
- 290
- Test 2
- Hint
- True
- 100
- debugging
- False
- tapping a button
- line 3
- poor design
- Test 1
- so each step is clear
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students