# Computational Thinking Activity

Get Started. It's Free
Computational Thinking Activity

## 2. Problem: Becky is a teacher who likes to sew in her free time. She is on summer break and wants to make a tote bag to use for the upcoming school year. She has many bag patterns that she has made before, but wants to customize her bag so that it fits her exact needs. She needs it to be large enough to hold several notebooks and her accordion file of student work to be graded. It also needs a designated pocket for pens, scissors, and her travel-sized Arc hole-punch. If possible, she would also like side pockets to hold a bottle of water and snacks.

### 2.1. Decomposition: Becky breaks down the bag into parts and considers her preferences for each part. The parts of a typical tote bag are front, back, sides, bottom, strap(s), and pocket(s). She knows that the measurement of the front, back, and sides have to be large enough to hold several notebooks and the accordion file. She determines that she would like her bag to have two straps for extra durability and flexibility when opening the bag to insert or remove items. She wants four inside pockets of varying sizes to fit her pens, hole punch, scissors, and any other miscellaneous items she may decide to bring home. On the outside of the bag, she would like a pocket on each side that is large enough to hold a water bottle or snack. She decides to also add a pocket to the front of the bag for a more appealing design and extra storage space. She also decides to add a loop and button closure, as a zipper is a more complicated type of closure to sew, but she does not want the bag fully opened while traveling.

2.1.1. Rationale: Decomposition is breaking down a problem into small parts that are more easily managed (Yadav, Hong, & Stephenson, 2016; Google, n.d.). Becky has broken down the bag into the individual parts that make it whole. In doing so, she can focus on one part at a time, make a decision about each part and determine how to construct it, and then put the bag back together by combining the different customized parts that she chooses.

### 2.2. Pattern Recognition: Becky sorts through the bag patterns that she already has to see which ones have the features she is looking for. She has a diaper bag pattern with side pockets, front pocket, and a loop/button closure option. She has a tote pattern with the right dimensions to hold her notebooks and files, but it does not have side pockets or a closure. She consults several other bag patterns to find instructions for the types of additional pockets and straps she prefers, and will use a combination of these to create the front and inside pockets. Becky also notices a purse pattern that includes a small strap attached to the top edge of the bag with a d-ring and swivel hook to hold keys. She decides to add this to her bag so she can clip her badge and classroom keys to it.

2.2.1. Rationale: According to Google (n.d.), pattern recognition is “observing patterns, trends and regularities in data.” The patterns or trends in bags is that they have all the of the same basic parts (front/back/sides/bottom/straps) but these parts can be varied (one or two straps, wide bags vs. tall bags, zipper/Velcro/loop closure, etc.) By looking at many different bag patterns, Becky can examine all of the similar parts of the bag (straps, pockets, dimensions of front/back/sides/bottoms), while also noting the variations of each and deciding what she likes best.

### 2.3. Abstraction: Becky decides to use the diaper bag pattern with side pockets as the base pattern for her customized bag. This will give her the general construction process for the bag, but also allow her to customize with varying measurements and style features. She changes the dimensions of the front, back, side, and bottom pieces to match the tote bag pattern, which gives the bag more width than depth, unlike the original diaper bag pattern. She uses the purse pattern to design the pen pocket and two other pockets, but creates her own original design for the hole punch pocket based on the dimensions of the hole punch. Becky is worried that fabric straps might not bear the weight of the items she plans to carry in her bag, so she looks online for alternative strap options. She finds that she can add canvas straps from pre-made canvas webbing that is available at her local craft store.

2.3.1. Rationale: Google (n.d.) defines abstraction as being able to find general principles for patterns found. Becky knows that bag construction is basically the same, regardless of the variation of parts. She can construct a bag based on the diaper bag pattern, but change out individual parts or modify measurements of the parts to suit her needs. According to Wolfram (2016), the prerequisite to inventing an algorithm is being able to clearly understand what is wanted in a “clear and structured way.” Becky is using a simple system of selecting one option of many for each part of her bag. Yadav, Hong, & Stephenson (2016) state that abstraction is also the ability to see how a solution to a problem can be used to solve similar problems. Becky’s original solution was to use components from a variety of patterns to create the bag she needs. However, her patterns did not provide her with the exact pocket dimensions she needed, so she transferred her knowledge of pockets and the dimensions of her hole punch to create a newly sized pocket to add to her bag. She also sought out other patterns and ideas for bags that did not have fabric straps due to the need for something stronger and more durable.

### 2.4. Algorithmic Design: In a notebook, Becky sketches out each part of the bag, notating the fabric cutting measurements for each. She then sketches several pictures to show placement of pockets, straps, and swivel hook based on the bag patterns she has consulted. She writes detailed instructions for each step of the construction process. When finished, she tests her pattern by constructing her bag using her favorite fabrics and colors. Finally, she will share her pattern on her blog so that other crafty teachers may benefit!

2.4.1. Rationale: Algorithmic Design is an ordered, step by step process of how to solve the problem (Google, n.d.; Yadav, Hong, & Stephenson, 2016). Becky has written step by step instructions for constructing the bag, as well as images that would show placement details of each of the parts. She could use these steps again to make more bags or share them with others who could follow her directions to make the same bag.