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.👆 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;
}; - 2.🔢 After an app is released, which comes first: “list what to fix” or “read user reviews”? (a) read user reviews (b) list what to fix
-
3.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 30; // start at 30
line 2: score = score + 3; // add 3
line 3: score = score * 2; // double it
line 4: score = score - 4; // take away 1
line 5: show(score); // show it (a) line 4 (b) line 3 (c) line 1 (d) line 2 -
4.🧩 How many inputs (text boxes, switches and sliders) does this screen have?
[title] Settings
[text box] Due date
[slider] Brightness
[button] Done
[text box] Name
[text box] City
[switch] Dark mode
[button] Next -
5.🧩 Which of these is a button on this screen?
[title] Order Snacks
[button] Start
[button] Help
[button] Send
[text box] Due date (a) Help (b) Due date - 6.🧰 In function tip(bill), what is bill? (a) a parameter (b) a screen (c) an event (d) a loop
-
7.📊 Survey: which problem bugs you most? Which problem should your app solve first?
no quiet study place: 8 votes
forgetting homework: 21 votes
losing water bottles: 11 votes (a) forgetting homework (b) no quiet study place (c) losing water bottles - 8.🗂️ What kind of app is a word battle? (a) a learning app (b) a game (c) a tool app (d) a health app
- 9.🚀 Which version is newer: 3.10.1 or 3.6.2? (a) 3.10.1 (b) 3.6.2
- 10.🗒️ In MVP, the M stands for ___. (a) mobile (b) maximum (c) music (d) minimum
- 11.🔁 Why use a loop to show 100 messages? (a) less code to write (b) it uses more lines (c) it is slower (d) it hides them
- 12.🎯 Why learn about users before you build? (a) to pick a logo (b) to slow it down (c) to build what they need (d) to make it longer
-
13.🔁 What number does this code show?
let scores = [9, 1, 19, 2];
let total = 0;
for (let i = 0; i < scores.length; i++) {
total = total + scores[i];
}
show(total); - 14.🗂️ What kind of app is a racing challenge? (a) a game (b) a learning app (c) a health app (d) a tool app
- 15.Which of these happens at the idea stage? (a) write the code (b) write down the bugs (c) spot a problem to solve (d) let friends try it
- 16.🔐 Which permission does a weather-near-me app really need? (a) location (b) contacts (c) the microphone (d) the camera
- 17.💾 Which can hold many values in order? (a) a list (b) a single number (c) a switch (d) a button
- 18.Which of these requests asks for too much? (a) calculator → location (b) camera app → camera (c) map app → location (d) calling app → contacts
- 19.Which of these requests asks for too much? (a) calling app → contacts (b) map app → location (c) timer → your photos (d) camera app → camera
- 20.👆 What kind of event is this: a finger hits Like? (a) a timer event (b) a tap event (c) a text event (d) a load event
-
21.🧪 What is the ACTUAL result of Test 1?
🎟️ Rule: a ticket costs 50 for children under 13, and 100 for everyone else.
function price(age) {
if (age <= 13) {
return 50;
}
return 100;
}
Test 1: price(18) → expected 100
Test 2: price(13) → expected 100
Test 3: price(9) → expected 50 -
22.🧪 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(12) → expected 100
Test 3: price(9) → expected 50 - 23.💡 How can you check that people really have the problem? (a) copy another app (b) just guess (c) ask possible users (d) pick a colour
-
24.🧪 One test case fails. Which one?
🚚 Rule: delivery is free (0) when the order is 600 or more; otherwise it costs 40.
function delivery(total) {
if (total > 600) {
return 0;
}
return 40;
}
Test 1: delivery(600) → expected 0
Test 2: delivery(750) → expected 0
Test 3: delivery(500) → expected 40 (a) Test 3 (b) Test 2 (c) Test 1 -
25.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Video”
2. tap Back
3. open “Edit photo”
How many times must you tap Back to reach the main screen of this tab? - 26.🗒️ You are planning version 1 of a bus tracker. Which feature can WAIT for a later version? (a) rate the driver (b) pick your bus stop (c) see where the bus is (d) show arrival time
- 27.Which of these is true of a wireframe? (a) uses the final pictures (b) shows the real fonts (c) has the real colours (d) uses plain grey boxes
-
28.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(4) + points(4)); - 29.🗒️ Why keep version 1 small? (a) to look bigger (b) to use up storage (c) to confuse users (d) to learn from users soon
- 30.🔘 Is this good or poor button design: icons with no meaning? (a) good design (b) poor design
- 31.🔍 Which is the odd one out? (a) a torch (b) a calculator (c) a flashcard trainer (d) a unit converter
- 32.👥 A school app has 20 students, 215 teachers and 35 parents as users. How many users does it have in all?
- 33.Which of these fits saving on the phone? (a) chat messages to friends (b) a class leaderboard (c) a shared to-do list (d) the sound on/off setting
- 34.🔍 Which is the odd one out? (a) how users feel after (b) the button colours (c) the font size (d) the screen layout
-
35.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Menu: 11 px
Body text: 11 px
Label: 22 px
Footer: 21 px
Caption: 21 px - 36.🔘 Our rule: buttons are at least 48 px tall. The Save button is 32 px tall. How many px taller must it be?
-
37.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. open “Help page”
2. open “Help page”
3. tap Back
4. open “Edit photo”
5. tap the Feed tab
How many times must you tap Back to reach the main screen of this tab? -
38.🔁 What is the LAST line this code shows?
let names = ["Riya", "Arjun", "Meera", "Aman"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Riya (b) Hi, Aman (c) Hi, Arjun (d) Hi, Meera - 39.📱 Which one is installed on a phone: an app or a website? (a) a website (b) an app
-
40.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let stars = 33; // start at 32
line 2: stars = stars - 1; // take away 1
line 3: stars = stars + 2; // add 2
line 4: show(stars); // show it
Answer key
- 2
- read user reviews
- line 4
- 5
- Help
- a parameter
- forgetting homework
- a game
- 3.10.1
- minimum
- less code to write
- to build what they need
- 31
- a game
- spot a problem to solve
- location
- a list
- calculator → location
- timer → your photos
- a tap event
- 100
- 3
- ask possible users
- Test 1
- 1
- rate the driver
- uses plain grey boxes
- 90
- to learn from users soon
- poor design
- a flashcard trainer
- 270
- the sound on/off setting
- how users feel after
- 2
- 16
- 0
- Hi, Aman
- an app
- 33
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students