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 is the odd one out? (a) typing your age (b) a pop-up message (c) a buzz (vibration) (d) a beep sound
-
2.👆 Two designs for the same task (each arrow is one tap). How many taps does the shorter design save?
Design A: Home → Pens → Address → Size → Pay → Search
Design B: Home → Pens → Address → Offers → Size - 3.🔀 What does >= mean? (a) smaller or equal (b) not equal (c) greater than or equal (d) less than
- 4.👆 What kind of event is this: one second passes? (a) a timer event (b) a tap event (c) a load event (d) a text event
-
5.🔀 What does this battery rule show?
let battery = 14;
if (battery < 20) {
show("Low battery");
} else {
show("Battery OK");
} (a) Battery OK (b) Low battery -
6.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 53; // start at 50
line 2: score = score + 5; // add 5
line 3: score = score * 2; // double it
line 4: show(score); // show it -
7.📊 Survey: which problem bugs you most? How many students voted in all?
missing the bus: 11 votes
forgetting birthdays: 19 votes
forgetting homework: 17 votes - 8.♿ Why add captions to videos? (a) to hide the sound (b) so anyone can follow (c) to add colour (d) to slow them down
- 9.🔢 In a sign-up flow, which comes LAST? (a) tap “Sign up” (b) see the home screen (c) type name and email (d) open the app
-
10.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Score card”
2. tap the Settings tab
3. tap the Feed tab
4. open “Video”
5. open “Friend list”
How many times must you tap Back to reach the main screen of this tab? -
11.🧪 How many of these test cases pass?
📝 Rule: a quiz is passed with 6 or more right answers.
function result(right) {
if (right > 6) {
return "Pass";
}
return "Try again";
}
Test 1: result(4) → expected Try again
Test 2: result(7) → expected Pass
Test 3: result(6) → expected Pass - 12.True or false: a tiny 20 px button is good button design. (a) True (b) False
-
13.🔀 What does this battery rule show?
let battery = 26;
if (battery < 20) {
show("Low battery");
} else {
show("Battery OK");
} (a) Low battery (b) Battery OK - 14.Which of these is true of a website? (a) has a web address (b) has a home-screen icon (c) is installed on a phone (d) updates from the store
-
15.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(35, 6)); - 16.Which of these is true of a tab bar? (a) hides extra links (b) opens a list of pages (c) shows 3 to 5 icons (d) goes to the last screen
-
17.🔁 What number does this code show?
let steps = [30, 58, 71, 98, 40];
let count = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] >= 70) {
count = count + 1;
}
}
show(count); - 18.True or false: the user types a letter is a text event. (a) False (b) True
- 19.⚙️ In an app, is a pop-up message an input, processing or an output? (a) output (b) input (c) processing
- 20.👆 What kind of event is this: the search box changes? (a) a text event (b) a tap event (c) a timer event (d) a load event
- 21.💾 In most code, the first item of a list is at position ___. (a) 10 (b) 2 (c) 0 (d) 1
- 22.True or false: space between buttons is poor button design. (a) False (b) True
-
23.🖼️ How many parts (boxes) does this wireframe have?
[ Save button ]
[ search box ]
[ top bar ]
[ Add button ] -
24.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Cancel button: 56 px tall
Start button: 48 px tall
Done button: 36 px tall
Next button: 32 px tall - 25.🔐 Is this permission request fair or too much: torch → contacts? (a) fair (b) too much
- 26.🔢 When you make an app, which comes first: “release it” or “test the app”? (a) test the app (b) release it
- 27.🔀 What is a user flow? (a) a type of font (b) a charging cable (c) the path through screens (d) a colour theme
- 28.🎨 A beautiful app that confuses everyone has ___. (a) no UI at all (b) good UX but poor UI (c) perfect UX (d) good UI but poor UX
- 29.🔍 Which is the odd one out? (a) text that can grow (b) labels on every icon (c) big touch targets (d) icons with no labels
-
30.🔀 Which badge does this quiz app show?
let marks = 93;
if (marks >= 80) {
show("Gold");
} else if (marks >= 50) {
show("Silver");
} else {
show("Bronze");
} (a) Bronze (b) Silver (c) Gold -
31.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Save button: 36 px tall
Send button: 44 px tall
Back button: 36 px tall -
32.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. tap the Lessons tab
2. tap the Lessons tab
3. tap the Me tab
4. open “Video”
Which screen are you on now? (a) Quiz (b) Me (c) Lessons (d) Video -
33.🧰 What number does this code show?
function double(n) {
return n * 2;
}
show(double(39)); - 34.🔢 After an app is released, which comes first: “fix and improve” or “test it again”? (a) test it again (b) fix and improve
-
35.💾 What number does this code show?
let stars = 6;
stars = stars - 4;
stars = stars + 1;
show(stars); -
36.🧪 One test case fails. Which one?
🚚 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(800) → expected 0
Test 3: delivery(700) → expected 40 (a) Test 1 (b) Test 3 (c) Test 2 -
37.🔀 What does this PIN rule show?
let pin = "152";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) PIN saved (b) Use 4 digits - 38.Which of these is a screen? (a) tap to Save (b) your high score (c) the game-over page (d) tap to Send
-
39.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Caption: 20 px
Footer: 10 px
Menu: 20 px (a) Caption (b) Footer (c) Menu -
40.🔁 What number does this code show?
let scores = [6, 20, 19, 2];
let best = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] > best) {
best = scores[i];
}
}
show(best);
Answer key
- typing your age
- 1
- greater than or equal
- a timer event
- Low battery
- 116
- 47
- so anyone can follow
- see the home screen
- 2
- 2
- False
- Battery OK
- has a web address
- 210
- shows 3 to 5 icons
- 2
- True
- output
- a text event
- 0
- False
- 4
- 2
- too much
- test the app
- the path through screens
- good UI but poor UX
- icons with no labels
- Gold
- 0
- Video
- 78
- fix and improve
- 3
- Test 2
- Use 4 digits
- the game-over page
- Footer
- 20
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students