Lists, Loops, and Traversals - Lesson 13: Project - Hackathon Part 1
Overview
This is the first day of a five-day unit project. Students begin the project by choosing a partner, determining a dataset to design the app around, and creating a paper prototype.
Goals
Students will be able to:
- Effectively plan a project using a paper prototype
- Determine a dataset for project usage
Purpose
Students will demonstrate their app design and programming skills throughout this five day project. In addition, students work with a dataset as this ensures students will be using the types of programming constructs required for the Create Performance Task, which this project is designed as a practice for. Students complete the project by individually filling out a Written Response, modeled after the Create PT.
This project can be used as a unit project, or as an end cap to the first semester of the course.
Resources
Getting Started (3 minutes)
Intro the Project
- Today we are beginning the Hackathon Project, which is an opportunity for you to show off what you've learned so far.
- What is a hackathon? Traditionally, hackathons are events where people come together to build something creative in a short amount of time. Sometimes hackathons are centered around a goal or a problem to solve. Usually team members take on different roles (programming, designing, etc.) to get the project done within the time limit.
- You will work with a partner on the Hackathon Project, using a database to create an interesting app.
Activity (40 minutes)
Hackathon Prep
Teaching Tip
Forming Groups: You may opt to form the groups yourself, randomly place students in groups, or let students select their partners based on the dataset they want to work with.
Previewing the Written Response: You may opt to share the CSP Unit 5 Hackathon Project - Written Response with students early just so they know what they'll be expected to write at the end of the 5-day project.
Group: Place students in groups of two.
Distribute: Pass out the CSP Unit 5 Hackathon Project - Planning Guide - one per group.
Read: As a class, read through the Project Description on the Planning Guide.
Hackathon Project
Step 1: Students inspect the data files in the Data folder in the Unit_ProjectTemplate project. Have students select a dataset that looks interesting to them.
Step 2: Now students select how they will traverse a list pulled from their chosen dataset. Using the Planning Guide, students select whether they will use the filter, map, or reduce pattern and explain the specifics.
- Filter (most common option): use the list from one column to determine information that will be filtered from a list created by another column
- Example: dogHeight filters dogNames, so only the names of small dogs are added to the filtered list
- Map: Add or change each item in a list
- Example: map a list of numbers pulled from a column using
Round(number)
- now each number is rounded
- Example: map a list of numbers pulled from a column using
- Reduce: Reduce the data in a list to a single number
- Example: find the smallest number in a list
Step 3: The majority of the lesson should be spent on creating a detailed paper prototype. Students work together to design the screens of their app and design the flow from one screen to the next.
- Draw a prototype which shows how your app will actually run.
- 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.
Wrap Up (2 minutes)
Remarks
- In the next lesson, you will decide your project roles and we will begin to translate your paper prototype to the screen.
Assessment: Optional
Planning Guide: As an optional completion assessment, you can look at steps 1-3 in the Planning Guide.
Standards Alignment
- CSTA K-12 Computer Science Standards (2017): 3A-AP-14, 3A-AP-16, 3A-AP-22, 3A-AP-23
Next Tutorial
In the next tutorial, we will discuss Code.Org Unit 5 Lesson 14, which describes Project Day 2.