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.🔁 A loop over a list of 5 items runs its body how many times? (a) 1 (b) 4 (c) 5 (d) 6
- 2.🔀 In this course’s code, which sign tests “is equal to”? (a) = (b) !== (c) => (d) ===
- 3.True or false: you try every button at the test stage. (a) True (b) False
-
4.🧪 What is the ACTUAL result of Test 1?
🎟️ Rule: a ticket costs 50 for children under 11, and 100 for everyone else.
function price(age) {
if (age < 11) {
return 50;
}
return 100;
}
Test 1: price(7) → expected 50
Test 2: price(18) → expected 100
Test 3: price(17) → expected 100 -
5.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(45, 4)); - 6.👥 A school app has 75 students, 280 teachers and 205 parents as users. Which user group is the biggest? (a) parents (b) students (c) teachers
-
7.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let coins = 38; // start at 38
line 2: coins = coins + 6; // add 4
line 3: coins = coins * 2; // double it
line 4: show(coins); // show it - 8.✏️ A box with a cross in a wireframe usually means ___. (a) delete this (b) an error (c) a closed app (d) a picture goes here
-
9.👆 The user types Arjun in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Hello, " + nameBox.text + "!";
}; (a) Hello! (b) Arjun (c) Hello, nameBox.text! (d) Hello, Arjun! -
10.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 38; // start at 35
line 2: points = points * 2; // double it
line 3: points = points - 4; // take away 4
line 4: show(points); // show it (a) line 2 (b) line 3 (c) line 1 - 11.🔀 What does if / else let an app do? (a) draw a screen (b) repeat forever (c) save a photo (d) pick one of two actions
-
12.🧪 How many of these test cases pass?
📝 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(7) → expected Pass
Test 2: result(2) → expected Try again
Test 3: result(9) → expected Pass - 13.🧩 Which input is best for choosing a volume level? (a) a title (b) a switch (c) a text box (d) a slider
-
14.🔁 What number does this code show?
let steps = [71, 79, 45, 62, 50];
let count = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] >= 70) {
count = count + 1;
}
}
show(count); -
15.📊 Survey: which problem bugs you most? How many more votes did “wasting pocket money” get than “missing the bus”?
missing the bus: 6 votes
forgetting birthdays: 20 votes
wasting pocket money: 18 votes -
16.💾 What number does this code show?
let songs = ["Stars", "Monsoon", "Ocean", "Kites"];
songs.push("Sunrise");
songs.push("Rain");
show(songs.length); - 17.🔢 In a quiz-app flow, which comes first: “pick an answer” or “read a question”? (a) read a question (b) pick an answer
- 18.🔢 In a photo-post flow, what comes right after “take the photo”? (a) add a filter (b) open the camera screen (c) post the photo (d) write a caption
- 19.🔢 After an app is released, which comes FIRST? (a) read user reviews (b) test it again (c) list what to fix (d) release an update
- 20.True or false: a class leaderboard fits saving in the cloud. (a) False (b) True
- 21.True or false: working out a tip is an input. (a) True (b) False
-
22.🔁 What number does this code show?
let scores = [3, 3, 15];
let best = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] > best) {
best = scores[i];
}
}
show(best); - 23.Which of these helps everyone use the app? (a) colour as the only clue (b) big touch targets (c) icons with no labels (d) tiny tap areas
- 24.🗒️ Why keep version 1 small? (a) to look bigger (b) to confuse users (c) to learn from users soon (d) to use up storage
- 25.🌗 Is black on pale grey easy or hard to read on a button? (a) hard to read (b) easy to read
- 26.🧩 What do we call one full page of an app? (a) a cable (b) a variable (c) a battery (d) a screen
-
27.🔀 What does this battery rule show?
let battery = 65;
if (battery < 20) {
show("Low battery");
} else {
show("Battery OK");
} (a) Low battery (b) Battery OK -
28.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. open “Match report”
2. tap Back
3. open “Score card”
How many times must you tap Back to reach the main screen of this tab? - 29.🔍 Which is the odd one out? (a) icons with no labels (b) tiny tap areas (c) sudden loud sounds (d) text that can grow
- 30.🔢 In a sign-up flow, which comes LAST? (a) open the app (b) make a password (c) see the home screen (d) type name and email
-
31.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let lives = 45; // start at 45
line 2: lives = lives * 2; // double it
line 3: lives = lives + 8; // add 6
line 4: show(lives); // show it - 32.🔘 Is this good or poor button design: icons with no meaning? (a) poor design (b) good design
- 33.True or false: a website has a home-screen icon. (a) True (b) False
-
34.🧩 Which of these is a button on this screen?
[title] New Note
[button] Next
[text box] City
[switch] Remind me
[text box] Notes (a) City (b) Remind me (c) Next (d) Notes - 35.Which of these fits saving on the phone? (a) a shared to-do list (b) your last game level (c) a class leaderboard (d) photos on two devices
-
36.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let stars = 45; // start at 43
line 2: stars = stars + 2; // add 2
line 3: stars = stars + 4; // add 4
line 4: stars = stars + 3; // add 3
line 5: show(stars); // show it (a) line 1 (b) line 4 (c) line 2 (d) line 3 -
37.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. open “Map”
2. tap Back
3. open “Map”
How many times must you tap Back to reach the main screen of this tab? - 38.🧭 Which part of navigation switches main sections? (a) a tab bar (b) a menu button (c) the back button
-
39.🧪 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(550) → expected 40
Test 2: delivery(800) → expected 0
Test 3: delivery(600) → expected 0 (a) Test 2 (b) Test 3 (c) Test 1 -
40.👆 Two designs for the same task (each arrow is one tap). Which needs FEWER taps?
Design A: Home → Shop → Cart → Offers
Design B: Home → Cart → Shop (a) Design B (b) Design A
Answer key
- 5
- ===
- True
- 50
- 180
- teachers
- 84
- a picture goes here
- Hello, Arjun!
- line 1
- pick one of two actions
- 3
- a slider
- 2
- 12
- 6
- read a question
- add a filter
- read user reviews
- True
- False
- 15
- big touch targets
- to learn from users soon
- easy to read
- a screen
- Battery OK
- 1
- text that can grow
- see the home screen
- 96
- poor design
- False
- Next
- your last game level
- line 1
- 1
- a tab bar
- Test 3
- Design B
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students