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 clinic app has 265 patients, 215 doctors and 55 nurses as users. Which user group is the biggest? (a) doctors (b) nurses (c) patients
- 2.🔍 Which is the odd one out? (a) a step counter (b) a sleep tracker (c) a water reminder (d) an alarm clock
-
3.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(80, 5)); -
4.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. tap the Me tab
2. open “Help page”
3. open “Friend list”
Which screen are you on now? (a) Lessons (b) Help page (c) Quiz (d) Friend list -
5.🧰 What number does this code show?
function double(n) {
return n * 2;
}
show(double(9)); - 6.👥 A clinic app has 295 patients, 150 doctors and 235 nurses as users. How many users does it have in all?
-
7.🧪 What is the ACTUAL result of Test 1?
🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
function delivery(total) {
if (total >= 700) {
return 0;
}
return 40;
}
Test 1: delivery(600) → expected 40
Test 2: delivery(900) → expected 0
Test 3: delivery(750) → expected 0 -
8.🧪 One test case fails. Which one?
🚚 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(600) → expected 0
Test 2: delivery(100) → expected 40
Test 3: delivery(300) → expected 0 (a) Test 2 (b) Test 3 (c) Test 1 - 9.True or false: a library due-date alert solves no real problem. (a) True (b) False
-
10.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(3) + points(0)); - 11.True or false: a homework planner is the best fit for a teen learning to make snacks. (a) True (b) False
- 12.True or false: a class leaderboard fits saving on the phone. (a) False (b) True
-
13.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let stars = 40; // start at 40
line 2: stars = stars * 2; // double it
line 3: stars = stars * 2; // double it
line 4: stars = stars * 3; // double it
line 5: show(stars); // show it - 14.🔀 In a good flow, each screen should lead to ___. (a) the same screen (b) a clear next step (c) a dead end (d) a random page
- 15.🧪 What is the actual result of a test? (a) what we hope for (b) the app’s name (c) the test’s number (d) what the app really does
- 16.💡 How can you check that people really have the problem? (a) copy another app (b) ask possible users (c) pick a colour (d) just guess
-
17.🗒️ Version 1 of a water reminder must be ready in 12 days. How many days are left for extras after the must-haves?
set a reminder time: 4 days
log a glass of water: 3 days
see today’s total: 4 days -
18.👆 Two designs for the same task (each arrow is one tap). How many taps does the shorter design save?
Design A: Home → Pens → Size → Item
Design B: Home → Item → Confirm → Shop → Results - 19.🗒️ You are planning version 1 of a homework planner. Which feature can WAIT for a later version? (a) see tasks by day (b) pick a theme colour (c) set a due date (d) add a homework task
-
20.🚀 Which of these versions is the NEWEST?
4.11.3, 3.21.2, 4.8.9, 4.4.5 (a) 3.21.2 (b) 4.4.5 (c) 4.11.3 (d) 4.8.9 -
21.🧰 What does this code show?
function greet(name) {
return "Well done, " + name + "!";
}
show(greet("Meera")); (a) Well done, Meera! (b) Well done, name! (c) greet (d) Meera -
22.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 33; // start at 33
line 2: score = score - 2; // add 2
line 3: score = score * 2; // double it
line 4: show(score); // show it (a) line 3 (b) line 1 (c) line 2 - 23.True or false: a big, easy tap area is good button design. (a) False (b) True
- 24.📱 Which one has a web address: an app or a website? (a) a website (b) an app
- 25.🧪 A test fails when ___. (a) both are the same (b) the app is new (c) actual is not expected (d) the font is big
- 26.Which of these is a screen? (a) tap to Send (b) a date picker (c) tap to Start (d) the home page of an app
- 27.Which of these is true of a menu button? (a) shows 3 to 5 icons (b) hides extra links (c) switches main sections (d) sits at the bottom
- 28.🗒️ You are planning version 1 of a pocket-money tracker. Which feature is a MUST-HAVE? (a) add money spent (b) export to a file (c) pie-chart colours (d) savings stickers
- 29.👆 Code that runs when an event happens is called a ___. (a) header (b) hashtag (c) handler (d) headline
- 30.True or false: grey text on grey is poor button design. (a) True (b) False
-
31.🧪 How many of these test cases pass?
🚚 Rule: delivery is free (0) when the order is 500 or more; otherwise it costs 40.
function delivery(total) {
if (total > 500) {
return 0;
}
return 40;
}
Test 1: delivery(650) → expected 0
Test 2: delivery(350) → expected 40
Test 3: delivery(600) → expected 0 -
32.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Edit photo”
2. tap Back
3. tap the Settings tab
Which screen are you on now? (a) Feed (b) Edit photo (c) Settings (d) Chat - 33.Which of these is true of a final design? (a) is a quick sketch (b) looks like the real app (c) uses plain grey boxes (d) shows where things go
- 34.♿ Does this help everyone, or make the app harder to use: text that can grow? (a) makes it harder (b) helps everyone
- 35.🧩 What do we call one full page of an app? (a) a battery (b) a cable (c) a variable (d) a screen
- 36.🔢 In a quiz-app flow, which comes LAST? (a) read a question (b) see the final score (c) tap “Start quiz” (d) see if it is right
- 37.🔁 A loop over a list of 5 items runs its body how many times? (a) 6 (b) 1 (c) 5 (d) 4
- 38.🔁 Why use a loop to show 100 messages? (a) it uses more lines (b) it hides them (c) less code to write (d) it is slower
-
39.🔁 What number does this code show?
let scores = [81, 69, 66, 34, 66];
let count = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] >= 70) {
count = count + 1;
}
}
show(count); -
40.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let lives = 47; // start at 47
line 2: lives = lives * 3; // double it
line 3: lives = lives * 2; // double it
line 4: show(lives); // show it
Answer key
- patients
- an alarm clock
- 400
- Friend list
- 18
- 680
- 40
- Test 3
- False
- 40
- False
- False
- 320
- a clear next step
- what the app really does
- ask possible users
- 1
- 1
- pick a theme colour
- 4.11.3
- Well done, Meera!
- line 2
- True
- a website
- actual is not expected
- the home page of an app
- hides extra links
- add money spent
- handler
- True
- 3
- Settings
- looks like the real app
- helps everyone
- a screen
- see the final score
- 5
- less code to write
- 1
- 188
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students