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 the ACTUAL result of Test 1?
🎟️ 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(14) → expected 100
Test 2: price(11) → expected 100
Test 3: price(7) → expected 50 - 2.True or false: a final design looks like the real app. (a) True (b) False
- 3.👥 A school app has 80 students, 30 teachers and 95 parents as users. How many more students than teachers are there?
-
4.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let coins = 36; // start at 36
line 2: coins = coins * 2; // double it
line 3: coins = coins - 2; // take away 2
line 4: coins = coins * 3; // double it
line 5: show(coins); // show it -
5.🔀 What does this PIN rule show?
let pin = "78824";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) Use 4 digits (b) PIN saved - 6.🌗 Is dark blue on black easy or hard to read on a button? (a) hard to read (b) easy to read
- 7.🧭 Which part of navigation shows 3 to 5 icons? (a) a tab bar (b) a menu button (c) the back button
-
8.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let coins = 47; // start at 45
line 2: coins = coins + 3; // add 3
line 3: coins = coins + 4; // add 4
line 4: coins = coins - 1; // take away 1
line 5: show(coins); // show it (a) line 4 (b) line 2 (c) line 1 (d) line 3 -
9.🔁 What is the LAST line this code shows?
let names = ["Meera", "Arjun", "Riya", "Kabir"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Riya (b) Hi, Kabir (c) Hi, Meera (d) Hi, Arjun -
10.🔁 What is the LAST line this code shows?
let names = ["Aman", "Meera", "Arjun"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Meera (b) Hi, Aman (c) Hi, Arjun - 11.💾 Where should the app save photos on two devices: on the phone or in the cloud? (a) on the phone (b) in the cloud
- 12.🔢 In a photo-post flow, which comes first: “write a caption” or “open the camera screen”? (a) write a caption (b) open the camera screen
-
13.🧪 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(1100) → expected 0
Test 2: delivery(600) → expected 40
Test 3: delivery(1200) → expected 0 -
14.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 39; // start at 37
line 2: score = score + 3; // add 3
line 3: score = score - 1; // take away 1
line 4: score = score + 3; // add 3
line 5: show(score); // show it - 15.True or false: a step counter is a health app. (a) False (b) True
-
16.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. tap the Home tab
2. open “Edit photo”
3. open “Edit photo”
4. tap the Profile tab
Which screen are you on now? (a) Home (b) Profile (c) Search (d) Edit photo -
17.🧪 What is the ACTUAL result of Test 2?
🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
function price(age) {
if (age <= 9) {
return 50;
}
return 100;
}
Test 1: price(14) → expected 100
Test 2: price(12) → expected 100
Test 3: price(5) → expected 50 - 18.🔍 Which is the odd one out? (a) a beep sound (b) a pop-up message (c) adding up a bill (d) a result on screen
-
19.🔁 What number does this code show?
let scores = [15, 13, 4, 7, 9];
let best = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] > best) {
best = scores[i];
}
}
show(best); - 20.🎨 Who should you test the UX with? (a) real users (b) only yourself (c) the app icon (d) nobody
-
21.⚙️ Which line does the processing (works out the answer)?
line 1: let km = 9; // typed by the user
line 2: let metres = km * 1000;
line 3: show(metres); (a) line 3 (b) line 1 (c) line 2 -
22.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. tap the Feed tab
2. open “Help page”
3. tap Back
Which screen are you on now? (a) Help page (b) Chat (c) Settings (d) Feed - 23.🔢 When you make an app, which comes first: “build the app” or “plan the screens”? (a) plan the screens (b) build the app
-
24.👆 The user taps the button 2 times. What number does the label show now?
let stars = 2;
button.onTap = function () {
stars = stars + 5;
label.text = stars;
}; - 25.Which of these is a user need? (a) a reminder alarm (b) a dark mode switch (c) “I forget my homework” (d) a share button
- 26.True or false: tap to Save is a button. (a) True (b) False
- 27.🗒️ You are planning version 1 of a pocket-money tracker. Which feature is a MUST-HAVE? (a) show the balance (b) export to a file (c) pie-chart colours (d) savings stickers
- 28.Which of these is true of an app? (a) needs no installing (b) has a web address (c) comes from an app store (d) opens from a link
-
29.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Body text: 27 px
Title: 25 px
Menu: 28 px
Hint: 17 px
Label: 11 px (a) Menu (b) Body text (c) Label (d) Title -
30.👆 Two designs for the same task (each arrow is one tap). Which needs FEWER taps?
Design A: Home → Size → Search → Address
Design B: Home → Results → Pay → Pens → Item → Confirm → Offers (a) Design A (b) Design B - 31.🔢 In a quiz-app flow, what comes right after “see if it is right”? (a) tap “Start quiz” (b) pick an answer (c) see the final score (d) read a question
-
32.🗒️ Version 1 of a pocket-money tracker must be ready in 14 days. How many days are left for extras after the must-haves?
add money received: 4 days
add money spent: 2 days
show the balance: 3 days -
33.📊 Survey: which problem bugs you most? How many students voted in all?
wasting pocket money: 15 votes
no quiet study place: 10 votes
missing the bus: 6 votes - 34.📱 Which one needs no installing: an app or a website? (a) a website (b) an app
- 35.✏️ What is the easiest way to draw a first wireframe? (a) pencil and paper (b) a microphone (c) a 3D printer (d) a phone case
- 36.🌗 Is black on yellow easy or hard to read on a button? (a) hard to read (b) easy to read
- 37.🎨 Fewer taps to finish a task usually means ___. (a) more colours (b) better UX (c) a bigger app (d) worse UX
-
38.💾 What number does this code show?
let notes = ["Maths", "Sports"];
notes.push("Art");
notes.push("Hindi");
show(notes.length); -
39.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(2) + points(1)); - 40.True or false: a box to type a name is a screen. (a) True (b) False
Answer key
- 100
- True
- 50
- 140
- Use 4 digits
- hard to read
- a tab bar
- line 1
- Hi, Kabir
- Hi, Arjun
- in the cloud
- open the camera screen
- 3
- 44
- True
- Profile
- 100
- adding up a bill
- 15
- real users
- line 2
- Feed
- plan the screens
- 12
- “I forget my homework”
- True
- show the balance
- comes from an app store
- Label
- Design A
- see the final score
- 5
- 31
- a website
- pencil and paper
- easy to read
- better UX
- 4
- 40
- False
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students