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.🛠️ At which stage do you write down the bugs? (a) the release stage (b) the test stage (c) the plan stage (d) the build stage
-
2.🧰 What does this code show?
function greet(name) {
return "Hello, " + name + "!";
}
show(greet("Zoya")); (a) Hello, Zoya! (b) Hello, name! (c) Zoya (d) greet -
3.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 31; // start at 31
line 2: score = score * 2; // double it
line 3: score = score - 4; // take away 4
line 4: score = score + 2; // double it
line 5: show(score); // show it (a) line 3 (b) line 1 (c) line 4 (d) line 2 -
4.📊 Survey: which problem bugs you most? How many more votes did “forgetting homework” get than “losing water bottles”?
no quiet study place: 12 votes
losing water bottles: 8 votes
forgetting homework: 9 votes - 5.🚀 Your app is at version 1.0.2. The next release fixes a small bug. What is its version number? (a) 1.1.0 (b) 1.1.2 (c) 2.0.0 (d) 1.0.3
-
6.🧩 How many buttons does this app screen have?
[title] Add Homework
[switch] Sound
[text box] City
[button] Send
[button] Save
[button] Back -
7.🖼️ In this wireframe (top to bottom), what is right above the big picture?
[ top bar ]
[ Add button ]
[ tab bar ]
[ big picture ]
[ menu icon ]
[ filter buttons ] (a) top bar (b) filter buttons (c) tab bar (d) menu icon -
8.🧰 What number does this code show?
function double(n) {
return n * 2;
}
show(double(15)); - 9.🔢 In a sign-up flow, which comes LAST? (a) tap “Sign up” (b) open the app (c) enter the code sent (d) see the home screen
-
10.🧩 How many buttons does this app screen have?
[title] Edit Profile
[text box] City
[button] Cancel - 11.Which of these is data? (a) a box to type a name (b) a date picker (c) tap to go Next (d) your friends list
-
12.👆 The user taps the button 1 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 3) {
likes = likes + 1;
}
label.text = likes;
}; - 13.💾 Where should the app save notes to read offline: on the phone or in the cloud? (a) in the cloud (b) on the phone
- 14.👥 A school app has 110 students, 80 teachers and 85 parents as users. Which user group is the biggest? (a) students (b) teachers (c) parents
- 15.Which of these is processing? (a) sorting the scores (b) a pop-up message (c) a result on screen (d) speaking a command
-
16.🔘 Our rule: buttons are at least 48 px tall. Which button is too small?
Help button: 72 px tall
Save button: 44 px tall
Next button: 48 px tall (a) Save (b) Next (c) Help - 17.🗒️ You are planning version 1 of a quiz app. Which feature is a MUST-HAVE? (a) background music (b) an avatar shop (c) confetti effects (d) show the score
-
18.🔁 What number does this code show?
let steps = [18, 4, 3];
let total = 0;
for (let i = 0; i < steps.length; i++) {
total = total + steps[i];
}
show(total); -
19.📊 Survey: which problem bugs you most? Which problem should your app solve first?
no quiet study place: 18 votes
losing water bottles: 8 votes
wasting pocket money: 19 votes (a) wasting pocket money (b) no quiet study place (c) losing water bottles -
20.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let points = 48; // start at 46
line 2: points = points - 4; // take away 4
line 3: points = points + 6; // add 6
line 4: show(points); // show it (a) line 3 (b) line 1 (c) line 2 - 21.♿ A screen has 7 icon buttons. Only 1 of them have a text label for screen readers. How many still need a label?
- 22.🔢 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
- 23.Which of these app ideas solves a real problem? (a) a lost-and-found board (b) an app that just says hi (c) a blank grey screen (d) a page of random dots
-
24.🧪 How many of these test cases pass?
🚚 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(500) → expected 0
Test 2: delivery(200) → expected 40
Test 3: delivery(400) → expected 0 -
25.🖼️ How many parts (boxes) does this wireframe have?
[ tab bar ]
[ top bar ]
[ Save button ]
[ filter buttons ]
[ Add button ]
[ list of items ] -
26.🗒️ Version 1 of a quiz app must be ready in 6 days. How many days are left for extras after the must-haves?
show a question: 3 days
check the answer: 1 days
show the score: 2 days -
27.⚙️ What number does this app show?
let price = 70; // typed by the user
let qty = 5; // typed by the user
let total = price * qty;
show(total); -
28.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. open “Map”
2. tap Back
3. tap the Profile tab
4. open “Badges”
Which screen are you on now? (a) Badges (b) Search (c) Map (d) Home -
29.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(35, 6)); - 30.🗒️ You are planning version 1 of a quiz app. Which feature is a MUST-HAVE? (a) an avatar shop (b) show a question (c) background music (d) confetti effects
-
31.🗒️ Version 1 of a bus tracker must be ready in 10 days. How many days are left for extras after the must-haves?
see where the bus is: 1 days
show arrival time: 4 days
pick your bus stop: 3 days - 32.🔐 Which permission does a birthday list of friends really need? (a) location (b) the microphone (c) the camera (d) contacts
- 33.🔁 A loop over a list of 5 items runs its body how many times? (a) 4 (b) 6 (c) 1 (d) 5
- 34.🌐 Which program do you need to open a website? (a) an app store (b) a web browser (c) a calculator (d) a camera app
- 35.🗒️ You are planning version 1 of a homework planner. Which feature is a MUST-HAVE? (a) pick a theme colour (b) add a homework task (c) share tasks to friends (d) earn stickers
-
36.💾 pop() takes off the last item. What does this code show?
let songs = ["Ocean", "Kites", "Stars"];
songs.pop();
show(songs[songs.length - 1]); (a) Stars (b) Ocean (c) Kites - 37.Which of these is an input? (a) checking a password (b) working out a tip (c) speaking a command (d) a beep sound
- 38.🎯 Why learn about users before you build? (a) to pick a logo (b) to slow it down (c) to make it longer (d) to build what they need
-
39.⚙️ Which line does the processing (works out the answer)?
line 1: let km = 9; // typed by the user
line 2: let metres = km * 1000;
line 3: show(metres); (a) line 3 (b) line 2 (c) line 1 -
40.🔁 What number does this code show?
let steps = [7, 5, 5];
let total = 0;
for (let i = 0; i < steps.length; i++) {
total = total + steps[i];
}
show(total);
Answer key
- the test stage
- Hello, Zoya!
- line 4
- 1
- 1.0.3
- 3
- tab bar
- 30
- see the home screen
- 1
- your friends list
- 1
- on the phone
- students
- sorting the scores
- Save
- show the score
- 25
- wasting pocket money
- line 1
- 6
- read a question
- a lost-and-found board
- 3
- 6
- 0
- 350
- Badges
- 210
- show a question
- 2
- contacts
- 5
- a web browser
- add a homework task
- Kites
- speaking a command
- to build what they need
- line 2
- 17
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students