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.🚀 Which version is newer: 3.16.0 or 3.9.2? (a) 3.9.2 (b) 3.16.0
-
2.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 30; // typed by the user
line 2: let qty = 4; // typed by the user
line 3: let total = price * qty;
line 4: show(total); (a) line 3 (b) line 2 (c) line 4 (d) line 1 - 3.🔐 Is this permission request fair or too much: torch → contacts? (a) fair (b) too much
- 4.🗒️ You are planning version 1 of a bus tracker. Which feature is a MUST-HAVE? (a) show arrival time (b) a dark mode (c) rate the driver (d) change the bus icon
-
5.🚀 Which of these versions is the OLDEST?
3.2.2, 2.24.9, 3.8.1, 3.13.5 (a) 3.13.5 (b) 3.2.2 (c) 3.8.1 (d) 2.24.9 - 6.🎨 UI stands for user ___. (a) input (b) interface (c) internet (d) idea
- 7.🛠️ At which stage do you connect the data? (a) the test stage (b) the build stage (c) the idea stage (d) the release stage
- 8.Which of these fits saving on the phone? (a) a class leaderboard (b) a draft you are typing (c) photos on two devices (d) a shared to-do list
- 9.True or false: an alarm clock is a tool app. (a) False (b) True
- 10.💡 How can you check that people really have the problem? (a) ask possible users (b) just guess (c) pick a colour (d) copy another app
-
11.🔘 Our rule: buttons are at least 48 px tall. Which button is too small?
Cancel button: 52 px tall
Done button: 52 px tall
Next button: 40 px tall (a) Done (b) Cancel (c) Next - 12.👆 What kind of event is this: the search box changes? (a) a timer event (b) a text event (c) a load event (d) a tap event
-
13.🖼️ How many parts (boxes) does this wireframe have?
[ filter buttons ]
[ title text ]
[ Save button ]
[ big picture ]
[ menu icon ]
[ list of items ] -
14.🔀 What does this sign-up rule show?
let age = 12;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Welcome! (b) Ask a parent - 15.🔍 Which is the odd one out? (a) write the code (b) connect the data (c) let friends try it (d) add the buttons
- 16.True or false: a bill splitter solves no real problem. (a) False (b) True
- 17.👆 What kind of event is this: the user taps Play? (a) a text event (b) a timer event (c) a load event (d) a tap event
- 18.✏️ Is this true of a wireframe or of a final design: uses plain grey boxes? (a) a final design (b) a wireframe
-
19.🧪 One test case fails. Which one?
🎟️ 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(16) → expected 100
Test 2: price(8) → expected 50
Test 3: price(11) → expected 100 (a) Test 1 (b) Test 2 (c) Test 3 -
20.🔀 What does this sign-up rule show?
let age = 9;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Ask a parent (b) Welcome! -
21.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. open “Badges”
2. tap the Lessons tab
3. open “Edit photo”
4. tap Back
5. tap the Me tab
How many times must you tap Back to reach the main screen of this tab? - 22.🔍 Which is the odd one out? (a) a word battle (b) a racing challenge (c) a flashcard trainer (d) a puzzle with levels
- 23.🔢 In a sign-up flow, which comes FIRST? (a) open the app (b) see the home screen (c) tap “Sign up” (d) type name and email
-
24.🖼️ In this wireframe (top to bottom), what is right above the big picture?
[ menu icon ]
[ title text ]
[ big picture ]
[ top bar ] (a) menu icon (b) title text (c) top bar -
25.💾 What number does this code show?
let score = 3;
score = score - 1;
score = score + 4;
show(score); - 26.🗒️ You are planning version 1 of a water reminder. Which feature can WAIT for a later version? (a) log a glass of water (b) see today’s total (c) set a reminder time (d) water animations
-
27.🔁 What number does this code show?
let steps = [91, 93, 95];
let count = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] >= 50) {
count = count + 1;
}
}
show(count); -
28.👆 The user taps the button 2 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 -
29.🧪 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(900) → expected 0
Test 2: delivery(1050) → expected 0
Test 3: delivery(650) → expected 40 -
30.🧪 How many of these test cases pass?
🎟️ 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(8) → expected 100
Test 2: price(12) → expected 100
Test 3: price(4) → expected 50 - 31.🧭 About how many tabs suit a tab bar best? (a) 20 (b) 3 to 5 (c) 1 (d) 10 to 12
- 32.🐞 What is a bug? (a) a nice icon (b) a fast phone (c) a mistake in the code (d) a new feature
-
33.📊 Survey: which problem bugs you most? How many more votes did “missing the bus” get than “no quiet study place”?
wasting pocket money: 4 votes
no quiet study place: 10 votes
missing the bus: 16 votes -
34.🔀 What does this PIN rule show?
let pin = "1215";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) Use 4 digits (b) PIN saved - 35.Which of these is an input? (a) a box to type a name (b) today’s step count (c) tap to go Next (d) your friends list
- 36.True or false: adding up a bill is an input. (a) False (b) True
- 37.🚀 Which version is newer: 2.4.13 or 2.4.5? (a) 2.4.13 (b) 2.4.5
- 38.♿ Does this help everyone, or make the app harder to use: labels on every icon? (a) helps everyone (b) makes it harder
-
39.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(3) + points(5)); -
40.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Footer: 14 px
Label: 21 px
Menu: 19 px
Hint: 10 px
Answer key
- 3.16.0
- line 3
- too much
- show arrival time
- 2.24.9
- interface
- the build stage
- a draft you are typing
- True
- ask possible users
- Next
- a text event
- 6
- Ask a parent
- let friends try it
- False
- a tap event
- a wireframe
- Test 3
- Ask a parent
- 0
- a flashcard trainer
- open the app
- title text
- 6
- water animations
- 3
- OFF
- 3
- 3
- 3 to 5
- a mistake in the code
- 6
- PIN saved
- a box to type a name
- False
- 2.4.13
- helps everyone
- 90
- 2
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students