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.🔁 What number does this code show?
let runs = [12, 15, 2, 14];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); - 2.🎯 Which app would help this user most: a teen whose money runs out by Friday? (a) a homework planner (b) a big-text reader (c) a water reminder (d) a pocket-money tracker
- 3.Which of these is about UI (the look)? (a) how users feel after (b) how fast a task is done (c) the screen layout (d) whether users get lost
- 4.🔀 In this course’s code, which sign tests “is equal to”? (a) !== (b) = (c) => (d) ===
-
5.🗒️ Version 1 of a homework planner must be ready in 9 days. How many days are left for extras after the must-haves?
add a homework task: 1 days
set a due date: 2 days
see tasks by day: 5 days - 6.🔢 In a photo-post flow, which comes first: “post the photo” or “take the photo”? (a) post the photo (b) take the photo
- 7.🔢 In a sign-up flow, which comes FIRST? (a) see the home screen (b) make a password (c) type name and email (d) open the app
-
8.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let coins = 49; // start at 46
line 2: coins = coins + 4; // add 4
line 3: coins = coins + 4; // add 4
line 4: coins = coins + 2; // add 2
line 5: show(coins); // show it - 9.🔢 In a sign-up flow, which comes first: “tap “Sign up”” or “make a password”? (a) tap “Sign up” (b) make a password
-
10.👆 The user types Kabir in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Hello, " + nameBox.text + "!";
}; (a) Hello, nameBox.text! (b) Kabir (c) Hello! (d) Hello, Kabir! - 11.🔍 Which is the odd one out? (a) a flashcard trainer (b) a word battle (c) a cricket run chase (d) a puzzle with levels
-
12.⚙️ What number does this app show?
let price = 520; // typed by the user
let off = 20; // typed by the user
let pay = price - off;
show(pay); -
13.📊 Survey: which problem bugs you most? Which problem should your app solve first?
missing the bus: 24 votes
losing water bottles: 17 votes
wasting pocket money: 9 votes (a) losing water bottles (b) wasting pocket money (c) missing the bus - 14.🔀 In a good flow, each screen should lead to ___. (a) the same screen (b) a random page (c) a dead end (d) a clear next step
- 15.🧩 In an app, what is your friends list? (a) an input (b) a button (c) a screen (d) data
- 16.🗒️ The first small, working version of an app is often called an ___. (a) CPU (b) MVP (c) FAQ (d) URL
-
17.💾 What does this code show? (Positions start at 0.)
let notes = ["Maths", "Music", "Sports", "Art"];
show(notes[3]); (a) Maths (b) Music (c) Art (d) Sports - 18.True or false: a result on screen is an input. (a) True (b) False
- 19.Which of these is true of an app? (a) needs no installing (b) opens in a web browser (c) comes from an app store (d) has a web address
- 20.True or false: a wireframe has the real colours. (a) False (b) True
-
21.👆 The user taps the button 4 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 - 22.👥 A clinic app has 135 patients, 260 doctors and 200 nurses as users. Which user group is the biggest? (a) patients (b) nurses (c) doctors
- 23.True or false: a website comes from an app store. (a) True (b) False
-
24.👆 The user taps the button 7 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 - 25.Which colour pair is easy to read? (a) light grey on white (b) black on pale grey (c) dark blue on black (d) red on green
- 26.🗒️ You are planning version 1 of a pocket-money tracker. Which feature can WAIT for a later version? (a) add money spent (b) add money received (c) show the balance (d) savings stickers
- 27.🐞 A comment in code (after //) is for ___. (a) people reading the code (b) the battery (c) the phone screen (d) the app store
-
28.🖼️ In this wireframe (top to bottom), what is right above the title text?
[ list of items ]
[ top bar ]
[ Add button ]
[ title text ] (a) list of items (b) Add button (c) top bar -
29.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 95; // typed by the user
line 2: let qty = 2; // typed by the user
line 3: let total = price * qty;
line 4: show(total); (a) line 2 (b) line 3 (c) line 1 (d) line 4 - 30.🧰 What is a function? (a) a type of phone (b) a list of colours (c) a screen size (d) a named block of code
- 31.True or false: you talk to possible users at the idea stage. (a) False (b) True
-
32.🔁 What number does this code show?
let runs = [9, 3, 17];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); - 33.♿ A screen has 8 icon buttons. Only 1 of them have a text label for screen readers. How many still need a label?
- 34.🛠️ At which stage do you try every button? (a) the build stage (b) the test stage (c) the release stage (d) the plan stage
- 35.🐞 After fixing a bug you should ___. (a) release at once (b) test it again (c) never test (d) delete the test
- 36.🎨 Is this about UI or UX: the screen layout? (a) UX (b) UI
-
37.🧪 What is the ACTUAL result of Test 3?
🎟️ 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(8) → expected 50
Test 2: price(15) → expected 100
Test 3: price(16) → expected 100 - 38.🧭 About how many tabs suit a tab bar best? (a) 1 (b) 3 to 5 (c) 10 to 12 (d) 20
-
39.🧰 A museum app works out the entry fee. What number does this code show?
function fee(age) {
if (age < 5) {
return 0;
}
return 30;
}
show(fee(8) + fee(1)); -
40.🧪 How many of these test cases pass?
🎟️ Rule: a ticket costs 50 for children under 10, and 100 for everyone else.
function price(age) {
if (age <= 10) {
return 50;
}
return 100;
}
Test 1: price(10) → expected 100
Test 2: price(11) → expected 100
Test 3: price(8) → expected 50
Answer key
- 43
- a pocket-money tracker
- the screen layout
- ===
- 1
- take the photo
- open the app
- 56
- tap “Sign up”
- Hello, Kabir!
- a flashcard trainer
- 500
- missing the bus
- a clear next step
- data
- MVP
- Art
- False
- comes from an app store
- False
- OFF
- doctors
- False
- ON
- black on pale grey
- savings stickers
- people reading the code
- Add button
- line 3
- a named block of code
- True
- 29
- 7
- the test stage
- test it again
- UI
- 100
- 3 to 5
- 30
- 2
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students