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.🔢 After an app is released, which comes first: “list what to fix” or “fix and improve”? (a) fix and improve (b) list what to fix
-
2.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let score = 39; // start at 36
line 2: score = score * 2; // double it
line 3: score = score - 4; // take away 4
line 4: show(score); // show it - 3.True or false: a final design uses the final pictures. (a) True (b) False
- 4.👥 A cricket club app has 120 players, 135 coaches and 185 fans as users. Which user group is the biggest? (a) fans (b) coaches (c) players
-
5.👆 The user taps the button 4 times. What number does the label show now?
let score = 4;
button.onTap = function () {
score = score + 2;
label.text = score;
}; -
6.📊 Survey: which problem bugs you most? Which problem should your app solve first?
forgetting homework: 6 votes
losing water bottles: 20 votes
missing the bus: 24 votes (a) forgetting homework (b) losing water bottles (c) missing the bus - 7.🔍 Which is the odd one out? (a) tapping a button (b) taking a photo (c) speaking a command (d) a beep sound
- 8.Which of these is an input? (a) working out a tip (b) a buzz (vibration) (c) taking a photo (d) a result on screen
-
9.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let coins = 46; // start at 46
line 2: coins = coins + 3; // add 3
line 3: coins = coins + 4; // add 2
line 4: show(coins); // show it - 10.⚙️ In an app, is tapping a button an input, processing or an output? (a) processing (b) output (c) input
- 11.True or false: a pocket-money tracker is the best fit for a child saving up for a cycle. (a) False (b) True
-
12.💾 What number does this code show?
let lives = 9;
lives = lives - 3;
lives = lives + 5;
show(lives); -
13.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Hint: 10 px
Body text: 24 px
Footer: 13 px
Caption: 10 px - 14.🗒️ You are planning version 1 of a water reminder. Which feature can WAIT for a later version? (a) see today’s total (b) water animations (c) set a reminder time (d) log a glass of water
-
15.📊 Survey: which problem bugs you most? How many students voted in all?
forgetting homework: 14 votes
losing water bottles: 24 votes
forgetting birthdays: 18 votes - 16.🔐 Which permission does a homework photo scanner really need? (a) the microphone (b) location (c) contacts (d) the camera
- 17.Which of these helps everyone use the app? (a) big touch targets (b) tiny tap areas (c) sudden loud sounds (d) fast-flashing lights
- 18.🧪 What is the actual result of a test? (a) what the app really does (b) the test’s number (c) the app’s name (d) what we hope for
- 19.Which of these app ideas solves a real problem? (a) a bill splitter (b) a button with no action (c) a blank grey screen (d) a page of random dots
- 20.True or false: you talk to possible users at the build stage. (a) True (b) False
-
21.💾 What number does this code show?
let score = 5;
score = score - 1;
score = score + 4;
show(score); - 22.💡 Does an app idea like a blank grey screen solve a real problem? (a) No (b) Yes
- 23.🗒️ You are planning version 1 of a homework planner. Which feature is a MUST-HAVE? (a) pick a theme colour (b) earn stickers (c) see tasks by day (d) share tasks to friends
-
24.🧩 Which of these is a button on this screen?
[title] Sign Up
[text box] City
[button] Start
[button] Send
[text box] Subject
[text box] Age
[slider] Volume
[switch] Sound (a) Send (b) Age (c) City (d) Subject -
25.🔁 What number does this code show?
let marks = [21, 34, 14];
let count = 0;
for (let i = 0; i < marks.length; i++) {
if (marks[i] >= 70) {
count = count + 1;
}
}
show(count); - 26.🗒️ You are planning version 1 of a quiz app. Which feature can WAIT for a later version? (a) show the score (b) confetti effects (c) check the answer (d) show a question
-
27.🧪 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(6) → expected Pass
Test 3: result(7) → expected Pass - 28.🧭 Which part of navigation sits at the bottom? (a) a menu button (b) a tab bar (c) the back button
- 29.Which of these fits saving in the cloud? (a) the sound on/off setting (b) your last game level (c) notes to read offline (d) a class leaderboard
-
30.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let stars = 30; // start at 30
line 2: stars = stars + 2; // add 2
line 3: stars = stars * 2; // double it
line 4: stars = stars - 5; // add 5
line 5: show(stars); // show it (a) line 3 (b) line 4 (c) line 1 (d) line 2 - 31.🔢 In a quiz-app flow, which comes first: “read a question” or “tap “Start quiz””? (a) read a question (b) tap “Start quiz”
-
32.🔀 What does this sign-up rule show?
let age = 8;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Welcome! (b) Ask a parent - 33.🗒️ You are planning version 1 of a homework planner. Which feature can WAIT for a later version? (a) see tasks by day (b) set a due date (c) add a homework task (d) earn stickers
-
34.👆 The user taps the button 5 times. What number does the label show now?
let coins = 6;
button.onTap = function () {
coins = coins + 2;
label.text = coins;
}; - 35.🔢 After an app is released, which comes FIRST? (a) release an update (b) list what to fix (c) fix and improve (d) read user reviews
-
36.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(10, 4)); -
37.🔁 What is the LAST line this code shows?
let names = ["Kabir", "Meera", "Arjun"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Meera (b) Hi, Kabir (c) Hi, Arjun -
38.🧪 One test case fails. Which one?
📝 Rule: a quiz is passed with 8 or more right answers.
function result(right) {
if (right > 8) {
return "Pass";
}
return "Try again";
}
Test 1: result(8) → expected Pass
Test 2: result(10) → expected Pass
Test 3: result(5) → expected Try again (a) Test 2 (b) Test 3 (c) Test 1 -
39.👆 The user types Riya in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Hi, " + nameBox.text + "!";
}; (a) Hi, nameBox.text! (b) Hi, Riya! (c) Riya (d) Hi! -
40.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 49; // start at 48
line 2: score = score + 3; // add 3
line 3: score = score + 6; // add 6
line 4: show(score); // show it (a) line 2 (b) line 3 (c) line 1
Answer key
- list what to fix
- 68
- True
- fans
- 12
- missing the bus
- a beep sound
- taking a photo
- 53
- input
- True
- 11
- 3
- water animations
- 56
- the camera
- big touch targets
- what the app really does
- a bill splitter
- False
- 8
- No
- see tasks by day
- Send
- 0
- confetti effects
- 2
- a tab bar
- a class leaderboard
- line 4
- tap “Start quiz”
- Ask a parent
- earn stickers
- 16
- read user reviews
- 40
- Hi, Arjun
- Test 1
- Hi, Riya!
- line 1
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students