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.🗒️ A to-do app with no “add a task” feature is ___. (a) a nice extra (b) well planned (c) missing a must-have (d) ready to release
- 2.🔍 Which is the odd one out? (a) how many taps it takes (b) how fast a task is done (c) whether users get lost (d) the font size
-
3.🔀 What does this sign-up rule show?
let age = 13;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Welcome! (b) Ask a parent - 4.✏️ Is this true of a wireframe or of a final design: shows where things go? (a) a final design (b) a wireframe
- 5.🔀 A screen with no way forward or back is called a ___. (a) shortcut (b) dead end (c) tab bar (d) home screen
-
6.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. open “Help page”
2. open “Friend list”
3. tap the Profile tab
4. tap the Search tab
How many times must you tap Back to reach the main screen of this tab? -
7.🔀 What does this PIN rule show?
let pin = "360";
if (pin.length === 4) {
show("PIN saved");
} else {
show("Use 4 digits");
} (a) Use 4 digits (b) PIN saved - 8.🔢 In a quiz-app flow, what comes right after “tap “Start quiz””? (a) see the final score (b) see if it is right (c) read a question (d) pick an answer
- 9.True or false: an app that just says hi solves a real problem. (a) False (b) True
-
10.🔁 What number does this code show?
let scores = [68, 27, 37];
let count = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] >= 50) {
count = count + 1;
}
}
show(count); - 11.True or false: a beep sound is an output. (a) False (b) True
- 12.🔁 A loop over a list of 5 items runs its body how many times? (a) 6 (b) 4 (c) 5 (d) 1
-
13.🧪 How many of these test cases pass?
🎟️ Rule: a ticket costs 50 for children under 12, and 100 for everyone else.
function price(age) {
if (age < 12) {
return 50;
}
return 100;
}
Test 1: price(14) → expected 100
Test 2: price(15) → expected 100
Test 3: price(11) → expected 50 - 14.Which of these is a feature? (a) a search bar (b) “Small text is hard” (c) “I keep missing the bus” (d) “I forget my homework”
-
15.🔀 What does this sign-up rule show?
let age = 10;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Welcome! (b) Ask a parent -
16.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let coins = 31; // start at 31
line 2: coins = coins * 2; // double it
line 3: coins = coins * 3; // double it
line 4: coins = coins - 3; // take away 3
line 5: show(coins); // show it - 17.True or false: your friends list is an input. (a) True (b) False
-
18.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(25, 2)); - 19.🧩 In an app, what is the home page of an app? (a) an input (b) a button (c) a screen (d) data
- 20.Which of these makes the app harder to use? (a) big touch targets (b) labels on every icon (c) fast-flashing lights (d) strong colour contrast
- 21.🗒️ In MVP, the M stands for ___. (a) maximum (b) mobile (c) music (d) minimum
- 22.Which of these is true of a menu button? (a) hides extra links (b) sits at the bottom (c) switches main sections (d) undoes one move
- 23.True or false: a blank grey screen solves a real problem. (a) True (b) False
-
24.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 36; // start at 36
line 2: points = points + 4; // take away 4
line 3: points = points + 2; // add 2
line 4: points = points + 6; // add 6
line 5: show(points); // show it (a) line 2 (b) line 3 (c) line 4 (d) line 1 -
25.🧪 What is the ACTUAL result of Test 1?
🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
function price(age) {
if (age <= 9) {
return 50;
}
return 100;
}
Test 1: price(9) → expected 100
Test 2: price(6) → expected 50
Test 3: price(12) → expected 100 -
26.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Title: 10 px
Label: 14 px
Hint: 11 px -
27.📊 Survey: which problem bugs you most? Which problem should your app solve first?
missing the bus: 19 votes
wasting pocket money: 11 votes
forgetting homework: 3 votes (a) forgetting homework (b) missing the bus (c) wasting pocket money - 28.🗒️ You are planning version 1 of a homework planner. Which feature is a MUST-HAVE? (a) earn stickers (b) pick a theme colour (c) set a due date (d) share tasks to friends
- 29.🗒️ You are planning version 1 of a water reminder. Which feature can WAIT for a later version? (a) set a reminder time (b) log a glass of water (c) custom alert sounds (d) see today’s total
-
30.⚙️ What number does this app show?
let price = 160; // typed by the user
let off = 10; // typed by the user
let pay = price - off;
show(pay); -
31.🧪 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(16) → expected 100
Test 2: price(10) → expected 100
Test 3: price(8) → expected 50 - 32.🔢 After an app is released, which comes FIRST? (a) fix and improve (b) read user reviews (c) list what to fix (d) test it again
-
33.👆 The user taps the button 2 times. What number does the label show now?
let lives = 2;
button.onTap = function () {
lives = lives + 5;
label.text = lives;
}; - 34.✏️ Why draw a wireframe before coding? (a) it runs the app (b) changes are quick (c) it adds colours (d) it saves data
- 35.🧰 How do you run (call) a function called greet? (a) greet[] (b) run greet (c) #greet (d) greet()
- 36.🚀 A change from version 1.4.2 to 1.4.3 usually means ___. (a) a bug fix (b) a new app (c) a big redesign (d) a new feature
-
37.🧪 What is the ACTUAL result of Test 3?
🚚 Rule: delivery is free (0) when the order is 300 or more; otherwise it costs 40.
function delivery(total) {
if (total > 300) {
return 0;
}
return 40;
}
Test 1: delivery(200) → expected 40
Test 2: delivery(600) → expected 0
Test 3: delivery(650) → expected 0 - 38.True or false: the sound on/off setting fits saving on the phone. (a) True (b) False
- 39.🧭 Tapping a tab usually takes you to ___. (a) the phone settings (b) a random page (c) the last app used (d) that tab’s main screen
- 40.🧩 In an app, what is your friends list? (a) a button (b) a screen (c) an input (d) data
Answer key
- missing a must-have
- the font size
- Welcome!
- a wireframe
- dead end
- 0
- Use 4 digits
- read a question
- False
- 1
- True
- 5
- 3
- a search bar
- Ask a parent
- 121
- False
- 50
- a screen
- fast-flashing lights
- minimum
- hides extra links
- False
- line 2
- 50
- 3
- missing the bus
- set a due date
- custom alert sounds
- 150
- 2
- read user reviews
- 12
- changes are quick
- greet()
- a bug fix
- 0
- True
- that tab’s main screen
- data
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students