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.True or false: “icons with no labels” helps everyone use the app. (a) True (b) False
- 2.🧭 Why should every screen show where you are? (a) to use more battery (b) to hide the menu (c) so users do not get lost (d) to look busy
- 3.🎯 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
- 4.Which of these makes the app harder to use? (a) strong colour contrast (b) colour as the only clue (c) labels on every icon (d) big touch targets
- 5.Which of these is true of the back button? (a) goes to the last screen (b) shows 3 to 5 icons (c) hides extra links (d) switches main sections
-
6.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Next button: 44 px tall
Cancel button: 40 px tall
Done button: 48 px tall
Help button: 40 px tall - 7.🗒️ The first small, working version of an app is often called an ___. (a) MVP (b) URL (c) CPU (d) FAQ
-
8.👆 The user taps the button 7 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 2) {
likes = likes + 1;
}
label.text = likes;
}; - 9.🧭 Which part of navigation hides extra links? (a) the back button (b) a tab bar (c) a menu button
- 10.🧰 What does return do in a function? (a) repeats the code (b) closes the screen (c) sends back a value (d) deletes the app
- 11.👆 What kind of event is this: a 5-minute alarm ends? (a) a load event (b) a tap event (c) a text event (d) a timer event
- 12.🔢 In a sign-up flow, which comes LAST? (a) open the app (b) make a password (c) see the home screen (d) type name and email
- 13.💡 After a survey, which need should version 1 solve? (a) the most common need (b) the rarest need (c) a random need (d) the newest trend
- 14.🗒️ You are planning version 1 of a quiz app. Which feature is a MUST-HAVE? (a) confetti effects (b) check the answer (c) background music (d) an avatar shop
-
15.🔁 What number does this code show?
let steps = [20, 14, 5];
let total = 0;
for (let i = 0; i < steps.length; i++) {
total = total + steps[i];
}
show(total); - 16.🎯 Why learn about users before you build? (a) to pick a logo (b) to make it longer (c) to build what they need (d) to slow it down
- 17.Which of these is true of a menu button? (a) undoes one move (b) sits at the bottom (c) shows 3 to 5 icons (d) opens a list of pages
- 18.🧭 Tapping a tab usually takes you to ___. (a) the last app used (b) a random page (c) that tab’s main screen (d) the phone settings
- 19.💡 Does an app idea like a page of random dots solve a real problem? (a) No (b) Yes
- 20.🎨 Is this about UI or UX: the screen layout? (a) UX (b) UI
- 21.🧪 What is the actual result of a test? (a) what we hope for (b) the test’s number (c) the app’s name (d) what the app really does
- 22.🔍 Which is the odd one out? (a) colour as the only clue (b) captions on videos (c) big touch targets (d) text that can grow
-
23.🖼️ In this wireframe (top to bottom), what is right below the menu icon?
[ Save button ]
[ search box ]
[ menu icon ]
[ top bar ]
[ tab bar ]
[ Add button ] (a) top bar (b) Save button (c) tab bar (d) Add button -
24.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let points = 41; // start at 41
line 2: points = points * 2; // double it
line 3: points = points * 3; // double it
line 4: points = points * 2; // double it
line 5: show(points); // show it - 25.♿ What does a screen reader do? (a) plays music (b) reads the screen aloud (c) makes text tiny (d) takes photos
-
26.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. tap the Quiz tab
2. open “Edit photo”
3. tap Back
How many times must you tap Back to reach the main screen of this tab? -
27.🔁 What number does this code show?
let steps = [10, 3, 1];
let best = 0;
for (let i = 0; i < steps.length; i++) {
if (steps[i] > best) {
best = steps[i];
}
}
show(best); -
28.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. tap the Search tab
2. tap the Search tab
3. open “Friend list”
How many times must you tap Back to reach the main screen of this tab? - 29.🔍 Which is the odd one out? (a) a result on screen (b) a buzz (vibration) (c) adding up a bill (d) a beep sound
-
30.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 43; // start at 40
line 2: points = points + 5; // add 5
line 3: points = points + 3; // add 3
line 4: show(points); // show it (a) line 2 (b) line 3 (c) line 1 -
31.👆 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) ON (b) OFF -
32.🔁 What number does this code show?
let marks = [13, 19, 3, 4];
let best = 0;
for (let i = 0; i < marks.length; i++) {
if (marks[i] > best) {
best = marks[i];
}
}
show(best); - 33.♿ Does this help everyone, or make the app harder to use: strong colour contrast? (a) makes it harder (b) helps everyone
-
34.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(5) + points(0)); - 35.🔍 Which is the odd one out? (a) a torch (b) an alarm clock (c) a calculator (d) a puzzle with levels
- 36.♿ A screen has 5 icon buttons. Only 2 of them have a text label for screen readers. How many still need a label?
- 37.✏️ What is a wireframe? (a) the finished app (b) a charging cable (c) a type of password (d) a simple screen sketch
-
38.🔀 What does this sign-up rule show?
let age = 14;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Ask a parent (b) Welcome! -
39.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Body text: 25 px
Hint: 24 px
Title: 16 px
Label: 13 px (a) Title (b) Label (c) Hint (d) Body text -
40.🧰 A museum app works out the entry fee. What number does this code show?
function fee(age) {
if (age < 5) {
return 0;
}
return 60;
}
show(fee(8) + fee(12));
Answer key
- False
- so users do not get lost
- helps nobody well
- colour as the only clue
- goes to the last screen
- 1
- MVP
- 2
- a menu button
- sends back a value
- a timer event
- see the home screen
- the most common need
- check the answer
- 39
- to build what they need
- opens a list of pages
- that tab’s main screen
- No
- UI
- what the app really does
- colour as the only clue
- top bar
- 492
- reads the screen aloud
- 0
- 10
- 1
- adding up a bill
- line 1
- OFF
- 19
- helps everyone
- 60
- a puzzle with levels
- 3
- a simple screen sketch
- Welcome!
- Label
- 120
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students