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.🛠️ At which stage do you pick the features? (a) the release stage (b) the idea stage (c) the plan stage (d) the test stage
- 2.♿ A screen has 6 icon buttons. Only 2 of them have a text label for screen readers. How many still need a label?
-
3.🧩 How many buttons does this app screen have?
[title] Add Homework
[button] Cancel
[text box] Notes
[switch] Dark mode
[text box] Phone
[button] Save
[text box] Name
[button] Start - 4.True or false: a wireframe is a quick sketch. (a) False (b) True
- 5.Which of these is a screen? (a) tap to Save (b) tap to Start (c) tap to Send (d) the home page of an app
-
6.👆 Two designs for the same task (each arrow is one tap). How many taps does the shorter design save?
Design A: Home → Search → Address → Shop
Design B: Home → Item → Shop → Offers → Pens - 7.True or false: a website has a home-screen icon. (a) True (b) False
- 8.Which of these is true of an app? (a) opens in a web browser (b) needs no installing (c) has a web address (d) updates from the store
-
9.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Hint: 14 px
Menu: 10 px
Label: 18 px - 10.Which of these is a button? (a) a box to type a name (b) tap to Start (c) a date picker (d) a switch for dark mode
- 11.🎯 Is this a user need or a feature: a dark mode switch? (a) a feature (b) a user need
-
12.🔁 What is the LAST line this code shows?
let names = ["Meera", "Arjun", "Aman", "Kabir", "Zoya"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Arjun (b) Hi, Zoya (c) Hi, Aman (d) Hi, Meera -
13.🧪 One test case fails. Which one?
🚚 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(600) → expected 0
Test 2: delivery(450) → expected 40
Test 3: delivery(800) → expected 0 (a) Test 1 (b) Test 2 (c) Test 3 -
14.🗒️ Version 1 of a pocket-money tracker must be ready in 7 days. How many days are left for extras after the must-haves?
add money received: 1 days
add money spent: 1 days
show the balance: 2 days -
15.🔀 What does this PIN rule show?
let pin = "7488";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) PIN saved (b) Use 4 digits -
16.🗒️ Version 1 of a pocket-money tracker must be ready in 17 days. How many days are left for extras after the must-haves?
add money received: 3 days
add money spent: 4 days
show the balance: 4 days - 17.Which of these is true of a final design? (a) has the real colours (b) is a quick sketch (c) has no real colours (d) shows where things go
- 18.🚀 A change from version 1.4.2 to 1.4.3 usually means ___. (a) a big redesign (b) a bug fix (c) a new feature (d) a new app
- 19.True or false: “text that can grow” helps everyone use the app. (a) True (b) False
- 20.🔁 What does a loop do? (a) saves photos (b) deletes code (c) repeats code (d) draws icons
- 21.♿ What does a screen reader do? (a) reads the screen aloud (b) makes text tiny (c) takes photos (d) plays music
-
22.🧪 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(600) → expected 40
Test 2: delivery(850) → expected 0
Test 3: delivery(700) → expected 0 (a) Test 1 (b) Test 2 (c) Test 3 -
23.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(2) + points(0)); - 24.Which of these is true of a tab bar? (a) hides extra links (b) opens a list of pages (c) undoes one move (d) sits at the bottom
- 25.💡 An app that tries to do everything at once is usually ___. (a) easy to build (b) very small (c) hard to use (d) finished fast
-
26.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let stars = 32; // start at 31
line 2: stars = stars - 5; // take away 5
line 3: stars = stars + 6; // add 6
line 4: show(stars); // show it - 27.True or false: the button colours is about UX (the experience). (a) False (b) True
-
28.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let coins = 31; // start at 30
line 2: coins = coins + 6; // add 6
line 3: coins = coins + 4; // add 4
line 4: coins = coins + 4; // add 4
line 5: show(coins); // show it - 29.🔁 In for (let i = 0; i < 3; i++), which values does i take? (a) 3 (b) 1, 2, 3 (c) 0, 1, 2, 3 (d) 0, 1, 2
- 30.Which of these is about UX (the experience)? (a) the button colours (b) the theme colours (c) the font size (d) how easy sign-up is
-
31.🧪 One test case fails. Which one?
🚚 Rule: delivery is free (0) when the order is 400 or more; otherwise it costs 40.
function delivery(total) {
if (total > 400) {
return 0;
}
return 40;
}
Test 1: delivery(650) → expected 0
Test 2: delivery(250) → expected 40
Test 3: delivery(400) → expected 0 (a) Test 2 (b) Test 3 (c) Test 1 - 32.🧭 Which part of navigation switches main sections? (a) a tab bar (b) a menu button (c) the back button
- 33.True or false: taking a photo is an output. (a) True (b) False
- 34.♿ Showing right or wrong only in red and green is a problem for ___. (a) the server (b) fast typists (c) the battery (d) colour-blind users
-
35.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let coins = 35; // start at 35
line 2: coins = coins + 4; // add 4
line 3: coins = coins - 6; // add 6
line 4: coins = coins + 5; // add 5
line 5: show(coins); // show it (a) line 4 (b) line 3 (c) line 1 (d) line 2 - 36.🔘 Our rule: buttons are at least 48 px tall. The Send button is 36 px tall. How many px taller must it be?
-
37.🧩 Which of these is a button on this screen?
[title] Settings
[text box] Name
[button] Cancel
[switch] Show hints
[button] Next (a) Name (b) Show hints (c) Cancel -
38.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 35; // 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 3 (d) line 4 - 39.🔐 Which permission does a guitar tuner really need? (a) location (b) the camera (c) the microphone (d) contacts
-
40.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let stars = 44; // start at 44
line 2: stars = stars + 2; // double it
line 3: stars = stars + 3; // add 3
line 4: stars = stars * 2; // double it
line 5: show(stars); // show it
Answer key
- the plan stage
- 4
- 3
- True
- the home page of an app
- 1
- False
- updates from the store
- 2
- tap to Start
- a feature
- Hi, Zoya
- Test 1
- 3
- PIN saved
- 6
- has the real colours
- a bug fix
- True
- repeats code
- reads the screen aloud
- Test 3
- 30
- sits at the bottom
- hard to use
- 32
- False
- 45
- 0, 1, 2
- how easy sign-up is
- Test 3
- a tab bar
- False
- colour-blind users
- line 3
- 12
- Cancel
- line 3
- the microphone
- 182
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students