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.Which of these is about UI (the look)? (a) the font size (b) how many taps it takes (c) how easy sign-up is (d) how fast a task is done
- 2.Which of these is true of a menu button? (a) opens a list of pages (b) switches main sections (c) goes to the last screen (d) undoes one move
- 3.🧪 Values right at a limit, like age 12 for “under 12”, are called ___. (a) edge cases (b) old cases (c) easy cases (d) phone cases
- 4.True or false: a blank grey screen solves a real problem. (a) False (b) True
- 5.True or false: a wireframe looks like the real app. (a) True (b) False
-
6.🖼️ In this wireframe (top to bottom), what is right below the Save button?
[ tab bar ]
[ search box ]
[ title text ]
[ Save button ]
[ Add button ]
[ list of items ] (a) title text (b) Add button (c) tab bar (d) search box - 7.💾 Data saved only on the phone is lost when ___. (a) the app is closed (b) you send a message (c) the screen turns off (d) the phone is lost
- 8.True or false: the game-over page is a screen. (a) True (b) False
-
9.🔁 What number does this code show?
let scores = [18, 7, 16];
let total = 0;
for (let i = 0; i < scores.length; i++) {
total = total + scores[i];
}
show(total); -
10.👆 The user types Zoya in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Welcome, " + nameBox.text + "!";
}; (a) Welcome, nameBox.text! (b) Welcome, Zoya! (c) Zoya (d) Welcome! -
11.👆 The user taps the button 1 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 2) {
likes = likes + 1;
}
label.text = likes;
}; -
12.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let stars = 46; // start at 46
line 2: stars = stars - 2; // take away 2
line 3: stars = stars + 4; // add 3
line 4: stars = stars - 5; // take away 5
line 5: show(stars); // show it - 13.🚀 Which version is newer: 4.11.0 or 4.4.3? (a) 4.4.3 (b) 4.11.0
-
14.💾 pop() takes off the last item. What does this code show?
let songs = ["Rain", "Stars", "Sunrise", "Kites", "Ocean"];
songs.pop();
show(songs[songs.length - 1]); (a) Stars (b) Sunrise (c) Rain (d) Kites - 15.🔢 In a sign-up flow, which comes FIRST? (a) see the home screen (b) type name and email (c) make a password (d) open the app
-
16.🧰 A museum app works out the entry fee. What number does this code show?
function fee(age) {
if (age < 5) {
return 0;
}
return 60;
}
show(fee(9) + fee(1)); - 17.🔐 Is this permission request fair or too much: map app → location? (a) too much (b) fair
- 18.✏️ Is this true of a wireframe or of a final design: has no real colours? (a) a final design (b) a wireframe
- 19.🔐 Is this permission request fair or too much: timer → your photos? (a) too much (b) fair
- 20.True or false: a wireframe shows where things go. (a) False (b) True
- 21.Which of these app ideas solves no real problem? (a) a medicine reminder (b) a button with no action (c) a library due-date alert (d) a free study-room finder
-
22.🔁 What number does this code show?
let runs = [14, 12, 8, 19, 17];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); -
23.🧩 How many buttons does this app screen have?
[title] Order Snacks
[button] Cancel
[button] Done
[button] Start
[text box] Notes -
24.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let lives = 51; // start at 50
line 2: lives = lives - 4; // take away 4
line 3: lives = lives + 2; // add 2
line 4: show(lives); // show it -
25.🧪 One test case fails. Which one?
📝 Rule: a quiz is passed with 8 or more right answers.
function result(right) {
if (right > 8) {
return "Pass";
}
return "Try again";
}
Test 1: result(10) → expected Pass
Test 2: result(8) → expected Pass
Test 3: result(7) → expected Try again (a) Test 3 (b) Test 1 (c) Test 2 -
26.📊 Survey: which problem bugs you most? How many students voted in all?
losing water bottles: 18 votes
forgetting homework: 13 votes
forgetting birthdays: 19 votes - 27.💾 Where should the app save a class leaderboard: on the phone or in the cloud? (a) in the cloud (b) on the phone
- 28.🗒️ You are planning version 1 of a homework planner. Which feature is a MUST-HAVE? (a) earn stickers (b) see tasks by day (c) pick a theme colour (d) share tasks to friends
- 29.Which of these happens at the test stage? (a) list what users need (b) write the code (c) try every button (d) add the buttons
- 30.🧭 About how many tabs suit a tab bar best? (a) 20 (b) 1 (c) 10 to 12 (d) 3 to 5
- 31.True or false: a class leaderboard fits saving in the cloud. (a) False (b) True
-
32.🔁 What number does this code show?
let runs = [10, 4, 12, 3, 13];
let total = 0;
for (let i = 0; i < runs.length; i++) {
total = total + runs[i];
}
show(total); - 33.🗂️ What kind of app is a puzzle with levels? (a) a tool app (b) a learning app (c) a health app (d) a game
-
34.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 41; // start at 41
line 2: score = score - 5; // add 5
line 3: score = score * 2; // double it
line 4: show(score); // show it -
35.🗒️ Version 1 of a homework planner must be ready in 14 days. How many days are left for extras after the must-haves?
add a homework task: 4 days
set a due date: 4 days
see tasks by day: 2 days -
36.🔀 What does this sign-up rule show?
let age = 16;
if (age >= 13) {
show("Welcome!");
} else {
show("Ask a parent");
} (a) Welcome! (b) Ask a parent - 37.🔘 Is this good or poor button design: a big, easy tap area? (a) good design (b) poor design
- 38.True or false: a draft you are typing fits saving in the cloud. (a) True (b) False
-
39.🔁 What number does this code show?
let scores = [94, 99, 62];
let count = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] >= 70) {
count = count + 1;
}
}
show(count); - 40.Which of these is true of an app? (a) opens in a web browser (b) comes from an app store (c) needs no installing (d) opens from a link
Answer key
- the font size
- opens a list of pages
- edge cases
- False
- False
- Add button
- the phone is lost
- True
- 41
- Welcome, Zoya!
- 1
- 43
- 4.11.0
- Kites
- open the app
- 60
- fair
- a wireframe
- too much
- True
- a button with no action
- 70
- 3
- 49
- Test 2
- 50
- in the cloud
- see tasks by day
- try every button
- 3 to 5
- True
- 42
- a game
- 72
- 4
- Welcome!
- good design
- False
- 2
- comes from an app store
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students