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.🔀 In a good flow, each screen should lead to ___. (a) a random page (b) the same screen (c) a clear next step (d) a dead end
-
2.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 33; // start at 32
line 2: score = score * 2; // double it
line 3: score = score + 3; // add 3
line 4: score = score * 2; // double it
line 5: show(score); // show it (a) line 2 (b) line 3 (c) line 1 (d) line 4 - 3.🔐 Which permission does a voice recorder really need? (a) location (b) contacts (c) the microphone (d) the camera
- 4.🗒️ You are planning version 1 of a quiz app. Which feature can WAIT for a later version? (a) confetti effects (b) show the score (c) show a question (d) check the answer
-
5.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Help button: 40 px tall
Save button: 36 px tall
Cancel button: 52 px tall
Next button: 32 px tall -
6.🔀 What number does this shop app show?
let total = 490;
if (total > 500) {
total = total - 50;
}
show(total); - 7.Which of these requests is fair? (a) torch → contacts (b) map app → location (c) quiz app → microphone (d) calculator → location
-
8.👆 The user taps the button 6 times. What does the label show now?
let on = false;
button.onTap = function () {
on = !on;
if (on) {
label.text = "ON";
} else {
label.text = "OFF";
}
}; (a) OFF (b) ON -
9.🖼️ How many parts (boxes) does this wireframe have?
[ Add button ]
[ Save button ]
[ title text ]
[ search box ]
[ big picture ]
[ menu icon ] - 10.True or false: an app updates from the store. (a) True (b) False
-
11.🔀 What number does this shop app show?
let total = 520;
if (total > 500) {
total = total - 50;
}
show(total); -
12.🔁 What is the LAST line this code shows?
let names = ["Meera", "Aman", "Arjun", "Zoya", "Riya"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Riya (b) Hi, Aman (c) Hi, Arjun (d) Hi, Meera - 13.🔀 With if / else if / else, how many parts run? (a) only one (b) all of them (c) two (d) none
- 14.True or false: the game-over page is a screen. (a) True (b) False
- 15.🔀 Why plan the user flow before building? (a) to skip testing (b) to hide the buttons (c) so each step is clear (d) to add more taps
-
16.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Start button: 60 px tall
Back button: 64 px tall
Save button: 48 px tall - 17.🧭 About how many tabs suit a tab bar best? (a) 20 (b) 3 to 5 (c) 1 (d) 10 to 12
-
18.📊 Survey: which problem bugs you most? Which problem should your app solve first?
no quiet study place: 13 votes
forgetting birthdays: 8 votes
missing the bus: 15 votes (a) no quiet study place (b) forgetting birthdays (c) missing the bus - 19.🗒️ You are planning version 1 of a bus tracker. Which feature is a MUST-HAVE? (a) pick your bus stop (b) rate the driver (c) a dark mode (d) change the bus icon
- 20.🔢 After an app is released, which comes first: “list what to fix” or “fix and improve”? (a) fix and improve (b) list what to fix
-
21.💾 What does this code show? (Positions start at 0.)
let songs = ["Ocean", "Rain", "Monsoon", "Stars", "Sunrise"];
show(songs[4]); (a) Monsoon (b) Rain (c) Sunrise (d) Ocean -
22.⚙️ What number does this app show?
let price = 45; // typed by the user
let qty = 3; // typed by the user
let total = price * qty;
show(total); - 23.👥 A school app has 90 students, 70 teachers and 50 parents as users. How many users does it have in all?
-
24.🧪 How many of these test cases pass?
🚚 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(1000) → expected 0
Test 2: delivery(650) → expected 40
Test 3: delivery(700) → expected 0 -
25.🧩 Which of these is a button on this screen?
[title] Sign Up
[button] Next
[slider] Volume
[text box] Due date
[switch] Sound
[text box] Age (a) Age (b) Next (c) Sound (d) Due date - 26.🧰 What does return do in a function? (a) repeats the code (b) closes the screen (c) deletes the app (d) sends back a value
- 27.⚙️ In an app, is a buzz (vibration) an input, processing or an output? (a) processing (b) input (c) output
- 28.💡 Which app idea solves this problem: pupils forget due dates? (a) a bill splitter (b) a study-room finder (c) a medicine reminder (d) a homework planner
-
29.🔁 What number does this code show?
let scores = [62, 70, 48];
let count = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] >= 50) {
count = count + 1;
}
}
show(count); -
30.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Caption: 19 px
Label: 10 px
Body text: 16 px
Title: 17 px
Footer: 26 px (a) Title (b) Caption (c) Label (d) Body text - 31.True or false: the button colours is about UI (the look). (a) True (b) False
- 32.True or false: a page of random dots solves no real problem. (a) True (b) False
- 33.♿ A screen has 11 icon buttons. Only 6 of them have a text label for screen readers. How many still need a label?
- 34.🔢 In a sign-up flow, which comes FIRST? (a) open the app (b) make a password (c) type name and email (d) tap “Sign up”
- 35.🔢 In a sign-up flow, which comes LAST? (a) make a password (b) see the home screen (c) open the app (d) tap “Sign up”
- 36.🗒️ You are planning version 1 of a water reminder. Which feature can WAIT for a later version? (a) set a reminder time (b) see today’s total (c) log a glass of water (d) custom alert sounds
- 37.🔁 What does a loop do? (a) saves photos (b) draws icons (c) repeats code (d) deletes code
-
38.🧰 What does this code show?
function greet(name) {
return "Hello, " + name + "!";
}
show(greet("Zoya")); (a) Hello, Zoya! (b) Hello, name! (c) greet (d) Zoya -
39.🔁 What number does this code show?
let runs = [1, 1, 19, 14, 2];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); - 40.True or false: the settings page is a button. (a) True (b) False
Answer key
- a clear next step
- line 1
- the microphone
- confetti effects
- 1
- 490
- map app → location
- OFF
- 6
- True
- 470
- Hi, Riya
- only one
- True
- so each step is clear
- 3
- 3 to 5
- missing the bus
- pick your bus stop
- list what to fix
- Sunrise
- 135
- 210
- 2
- Next
- sends back a value
- output
- a homework planner
- 2
- Label
- True
- True
- 5
- open the app
- see the home screen
- custom alert sounds
- repeats code
- Hello, Zoya!
- 37
- False
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students