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.🔘 Is this good or poor button design: strong colour contrast? (a) poor design (b) good design
-
2.🚀 Which of these versions is the OLDEST?
2.22.6, 3.18.2, 3.10.9, 3.13.7 (a) 3.10.9 (b) 3.13.7 (c) 3.18.2 (d) 2.22.6 -
3.🖼️ In this wireframe (top to bottom), what is right below the search box?
[ big picture ]
[ search box ]
[ top bar ]
[ Save button ] (a) big picture (b) top bar (c) Save button - 4.👥 A library app has 100 readers, 280 librarians and 215 volunteers as users. How many users does it have in all?
- 5.Which of these is true of a website? (a) has a home-screen icon (b) has a web address (c) comes from an app store (d) is installed on a phone
-
6.👆 The user types Riya in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Hello, " + nameBox.text + "!";
}; (a) Hello, Riya! (b) Hello, nameBox.text! (c) Hello! (d) Riya -
7.🖼️ In this wireframe (top to bottom), what is right below the search box?
[ tab bar ]
[ search box ]
[ big picture ]
[ title text ]
[ Save button ] (a) title text (b) Save button (c) big picture (d) tab bar - 8.🎯 Which app would help this user most: a student who keeps forgetting due dates? (a) a water reminder (b) a bus tracker (c) a homework planner (d) a pocket-money tracker
-
9.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let lives = 36; // start at 33
line 2: lives = lives - 2; // take away 2
line 3: lives = lives + 4; // add 4
line 4: lives = lives + 2; // add 2
line 5: show(lives); // show it -
10.🧪 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(7) → expected Pass
Test 2: result(9) → expected Pass
Test 3: result(4) → expected Try again -
11.🧪 How many of these test cases pass?
🎟️ Rule: a ticket costs 50 for children under 11, and 100 for everyone else.
function price(age) {
if (age <= 11) {
return 50;
}
return 100;
}
Test 1: price(9) → expected 50
Test 2: price(17) → expected 100
Test 3: price(16) → expected 100 -
12.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let lives = 45; // start at 45
line 2: lives = lives + 5; // add 5
line 3: lives = lives - 5; // add 5
line 4: lives = lives - 2; // take away 2
line 5: show(lives); // show it - 13.👆 “On tap → do this” links an event to ___. (a) a font (b) a charger (c) a web address (d) an action
- 14.🐞 Finding and fixing bugs is called ___. (a) debugging (b) downloading (c) decorating (d) designing
- 15.🛠️ At which stage do you write the code? (a) the build stage (b) the plan stage (c) the release stage (d) the test stage
- 16.🔘 Is this good or poor button design: buttons almost touching? (a) good design (b) poor design
- 17.👥 A clinic app has 20 patients, 300 doctors and 215 nurses as users. How many users does it have in all?
-
18.👆 The user taps the button 2 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 5) {
likes = likes + 1;
}
label.text = likes;
}; - 19.True or false: the search box changes is a timer event. (a) True (b) False
- 20.📱 The word “app” is short for ___. (a) application (b) appointment (c) apparatus (d) appetite
- 21.True or false: the user types a letter is a text event. (a) False (b) True
- 22.Which of these is an input? (a) a result on screen (b) working out a tip (c) sorting the scores (d) tapping a button
-
23.💾 What number does this code show?
let songs = ["Kites", "Sunrise", "Rain", "Ocean"];
songs.push("Monsoon");
show(songs.length); - 24.True or false: the screen layout is about UX (the experience). (a) False (b) True
- 25.🎯 Which app would help this user most: a teen learning to make snacks? (a) a pocket-money tracker (b) a big-text reader (c) a water reminder (d) a recipe finder
- 26.True or false: icons with no meaning is poor button design. (a) True (b) False
-
27.🧩 Which of these is a button on this screen?
[title] Settings
[button] Cancel
[button] Done
[text box] City
[button] Send (a) Cancel (b) City - 28.🔢 In a quiz-app flow, what comes right after “read a question”? (a) tap “Start quiz” (b) see if it is right (c) pick an answer (d) see the final score
- 29.Which of these is an input? (a) a pop-up message (b) a buzz (vibration) (c) a result on screen (d) taking a photo
-
30.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let stars = 51; // start at 48
line 2: stars = stars + 2; // add 2
line 3: stars = stars - 5; // take away 5
line 4: stars = stars + 6; // add 6
line 5: show(stars); // show it -
31.⚙️ What number does this app show?
let bill = 66; // typed by the user
let friends = 3; // typed by the user
let share = bill / friends;
show(share); - 32.True or false: a slider for volume is an input. (a) True (b) False
- 33.🔀 In this course’s code, which sign tests “is equal to”? (a) !== (b) === (c) => (d) =
- 34.🗒️ Why keep version 1 small? (a) to use up storage (b) to look bigger (c) to learn from users soon (d) to confuse users
-
35.🔀 Which badge does this quiz app show?
let marks = 24;
if (marks >= 80) {
show("Gold");
} else if (marks >= 50) {
show("Silver");
} else {
show("Bronze");
} (a) Bronze (b) Silver (c) Gold - 36.Which of these is true of a website? (a) needs no installing (b) is installed on a phone (c) has a home-screen icon (d) comes from an app store
- 37.🗒️ You are planning version 1 of a quiz app. Which feature can WAIT for a later version? (a) show a question (b) show the score (c) check the answer (d) confetti effects
- 38.🗒️ 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) share tasks to friends (d) add a homework task
-
39.🔁 What is the LAST line this code shows?
let names = ["Arjun", "Zoya", "Meera"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Arjun (b) Hi, Zoya (c) Hi, Meera -
40.🧭 The app has tabs Lessons, Quiz, Me. You start on Lessons, then:
1. open “Edit photo”
2. tap the Me tab
3. open “Edit photo”
How many times must you tap Back to reach the main screen of this tab?
Answer key
- good design
- 2.22.6
- top bar
- 595
- has a web address
- Hello, Riya!
- big picture
- a homework planner
- 40
- 3
- 3
- 43
- an action
- debugging
- the build stage
- poor design
- 535
- 2
- False
- application
- True
- tapping a button
- 5
- False
- a recipe finder
- True
- Cancel
- pick an answer
- taking a photo
- 51
- 22
- True
- ===
- to learn from users soon
- Bronze
- needs no installing
- confetti effects
- share tasks to friends
- Hi, Meera
- 1
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students