Mantas Brovkin - CSP U4 Practice PT Planning Guide
Mantas Brovkin - CSP U4 Practice PT Planning Guide
Project Description
For this project you will create an app that helps a user make a decision. Your app must take in at least one number
and one string from the user that will help to make the decision. All of this information will be used as part of the
decision making process. In addition, your code must include at least one function used to update the screen.
App Requirements
● At least one number and one string used to make and report a decision with a conditional statement
● A function which updates the screen and is called at least twice in the program
● Conditional statement includes at least one logical operator (&&, || or !)
● There are at least three different possible output answers (i.e. “Yes, you can adopt a cat!”, “No, you can’t adopt
a cat”, and “Congratulations, you can adopt a kitten!).
● Every function contains a comment explaining purpose and functionality
● Clear and easy to navigate user interface
● Cleanly written code which is free of errors
Steps
● Brainstorm an app idea for making a decision
● Interview classmates for ideas on what information would be needed to make the decision
● Draft a flowchart of the decision making process
● Design your app’s user interface
● Design and program your app in App Lab
● Collect feedback from your classmates and update your app
● Record a screen capture of your app being used
● Submit your final app
Investigate
Step 1. Brainstorm App Ideas: Your app should be designed to help a user make a decision. For this project your
user is your classmate. The decision can be small or big, like what to eat for lunch or where to apply for a job. Keep in
mind how your idea might help solve a problem for your user.
Step 2. Choose One Idea: Talk through your ideas with a classmate. Pick the one that you are most interested in.
Step 3. Survey Your Classmates: To design your app you’ll need to understand your users. For this project your user
is your classmate, and you’ll need to understand what information will be needed to make the decision.
Find two classmates and talk to them about your topic for a couple minutes. Then fill in this table.
Name What information is needed to make this decision?
Arjun How fast do you want to go, how much range do you need, how big should it be?
Amira How much do you want to pay, how long can you finance, do you want to lease or
own?
Example:
Component Purpose
2
Start your flowchart with a question. What decision are you trying to make?
Baggies are used to represent the variables which store information. In your flowchart,
draw a small rectangle for the variables.
A diamond represents a decision point, based on the original question. Write the
Boolean expression that will be used to determine the answer.
True and False arrows designate the paths taken, based on the result of a decision
(diamond). Note that every decision may have only 2 possible paths that result from it,
one for true and one for false.
A simple arrow indicates that we are moving from one action to the next without
considering any decision. These will generally be used to link a set of actions to be
completed one after the other.
Flowchart
Design
3
Step 6. Design User Interface: In the space below draw a rough sketch of your user interface. This means you should
include all the buttons, text, and images that the user will be able to use. Write notes or draw arrows showing how
different user interface elements should work.
Note: There are no screen requirements for this app - you may use one or more screens.
Prototype
Step 7. Start Building Your App: Build your app. Along the way make sure you:
● Use the design you drew as a starting point, but it’s OK to update as you go.
● Reference the flow chart when setting up your conditional statements
● Use your debugging skills to check that your app is working
● Comment all functions explaining purpose (what does it do) and functionality (how does it work)
Test
Step 8. Testing: You will need to test your app to make sure it works as expected. To do that find at least two
classmates to use your app. While they use the app watch them to see if anything is broken or confusing. Afterwards
ask them to share any specific improvements they’d like to see.
Name Things that could be improved based on Improvements this person recommends
watching them use the app
Change the size of dropdowns Add images and make changes to where the
4
Arjun drop downs are.
Step 9. Pick Improvements: Pick at least one improvement you plan to make to your app based on feedback you
collected from your classmate.
Improvement 1:
Change the size of the text and maybe
rearrange where the images are.
Improvement 2 (Optional):
___________________________________________________________________________________
Step 11: Record Video. Record a video that demonstrates the running of your program as described below. Your
video may NOT contain voice narration and must be no more than 1 minute in length
Explain how the program determines which block of code to execute. What are the possible outcomes of
5
this conditional statement, and how do they affect the program?
(Approx 150 words)
My program uses several conditional statements to output a variety of different possible outcomes. If the
brand by itself is selected, nothing will happen. If I chose a brand and a car type, like an suv for example, it
will output an suv from the selected brand. If I chose the brand Audi and the car type SUV, then it would
display an image of an Audi SQ5. If I chose a Chevrolet and a Sedan, it would display a Chevrolet Malibu;
likewise for Toyota. It also displays the specific qualities of the car, like car name, horsepower, transmission,
towing capacity, mileage, etc. All statistics can be found on the manufacturer’s official website. These
outputs help the user decide what car they should buy within the given criteria and it gives the user
important information about the car suggested to them.
Question 2:
Consider a procedure in your program that performs a specific task.
Explain how this procedure helps manage the complexity of your program. Describe how using this
procedure improves the organization of your code and makes it easier to modify or extend.
(Approx 150 words)
The use of the function “updateScreen();” helps organize code all into one area. When I define the function, I use
conditionals within the function, and I visibly separate all brands so they are able to be edited without confusion. I then
call the function in two different OnEvent actions to update the screen according to the input of the dropdown. Another
use of functions is within the timedLoop I created. I create a function within the action to simultaneously define
variables and create an action. This function allows for the time to be updated and displayed in the top left corner of the
screen. Overall using functions in my program helps organize code and figure out what conditionals will execute what
code.
6
Rubric - Checklist
● The User Interface is easy to navigate, it's clear how the app is
User Interface
designed to be used, and all text is readable.
Code: Warnings & Error Messages ● No warnings or error messages appear when the app is run.
● At least one number and one string are each stored in a variable
Code: Variables
and used to make a decision.