Lesson Plan: Chapter 17

Connecting to CSTA Standards

GradesConceptSubconceptStandard NumberPractice
6-8Algorithms & ProgrammingModularity2-AP-13Recognizing and Defining Computational Problems: 3.2
6-8Algorithms & ProgrammingProgram Development2-AP-18Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts: 2.2
6-8Impacts of ComputingSocial Interactions2-IC-22Collaborating Around Computing, Creating Computational Artifacts: 2.4, 5.2

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.

Students should break down problems into subproblems, which can be further broken down to smaller parts. Decomposition facilitates aspects of program development by allowing students to focus on one piece at a time (e.g., getting input from the user, processing the data, and displaying the result to the user). Decomposition also enables different students to work on different parts at the same time. For example, animations can be decomposed into multiple scenes, which can be developed independently.

Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.

Collaboration is a common and crucial practice in programming development. Often, many individuals and groups work on the interdependent parts of a project together. Students should assume pre-defined roles within their teams and manage the project workflow using structured timelines. With teacher guidance, they will begin to create collective goals, expectations, and equitable workloads. For example, students may divide the design stage of a game into planning the storyboard, flowchart, and different parts of the game mechanics. They can then distribute tasks and roles among members of the team and assign deadlines.

Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.

Crowdsourcing is gathering services, ideas, or content from a large group of people, especially from the online community. It can be done at the local level (e.g., classroom or school) or global level (e.g., age-appropriate online communities, like Scratch and Minecraft). For example, a group of students could combine animations to create a digital community mosaic. They could also solicit feedback from many people though use of online communities and electronic surveys.

Learning Outcomes/Goals

In this chapter, we address three standards while learning a new way of building software: using Twine online to build a winding narrative. First, the student will learn about decomposition - breaking down elements - as they build the passages of their story line. In addition, they will collaborate in a small team and then work with a large group of people to build forms to get feedback on the development of their story.

Differentiated Instruction

Lower level studentsHigher level students
Builds a story in Twine (make sure to save it at the end in case of browser issues) and can explain how they built it with the help of community inputCan take community input and evolve their story line beyond the scope of this chapter

Transfer Learning

Twine can be used for all kinds of storytelling. Students can explore other stories showcased on the Twinery.org home page and consider how they could use it to tell other types of stories, perhaps built entirely by crowdsourcing. A fun way to try is to start a thread on social media and offer folks the option to add sentences to continue the story, progressively.


  • Crowdsource: Gathering feedback from a varied and large number of people.
  • Decomposition: Also known as factoring, it's the process of breaking down a complex problem into parts sourceopen in new window


Students can be assessed on their understanding of how to break down a story into parts. They could be presented with a story and asked to conceptualize it as a series of consecutive or parallel steps.

Research how decomposition works in computer science and mimic this process by taking a complex narrative and breaking it into parts.Write a summary a given computer problem such as a login and break it down into its parts, building a visual map of the parts.

Quiz Answers

Q1: Decomposing elements of your work allows you to

a. Break up tasks into smaller parts that can be more easily done

b. More easily collaborate with teammates who can be assigned, or choose, to do smaller parts of a project

c. Both of these

Q2: What is crowdsourcing?

a. Assigning licenses to crowds

b. Requesting assistance and collaboration from communities

c. Asking a crowd of people questions

Q3: Airbnb could be considered an example of crowdsourcing.

a. True

b. False

More Resources/Materials

Solution Code

The Google Drawing used in this lesson can be seen hereopen in new window.

Assignment and Rubric: Storytime

Continue to flesh out your collaboration and the story that you are building as a group. Build out your various passages, pauses, chambers, and other elements of your story as blocks in Twine. By the end, you should have four passages, some with dead-end choices and some leading to challenges that must be met to acquire inventory items and keys.

ExemplaryAdequateNeeds Improvement
Students can demonstrate how their work as a team and via crowdsourcing has influenced the development of their storylineThe student lacks elements of the story or of the collaborationThe student lacks both a storyline and proof of collaboration.

*tip: prior to saving as a PDF, select the 'light' mode at the top using the 'sun' icon.