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.🧩 What do we call one full page of an app? (a) a screen (b) a variable (c) a cable (d) a battery
- 2.🔘 Is this good or poor button design: icons with no meaning? (a) poor design (b) good design
-
3.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. tap the Feed tab
2. open “Help page”
3. tap Back
4. open “Edit photo”
5. tap Back
Which screen are you on now? (a) Chat (b) Help page (c) Feed (d) Edit photo - 4.♿ Accessibility means an app works for ___. (a) everyone (b) nobody (c) only experts (d) only the coder
-
5.💾 What number does this code show?
let songs = ["Rain", "Stars"];
songs.push("Kites");
songs.push("Ocean");
show(songs.length); -
6.🧪 One test case fails. Which one?
🎟️ 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(8) → expected 50
Test 2: price(10) → expected 100
Test 3: price(15) → expected 100 (a) Test 2 (b) Test 1 (c) Test 3 -
7.🧰 What number does this code show?
function points(stars) {
return stars * 10 + 5;
}
show(points(1) + points(4)); - 8.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”
- 9.⚙️ In an app, is tapping a button an input, processing or an output? (a) processing (b) output (c) input
- 10.📅 An app team plans for 2 days, builds for 12 days, tests for 3 days and releases on 1 more day. Planning starts on day 1. On which day does building finish?
- 11.📱 Which one needs no installing: an app or a website? (a) an app (b) a website
-
12.🚀 Which of these versions is the NEWEST?
3.20.2, 4.14.9, 4.3.1, 4.4.9 (a) 4.3.1 (b) 4.4.9 (c) 3.20.2 (d) 4.14.9 -
13.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 37; // start at 34
line 2: score = score + 4; // add 4
line 3: score = score + 2; // add 2
line 4: score = score + 6; // add 6
line 5: show(score); // show it - 14.🔢 In a photo-post flow, which comes first: “take the photo” or “open the camera screen”? (a) take the photo (b) open the camera screen
- 15.🔢 After an app is released, what comes right after “read user reviews”? (a) test it again (b) fix and improve (c) release an update (d) list what to fix
- 16.🧩 In an app, what is the settings page? (a) an input (b) data (c) a button (d) a screen
-
17.🧪 One test case fails. Which one?
🎟️ 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(12) → expected 100
Test 2: price(15) → expected 100
Test 3: price(8) → expected 50 (a) Test 1 (b) Test 3 (c) Test 2 - 18.💾 Saving data in the cloud lets you ___. (a) use it on any device (b) never need a password (c) skip the internet (d) shrink the app
-
19.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. open “Video”
2. tap the Quiz tab
3. tap the Me tab
4. tap the Lessons tab
Which screen are you on now? (a) Lessons (b) Me (c) Quiz (d) Video - 20.💡 Does an app idea like a library due-date alert solve a real problem? (a) No (b) Yes
- 21.True or false: “colour as the only clue” helps everyone use the app. (a) True (b) False
- 22.True or false: “fast-flashing lights” makes the app harder to use. (a) False (b) True
- 23.🔁 What does a loop do? (a) deletes code (b) saves photos (c) repeats code (d) draws icons
- 24.✏️ Is this true of a wireframe or of a final design: shows the real fonts? (a) a final design (b) a wireframe
-
25.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. tap the Profile tab
2. open “Video”
3. tap Back
4. open “Score card”
How many times must you tap Back to reach the main screen of this tab? -
26.🔘 Our rule: buttons are at least 48 px tall. Which button is too small?
Save button: 52 px tall
Help button: 40 px tall
Back button: 64 px tall
Next button: 60 px tall (a) Save (b) Help (c) Back (d) Next - 27.True or false: the search box changes is a text event. (a) True (b) False
- 28.🔢 In a sign-up flow, which comes LAST? (a) enter the code sent (b) see the home screen (c) tap “Sign up” (d) type name and email
-
29.💾 pop() takes off the last item. What does this code show?
let notes = ["Art", "Maths", "Sports", "Music"];
notes.pop();
show(notes[notes.length - 1]); (a) Sports (b) Music (c) Maths (d) Art -
30.🧪 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(350) → expected 40
Test 2: delivery(600) → expected 0
Test 3: delivery(500) → expected 0 -
31.🖼️ In this wireframe (top to bottom), what is right above the title text?
[ list of items ]
[ title text ]
[ filter buttons ]
[ tab bar ]
[ Add button ] (a) tab bar (b) filter buttons (c) list of items (d) Add button - 32.🗒️ You are planning version 1 of a homework planner. Which feature can WAIT for a later version? (a) add a homework task (b) set a due date (c) see tasks by day (d) share tasks to friends
-
33.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let lives = 35; // start at 35
line 2: lives = lives + 2; // double it
line 3: lives = lives + 3; // add 3
line 4: lives = lives + 6; // add 6
line 5: show(lives); // show it -
34.🔁 What number does this code show?
let runs = [17, 17, 14, 8, 12];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); -
35.🧪 How many of these test cases pass?
🚚 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(400) → expected 40
Test 2: delivery(750) → expected 0
Test 3: delivery(700) → expected 0 -
36.🧪 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(500) → expected 40
Test 2: delivery(850) → expected 0
Test 3: delivery(700) → expected 0 - 37.♿ Does this help everyone, or make the app harder to use: fast-flashing lights? (a) helps everyone (b) makes it harder
- 38.💾 Where should the app save notes to read offline: on the phone or in the cloud? (a) in the cloud (b) on the phone
- 39.🔀 With if / else if / else, how many parts run? (a) only one (b) all of them (c) two (d) none
- 40.🔢 In a quiz-app flow, what comes right after “tap “Start quiz””? (a) see the final score (b) see if it is right (c) pick an answer (d) read a question
Answer key
- a screen
- poor design
- Feed
- everyone
- 4
- Test 2
- 60
- a search bar
- input
- 14
- a website
- 4.14.9
- 49
- open the camera screen
- list what to fix
- a screen
- Test 1
- use it on any device
- Lessons
- Yes
- False
- True
- repeats code
- a final design
- 1
- Help
- True
- see the home screen
- Sports
- 3
- list of items
- share tasks to friends
- 79
- 68
- 3
- 40
- makes it harder
- on the phone
- only one
- read a question
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students