Activity 1.2.1 Picture Pool

Activity 1.2.1 Picture Pool
Introduction
How does animation work? Images can appear to
glide across the surface of a painting canvas on the
screen. In reality, the screen's image changes
discretely, approximately every 30 milliseconds.
What is really happening every time the screen is
drawn?
In this activity, you will play a game as part of a
usability study, in which developers observe users
using a program. You will adopt the game as a
development team, create a plan to improve it, and
complete one sprint.
The principles of game development can be applied
to any game. What is a game you'd like to create?
Games can be used to simulate real situations, like
birds and bees pollinating flowers. By playing with a
simulation, the user can learn about the system being
modeled. What is there to learn about birds, bees,
and pollination? What is another real situation you
might be interested in exploring with a simulation?
Computer programs can have millions of lines of
code. This activity's game is only about 100 lines
long. On average, a line of computer programming
code gets written once and then read by an average of
seven people trying to maintain and improve it. What
do you suppose you look for first when you start
exploring the code of someone else's computer
program?
Materials




Computer with browser
Android device with AI Companion
Google ID
1.2.1 sourceFiles.zip
Procedure
© 2015 Project Lead The Way, Inc.
Introduction to Computer Science Activity 1.2.1 Picture Pool – Page 1
1. In your pair, choose one person to be a test user. The other person will play the
role of a developer conducting a usability study. Follow the instruction for
your role below for 120 seconds. Then switch roles.
a. Test user: Play bouquet_v1.apk on your Android device. Describe the
app's behavior.
b. Developer: Observe the user using the app. Record your observations.
 Which elements of the user interface do they use?
 Do they stumble over any element of the user interface?
 Did it ever look like they expected one thing to happen while
interacting with the interface, but the app didn't respond the way
they expected?
 An app should suit its purpose. As a game, how well did the app
engage the user?
2. What is a usability study? Why do you think it is important? When do you think
it should occur in the development cycle?
3. Now, all team members will be developers. With your partner, create a product
backlog for Bouquet. Brainstorm features that a user might want and why. Later,
you will pick one of the backlog items and break that item down into tasks for a
sprint task list.
4. To get ready to modify the program, examine a high-level description of the
program
5. Each stack of App Inventor blocks provides the code for one event handler or for
one procedure. These stacks provide chunks of functionality. What are the major
chunks of functionality in this program?
6. Why do you think it is important for programmers to provide high-level
documentation of their code?
7. Prioritize your backlog so that one or two items you want to work on first are at
the top. You might want to refine the top one or two items to be more precise
and manageable in the amount of work required to complete them. This is called
grooming the backlog. Your teacher might have the class share ideas and
select distinct features to work on.
Break the top item or two from the backlog into tasks for a sprint task list.
8. Prepare to develop the task at the top of your sprint task list.
a. Authenticate to Google and open the App Inventor 2 development
environment in a web browser. Upload the bouquet_v1.AIA file into App
Inventor.
© 2015 Project Lead The Way, Inc.
Introduction to Computer Science Activity 1.2.1 Picture Pool – Page 2
b. You will keep bouquet_v1.AIA as a record of the version you started with,
and work on the next version with your improvements. Select Projects >
Save project as... and save as bouquet_v2
c. Discuss and record your plan for accomplishing the first task. Use your
Google Doc or other project documentation as directed by your teacher.
9. Develop the task at the top of your sprint task list.
a. So that you can test as you code, launch the AI2 Companion app on your
Android device. Connect to the device using Connect > AI Companion.
b. Decide who will begin as driver and who will begin as navigator. As you
work to accomplish the first sprint task, the driver should think out loud
and the navigator should provide ideas and ask questions. Switch
driver/navigator roles frequently.
c. As you develop, take the time to record problems you encounter, ideas you
tried, results you observed, and reasons why you think an idea doesn't
work when you thought it would. A Word document with screenshots of
code works well for this purpose.
d. When you accomplish a task, save the bouquet_v2.AIA version of your
program as described in the following step.
10. To document your development process, save intermediate versions following
these steps.
a. Save the program in the App Inventor website. You won't work on this
version any more.
b. Download the AIA file using Projects > Export the selected project
(.aia) to my computer. Save this file in the location specified by your
teacher. It documents the progress you made at this stage of development.
c. In App Inventor, select Projects > Save project as and then use a new
name, for example, bouquet_v3. You will continue development using this
new version, and repeat steps a through d when you are ready to document
bouquet_v3.AIA and move on to bouquet_v4.
d. In your Google Doc (or other project documentation as directed by your
teacher), record a sentence or a few sentences to summarize what you have
accomplished with this version.
Record this summary alongside the name of the AIA file you downloaded.
This is the same as the project name on App Inventor's website. You
cannot change the project name in App Inventor, so if you change the file
name, record both the file name and the name of the project it matches.
© 2015 Project Lead The Way, Inc.
Introduction to Computer Science Activity 1.2.1 Picture Pool – Page 3
That way, you have a copy saved for yourself and a copy on the App
Inventor website ready to demonstrate.
11. Submit the following as directed by your teacher:


Deliverable version of the program at the end of your sprint. Your
teacher might direct you to install an APK of your app on one tablet
passed around to all the teams.
Project documentation describing your development process
12. Present your team's work to one or more other teams as directed by your
teacher.
Conclusion Questions
1. Reflect on your team's production of a product. Focus on the process you used to
generate ideas, select ideas, strategize, document, code, test, and present.
Describe and explain ways in which you did well and ways in which you could
improve.
2. Reflect on your team's interpersonal dynamics. Focus on the ways in which team
members contributed toward the product, encouraged the team, and raised
teammates' expertise or enthusiasm.
a. Describe and explain ways in which you did well and ways in which you
could improve.
b. Describe and explain ways in which each of your teammates did well and a
way in which each teammate could improve.
© 2015 Project Lead The Way, Inc.
Introduction to Computer Science Activity 1.2.1 Picture Pool – Page 4