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.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let stars = 34; // start at 34
line 2: stars = stars + 5; // add 3
line 3: stars = stars - 3; // take away 3
line 4: show(stars); // show it - 2.🛠️ At which stage do you try every button? (a) the release stage (b) the plan stage (c) the idea stage (d) the test stage
-
3.💾 What number does this code show?
let points = 9;
points = points - 2;
points = points + 1;
show(points); -
4.👆 The user taps the button 5 times. What number does the label show now?
let points = 4;
button.onTap = function () {
points = points + 2;
label.text = points;
}; -
5.🧩 How many inputs (text boxes, switches and sliders) does this screen have?
[title] Order Snacks
[text box] Notes
[button] Cancel
[text box] Name
[button] Start -
6.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Back button: 60 px tall
Send button: 40 px tall
Cancel button: 32 px tall - 7.📱 Which one has a web address: an app or a website? (a) a website (b) an app
-
8.🧪 One test case fails. Which one?
📝 Rule: a quiz is passed with 8 or more right answers.
function result(right) {
if (right > 8) {
return "Pass";
}
return "Try again";
}
Test 1: result(5) → expected Try again
Test 2: result(10) → expected Pass
Test 3: result(8) → expected Pass (a) Test 3 (b) Test 2 (c) Test 1 - 9.Which of these makes the app harder to use? (a) strong colour contrast (b) text that can grow (c) labels on every icon (d) sudden loud sounds
-
10.🔁 What is the LAST line this code shows?
let names = ["Meera", "Zoya", "Riya", "Kabir"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Zoya (b) Hi, Meera (c) Hi, Kabir (d) Hi, Riya - 11.🗒️ A to-do app with no “add a task” feature is ___. (a) ready to release (b) a nice extra (c) missing a must-have (d) well planned
- 12.💡 An app that tries to do everything at once is usually ___. (a) hard to use (b) finished fast (c) very small (d) easy to build
- 13.🔢 In a photo-post flow, what comes right after “add a filter”? (a) post the photo (b) open the camera screen (c) take the photo (d) write a caption
- 14.🔀 What does >= mean? (a) greater than or equal (b) not equal (c) smaller or equal (d) less than
-
15.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let coins = 50; // start at 50
line 2: coins = coins - 3; // take away 2
line 3: coins = coins - 2; // take away 2
line 4: coins = coins + 3; // add 3
line 5: show(coins); // show it -
16.🧪 How many of these test cases pass?
🚚 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(600) → expected 0
Test 2: delivery(300) → expected 40
Test 3: delivery(500) → expected 0 - 17.True or false: a spelling coach is a learning app. (a) False (b) True
-
18.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Video”
2. tap Back
3. open “Badges”
4. open “Edit photo”
How many times must you tap Back to reach the main screen of this tab? - 19.True or false: the app starts up is a timer event. (a) True (b) False
- 20.🧭 Why should every screen show where you are? (a) to look busy (b) so users do not get lost (c) to hide the menu (d) to use more battery
- 21.🎨 Is this about UI or UX: whether users get lost? (a) UX (b) UI
-
22.⚙️ What number does this app show?
let km = 7; // typed by the user
let metres = km * 1000;
show(metres); - 23.🎯 An app for “everyone” with no clear user usually ___. (a) needs no testing (b) wins every prize (c) is easy to build (d) helps nobody well
- 24.🗒️ In MVP, the M stands for ___. (a) minimum (b) music (c) mobile (d) maximum
- 25.🎯 Is this a user need or a feature: “I forget my homework”? (a) a feature (b) a user need
-
26.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(20, 5)); -
27.🖼️ How many parts (boxes) does this wireframe have?
[ list of items ]
[ tab bar ]
[ filter buttons ]
[ big picture ] -
28.🧩 How many buttons does this app screen have?
[title] Edit Profile
[button] Send
[text box] Age
[switch] Dark mode
[text box] Email -
29.⚙️ What number does this app show?
let price = 25; // typed by the user
let qty = 2; // typed by the user
let total = price * qty;
show(total); - 30.🗒️ The first small, working version of an app is often called an ___. (a) FAQ (b) MVP (c) CPU (d) URL
- 31.🔁 In for (let i = 0; i < 3; i++), which values does i take? (a) 1, 2, 3 (b) 3 (c) 0, 1, 2 (d) 0, 1, 2, 3
-
32.🖼️ In this wireframe (top to bottom), which part is at the very bottom?
[ title text ]
[ big picture ]
[ top bar ]
[ menu icon ]
[ filter buttons ] (a) top bar (b) menu icon (c) big picture (d) filter buttons - 33.True or false: a wireframe uses the final pictures. (a) False (b) True
- 34.True or false: one second passes is a timer event. (a) False (b) True
- 35.True or false: notes to read offline fits saving on the phone. (a) False (b) True
- 36.🧩 What does a button do when you tap it? (a) saves the battery (b) changes the phone (c) starts an action (d) shows the time
- 37.🧩 Which input is best for typing your name? (a) a switch (b) a picture (c) a text box (d) a slider
- 38.👥 A cricket club app has 30 players, 170 coaches and 65 fans as users. Which user group is the biggest? (a) players (b) coaches (c) fans
- 39.🧰 What does return do in a function? (a) sends back a value (b) repeats the code (c) deletes the app (d) closes the screen
-
40.🧰 A museum app works out the entry fee. What number does this code show?
function fee(age) {
if (age < 5) {
return 0;
}
return 40;
}
show(fee(2) + fee(4));
Answer key
- 36
- the test stage
- 8
- 14
- 2
- 1
- a website
- Test 3
- sudden loud sounds
- Hi, Kabir
- missing a must-have
- hard to use
- write a caption
- greater than or equal
- 48
- 2
- True
- 2
- False
- so users do not get lost
- UX
- 7000
- helps nobody well
- minimum
- a user need
- 100
- 4
- 1
- 50
- MVP
- 0, 1, 2
- filter buttons
- False
- True
- True
- starts an action
- a text box
- coaches
- sends back a value
- 0
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students