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.💾 What is a variable? (a) a phone setting (b) a picture (c) a type of screen (d) a named box for a value
- 2.🔘 Is this good or poor button design: strong colour contrast? (a) good design (b) poor design
- 3.Which of these is true of a menu button? (a) sits at the bottom (b) hides extra links (c) shows 3 to 5 icons (d) switches main sections
-
4.🔁 What number does this code show?
let runs = [2, 3, 2, 18, 15];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); -
5.🧩 Which of these is a button on this screen?
[title] Add Homework
[text box] Email
[button] Start
[text box] Phone
[button] Cancel
[button] Help (a) Start (b) Email (c) Phone - 6.🔍 Which is the odd one out? (a) a result on screen (b) checking a password (c) a pop-up message (d) a buzz (vibration)
-
7.🧪 How many of these test cases pass?
🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
function delivery(total) {
if (total >= 800) {
return 0;
}
return 40;
}
Test 1: delivery(750) → expected 40
Test 2: delivery(800) → expected 0
Test 3: delivery(950) → expected 0 - 8.🧪 Values right at a limit, like age 12 for “under 12”, are called ___. (a) old cases (b) easy cases (c) edge cases (d) phone cases
-
9.⚙️ What number does this app show?
let price = 570; // typed by the user
let off = 30; // typed by the user
let pay = price - off;
show(pay); - 10.🔢 In a sign-up flow, which comes first: “tap “Sign up”” or “open the app”? (a) open the app (b) tap “Sign up”
- 11.🔘 Is this good or poor button design: space between buttons? (a) poor design (b) good design
-
12.🔁 What number does this code show?
let steps = [29, 34, 22];
let count = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] >= 60) {
count = count + 1;
}
}
show(count); - 13.🔐 Which permission does a weather-near-me app really need? (a) location (b) the camera (c) the microphone (d) contacts
-
14.🧰 What does this code show?
function greet(name) {
return "Well done, " + name + "!";
}
show(greet("Kabir")); (a) Well done, name! (b) Well done, Kabir! (c) greet (d) Kabir -
15.👆 The user taps the button 3 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 - 16.🧪 A test case is an input together with its ___. (a) screen colour (b) font size (c) app icon (d) expected result
- 17.🔢 In a photo-post flow, which comes LAST? (a) open the camera screen (b) write a caption (c) take the photo (d) post the photo
-
18.📊 Survey: which problem bugs you most? How many students voted in all?
forgetting birthdays: 7 votes
losing water bottles: 5 votes
missing the bus: 8 votes - 19.🔍 Which is the odd one out? (a) typing your age (b) tapping a button (c) taking a photo (d) a pop-up message
-
20.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 35; // start at 35
line 2: points = points + 6; // add 6
line 3: points = points + 4; // add 2
line 4: points = points + 6; // add 6
line 5: show(points); // show it (a) line 2 (b) line 1 (c) line 3 (d) line 4 -
21.🧰 What number does this code show?
function double(n) {
return n * 2;
}
show(double(19)); -
22.🧪 One test case fails. Which one?
🚚 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(600) → expected 0
Test 3: delivery(100) → expected 40 (a) Test 2 (b) Test 3 (c) Test 1 - 23.Which of these fits saving in the cloud? (a) a draft you are typing (b) a class leaderboard (c) your last game level (d) the sound on/off setting
- 24.🐞 A comment in code (after //) is for ___. (a) the app store (b) the phone screen (c) people reading the code (d) the battery
- 25.💡 Which app idea solves this problem: nobody knows whose bag it is? (a) a homework planner (b) a lost-and-found board (c) a medicine reminder (d) a study-room finder
- 26.🔘 Our rule: buttons are at least 48 px tall. The Cancel button is 20 px tall. How many px taller must it be?
- 27.True or false: you let friends try it at the test stage. (a) True (b) False
- 28.🌗 Is dark blue on black easy or hard to read on a button? (a) easy to read (b) hard to read
-
29.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 37; // start at 37
line 2: points = points - 2; // take away 2
line 3: points = points - 4; // add 4
line 4: show(points); // show it (a) line 2 (b) line 1 (c) line 3 - 30.Which of these is an input? (a) tap to Send (b) your saved notes (c) the game-over page (d) a switch for dark mode
-
31.🧰 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(8) + fee(12)); -
32.🖼️ In this wireframe (top to bottom), which part is at the very bottom?
[ Add button ]
[ filter buttons ]
[ Save button ]
[ big picture ]
[ top bar ] (a) top bar (b) Add button (c) big picture (d) filter buttons - 33.True or false: a wireframe shows the real fonts. (a) False (b) True
- 34.True or false: an app updates from the store. (a) True (b) False
-
35.🧩 How many inputs (text boxes, switches and sliders) does this screen have?
[title] Add Homework
[slider] Text size
[text box] Email
[button] Done -
36.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let points = 42; // start at 41
line 2: points = points - 1; // take away 1
line 3: points = points * 2; // double it
line 4: show(points); // show it - 37.📱 Which one has a web address: an app or a website? (a) a website (b) an app
- 38.🐞 What is a bug? (a) a new feature (b) a mistake in the code (c) a fast phone (d) a nice icon
- 39.🔢 In a food-order flow, which comes first: “pick a dish” or “track the order”? (a) track the order (b) pick a dish
-
40.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 40; // start at 40
line 2: score = score - 1; // take away 1
line 3: score = score - 7; // take away 4
line 4: score = score - 2; // take away 2
line 5: show(score); // show it (a) line 3 (b) line 2 (c) line 4 (d) line 1
Answer key
- a named box for a value
- good design
- hides extra links
- 40
- Start
- checking a password
- 3
- edge cases
- 540
- open the app
- good design
- 0
- location
- Well done, Kabir!
- ON
- expected result
- post the photo
- 20
- a pop-up message
- line 3
- 38
- Test 1
- a class leaderboard
- people reading the code
- a lost-and-found board
- 28
- True
- hard to read
- line 3
- a switch for dark mode
- 40
- top bar
- False
- True
- 2
- 82
- a website
- a mistake in the code
- pick a dish
- line 3
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students