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.👆 The user types Kabir in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Welcome, " + nameBox.text + "!";
}; (a) Welcome, nameBox.text! (b) Kabir (c) Welcome! (d) Welcome, Kabir! -
2.🧪 What is the ACTUAL result of Test 1?
🎟️ Rule: a ticket costs 50 for children under 13, and 100 for everyone else.
function price(age) {
if (age < 13) {
return 50;
}
return 100;
}
Test 1: price(17) → expected 100
Test 2: price(9) → expected 50
Test 3: price(13) → expected 100 - 3.True or false: adding up a bill is an input. (a) True (b) False
- 4.Which of these is true of a menu button? (a) switches main sections (b) opens a list of pages (c) undoes one move (d) shows 3 to 5 icons
-
5.📊 Survey: which problem bugs you most? Which problem should your app solve first?
forgetting birthdays: 14 votes
forgetting homework: 18 votes
missing the bus: 16 votes (a) missing the bus (b) forgetting birthdays (c) forgetting homework -
6.🧪 One test case fails. Which one?
🚚 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(400) → expected 40
Test 2: delivery(650) → expected 0
Test 3: delivery(500) → expected 0 (a) Test 3 (b) Test 2 (c) Test 1 - 7.Which of these happens at the release stage? (a) try every button (b) put it on an app store (c) write down the bugs (d) sketch the screens
- 8.True or false: tapping a button is an input. (a) True (b) False
- 9.🧭 Where is a tab bar usually placed in a phone app? (a) inside a button (b) at the bottom (c) nowhere (d) in the middle
- 10.♿ Accessibility means an app works for ___. (a) only the coder (b) only experts (c) nobody (d) everyone
-
11.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 38; // start at 38
line 2: points = points + 5; // add 5
line 3: points = points - 4; // take away 3
line 4: show(points); // show it (a) line 3 (b) line 2 (c) line 1 - 12.Which of these is true of a wireframe? (a) looks like the real app (b) uses plain grey boxes (c) has the real colours (d) shows the real fonts
-
13.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 45; // start at 44
line 2: score = score + 5; // add 5
line 3: score = score + 3; // add 3
line 4: show(score); // show it -
14.🔁 What number does this code show?
let marks = [5, 9, 8, 13, 8];
let best = 0;
for (let i = 0; i < marks.length; i++) {
if (marks[i] > best) {
best = marks[i];
}
}
show(best); - 15.True or false: one second passes is a text event. (a) False (b) True
-
16.🧩 How many inputs (text boxes, switches and sliders) does this screen have?
[title] Settings
[text box] Notes
[text box] Due date
[button] Done
[button] Save - 17.♿ Showing right or wrong only in red and green is a problem for ___. (a) the server (b) colour-blind users (c) fast typists (d) the battery
- 18.🐞 Finding and fixing bugs is called ___. (a) designing (b) debugging (c) downloading (d) decorating
-
19.🧪 What is the ACTUAL result of Test 2?
🚚 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(500) → expected 0
Test 2: delivery(350) → expected 40
Test 3: delivery(400) → expected 0 - 20.🔢 When you make an app, which comes FIRST? (a) release it (b) get an idea (c) test the app (d) build the app
- 21.🔀 What does if / else let an app do? (a) draw a screen (b) save a photo (c) pick one of two actions (d) repeat forever
-
22.🚀 Which of these versions is the NEWEST?
3.26.6, 4.3.0, 4.13.3, 4.15.4 (a) 3.26.6 (b) 4.3.0 (c) 4.13.3 (d) 4.15.4 -
23.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. tap the Settings tab
2. tap the Chat tab
3. open “Map”
4. tap Back
5. open “Score card”
How many times must you tap Back to reach the main screen of this tab? - 24.True or false: a selfie sticker app needs the camera. (a) True (b) False
- 25.⚙️ In an app, is a result on screen an input, processing or an output? (a) processing (b) output (c) input
- 26.👆 Which of these is an event? (a) the icon colour (b) the font size (c) the user taps a button (d) a list of names
-
27.🧪 What is the ACTUAL result of Test 3?
🚚 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(500) → expected 0
Test 2: delivery(700) → expected 0
Test 3: delivery(400) → expected 40 - 28.True or false: a buzz (vibration) is processing. (a) True (b) False
-
29.🧪 What is the ACTUAL result of Test 2?
🎟️ Rule: a ticket costs 50 for children under 14, and 100 for everyone else.
function price(age) {
if (age <= 14) {
return 50;
}
return 100;
}
Test 1: price(13) → expected 50
Test 2: price(19) → expected 100
Test 3: price(17) → expected 100 - 30.Which of these app ideas solves a real problem? (a) a button with no action (b) a page of random dots (c) a medicine reminder (d) an app that just says hi
-
31.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. open “Help page”
2. tap the Profile tab
3. tap the Home tab
How many times must you tap Back to reach the main screen of this tab? - 32.Which of these fits saving on the phone? (a) a class leaderboard (b) chat messages to friends (c) a shared to-do list (d) the sound on/off setting
-
33.🔁 What number does this code show?
let steps = [13, 5, 16];
let best = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] > best) {
best = steps[i];
}
}
show(best); -
34.🧪 One test case fails. Which one?
🚚 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(400) → expected 40
Test 2: delivery(500) → expected 0
Test 3: delivery(650) → expected 0 (a) Test 2 (b) Test 1 (c) Test 3 -
35.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Done button: 64 px tall
Start button: 56 px tall
Send button: 56 px tall - 36.🧪 What is the actual result of a test? (a) the test’s number (b) the app’s name (c) what we hope for (d) what the app really does
- 37.🔁 A loop over a list of 5 items runs its body how many times? (a) 6 (b) 1 (c) 4 (d) 5
- 38.🔍 Which is the odd one out? (a) working out a tip (b) typing your age (c) taking a photo (d) speaking a command
- 39.🧭 Which part of navigation goes to the last screen? (a) a menu button (b) a tab bar (c) the back button
- 40.🔘 Is this good or poor button design: a clear word like Save? (a) poor design (b) good design
Answer key
- Welcome, Kabir!
- 100
- False
- opens a list of pages
- forgetting homework
- Test 3
- put it on an app store
- True
- at the bottom
- everyone
- line 3
- uses plain grey boxes
- 53
- 13
- False
- 2
- colour-blind users
- debugging
- 40
- get an idea
- pick one of two actions
- 4.15.4
- 1
- True
- output
- the user taps a button
- 40
- False
- 100
- a medicine reminder
- 0
- the sound on/off setting
- 16
- Test 2
- 3
- what the app really does
- 5
- working out a tip
- the back button
- good design
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students