Lesson 13: Project - Hackathon Part 1


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.


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.


Lesson Modifications

Warm Up (3 mins)

Activity (40 mins)

Wrap Up (2 mins)

View on Code Studio


Students will be able to:

  • Effectively plan a project using a paper prototype
  • Determine a dataset for project usage



Heads Up! Please make a copy of any documents you plan to share with students.

For the Teachers

For the Students

Teaching Guide

Lesson Modifications

Attention, teachers! If you are teaching virtually or in a socially-distanced classroom, please read the full lesson plan below, then click here to access the modifications.

Warm Up (3 mins)


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 mins)

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 Responses: You may opt to share the CSP U5 Hackathon Project Written Response - 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 U5 Hackathon Project Planning Guide - Activity Guide - one per group.

Read: As a class, read through the Project Description on the Planning Guide.

Hackathon Project

Step 1: Students navigate to a previous project and look at the dataset options. They choose 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 Math.round - now each number is rounded
  • 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 draw out the screens of their app and design the flow from one screen to the next.

Wrap Up (2 mins)


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

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 3A-AP-14 - Use lists to simplify solutions, generalizing computational problems instead of repeated use of simple variables.
  • 3A-AP-16 - Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  • 3A-AP-22 - Design and develop computational artifacts working in team roles using collaborative tools.
  • 3A-AP-23 - Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.