Kaung Su Thaw - CSP Unit 5 Hackathon Project Planning Guide
Kaung Su Thaw - CSP Unit 5 Hackathon Project Planning Guide
Kaung Su Thaw - CSP Unit 5 Hackathon Project Planning Guide
Project Description
For this project you will work with a partner. Together you will create an app that uses a dataset. There are two roles in
this project: designer and programmer. You are both responsible for the overall project, but you will focus on different
parts of the project at any given time. On the last day of the project, you will individually complete a written response
that will help you practice for the Create Performance Task.
App Requirements
● At least three screens
○ All screens can be easily navigated to through the user interface
● A dataset used in a meaningful way towards the programs purpose
● At least one list is traversed using: map, reduce, or filter (indicate which in a comment) in a meaningful way
towards the program's purpose
● Programming constructs: variable(s), function(s), conditional(s), list(s), loop(s)
● All functions include comments that explain their purpose and how they work
● All element IDs have meaningful names
● No errors in the code
Steps
● Collaborate with your partner to pick a dataset
● Decide on an app to build which traverses a list from the dataset
● Create a paper prototype
● Designer:
○ Create the screens
○ Support the programmer with pair programming as needed
● Programmer:
○ Program the app
○ Support the designer as needed.
Investigate Phase
Step 1. Choose a Dataset: Open a project on Code Studio and look through the different datasets available. Choose
one that looks interesting to both you and your partner.
Explain in more detail: First, we will be filtering the birds by their primary color. Then we will provide information
regarding the bird according to the chosen name on the drop-down.
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
Design Phase
Step 3. Create a Paper Prototype: On the next page you should draw a prototype that shows how your app will
actually run. This means you should include all the buttons, text, and images that the user will be able to use and see.
Write notes or draw arrows showing how different user interface elements should work. For example, if clicking a
button takes me to another screen, I should draw an arrow from that button to the drawing of the screen.
Before you begin to code, fill out the chart below. Add more rows (or use a scrap piece of paper) as needed.
Element IDs
birdsName data Gets the data from the “Name” column of the 100 Birds of
the world data set.
birdsColor Data Gets the data from the “Primary Color” column of the 100
Birds of the world data set.
sciName Data Gets the data from the “Scientific Name” column of the 100
Birds of the world data set.
id Data Gets the data from the “id” column of the 100 Birds of the
world data set.
Status Data Gets the data from the “Conservation Status” column of the
100 Birds of the world data set.
diet data Gets the data from the “Diet” column of the 100 Birds of the
world data set
pic data Get the data from the “Image of Bird” of the 100 Birds of the
world data set, which contains the address of the picture of
the birds.
range data Get the data from the “Image of Range” of the 100 Birds of
the world data set, which contains the address of the
picture of the range in which the birds exist.
dogSize list A list of dog sizes pulled from the "Max Height" column
Conditional(s)
if dog size is greater than 15, append to a list Inside a for loop that traverses the dogSize list
if ( color == birdscolor[i]) This would filter the colors out into the list of different
specific colors
Loop(s)
onEvent(s)
“blueoption” “change”’ This is a drop down where you can select the options of the
blue birds.
updateScreen updates what Filters the lists and displays the images and names of dogs
appears on the on the screen.
screen after the user
selects a dog
Build Phase
Step 5: Test Screens: Build a quick version of the screens which includes all elements with their proper element IDs.
Do not worry about design at all. This is purely to allow the programmer the ability to test their code as they go along.
Step 6: Build
Programmers: Use the chart to guide you in adding programming statements to your program.
Designers: Use the chart to guide you in adding screen elements to your program. You can work on a separate
computer from your partner.
● When you have finished screens, your partner should delete the test screens and then import the finished
screens.
● Note: If screens are not deleted before importing the project you will get an error message because element
IDs will be the same. To avoid this, add a blank screen, delete the old project screens, import the finished
screens, and delete the blank screen. Make sure to set your home screen to be the default.
Scoring Guidelines
Task Point
Includes a program segment that shows how the initial data has been stored in a list /1
Identifies what the data contained in this list is representing in the program /1
Explains how the list manages complexity by explaining how this program code would be written differently /1
without using this list.
Describes what the function does and how it contributes to the program overall /1
At least one list is traversed using: map, reduce, or filter (indicate which in comment) in a meaningful way /1
towards the program's purpose
Program contains the following programming constructs that are used in meaningful ways towards the
program's purpose
● variable(s) /1
● function(s) /1
● conditional(s) /1
● list(s) /1
● loop(s) /1
● screen #1 /1
● screen #2 /1
● screen #3 /1
All functions include comments that explain purpose and how they work. /1
Total /22