![]() |
| image source: https://www.computationalthinkers.com/product/computationalthinking/ |
Computational thinking is a problem solving process that involves the following skills:
- Decomposition - breaking down data, processes, and problems into smaller parts
- Pattern recognition - observing patterns and trends in data
- Abstraction - figuring the principles that generate these patters
- Algorithms design - developing step by step instructions to solve the problems
- Evaluation: Ensuring that your solution is a good one.
An activity that is relevant to me that promotes each of the five skills of computational thinking is selling clothing online to sports fans.
My brother and I started an online clothing company called www.100tees.com and computational thinking plays a large part in all facets of problem solving for my company. For example, we first had to ask the question: How can we break down the process of selling T-shirts into all of it's smaller parts such as: What design program will we use to design the shirts? How will we market the shirts? How will we print the shirts? How will we ship the shirts? How will we manage returns? How will we manage trademark and copyright questions? By breaking the larger problem into smaller parts we were effectively able to come up with workable solutions for our company.
After breaking the larger problem of selling shirts into it's smaller parts and answered each question and began to sell shirts online over the past 6 months we began to recognize patterns. For example: shirt sales increased around holidays and weekends. Shirt sales increased when major breaking news in the sports wold happened and we were able to capitalize on it with our designs. As we continue to collect data we will continue to observe patterns and refine our processes.
There are many variables involved in selling T-shirts so developing an abstraction model is important to separate the forest from the trees. Being able to put some of the non essential details in the background and bring the essential details into the foreground has been beneficial. For example, there are hundreds of variables that go into the reasons people decide to buy a T-shirt online. By focusing on some key principles such as price point, social media networks, trending events, sports of familiarity, and amount of time to market help remove the non-essentials and create a more clear picture of where we are going.Next, my brother and I created an algorithm or step by step instructions for the most efficient method to design, develop, and deploy shirts. I would provide the main idea and my brother would begin a sketch which would go through an iterative process of refining. Once the sketch was complete we would upload the design to our T-shirt platform and I would provide all of the SEO information to help the shirt sell as well as publish the shirt. Once the shirt was published online, I would then use Twitter, facebook, and Instagram to promote the shirt.
Finally, most importantly is our evaluation of the process. One aspect of the evaluation involves receiving feedback and ratings from consumers on our shirts. Another form of evaluation is involves comparing shirts that sold well versus shirts that did not sell well. Reviewing colors, design, and content are key in the evaluation phase
Explain a rationale for integrating computational thinking in the classroom
Integrating computational thinking in the classroom is an excellent idea as it's another method of problem solving that is empirical and practical that will benefit kids throughout their entire lives. It also helps kids begin to see the kind of thinking involved in computer science, which is wildly in demand, and also prepares students for STEM fields as well as fields in the humanities, arts and sciences. Kids are often taught about the scientific method as a process to solve problems which is wonderful, but including other problem solving methodologies such as computational thinking and design thinking provide additional tools for problem solving skills to kids.
Some of the pedagogical concerns of integrating computational thinking center around how and when children should learn this ability and how it should be taught (Voogt, J., et al. 2015). Some argue that CT should not only be part of a college education but that the concepts of CT should be taught in elementary school as well. Therefore some larger pedagogical concerns remains as to what CT concepts should be learned at what stage of education across the spectrum of subjects. CT promotes collaboration and creativity so one major question that has surfaced is whether CT should strictly be a computing subject or whether it should be embedded across other subject areas (Voogt, J., et al. 2015).
Activity 1 - https://studio.code.org/c/823836349
Activity 3 - https://trinket.io/python/6cafa970af
All 5 CT skills were used while creating the two programs in Code Studio and Trinket. Using block-based coding in Code studio made it easier to visualize the breaking down of a larger problem into it's smaller parts.The use of colors and shapes also helped to see patterns emerge. I was able to create a 3-Dimensional tunnel by repeating a pattern 20 times and moving it forward 5 pixels with each shape, which created a 3-D illusion - I found that I am much better at reverse engineering a problem after it is complete to figure out how it works rather than to build it brick by brick. I like to explore with variables to see what they do then after I see how it changed the product I am then better able to understand the logic. For example, on the Studio project, once I was able to identify that the "that turn by degrees" block affects the shape of the object I was able to manipulate the code to create different shapes. Turning by 45 degrees=Octagon, turning 90 degrees creates a square, Turning 120 degrees creates a Triangle, and Turning 150 degrees creates a star. It's much easier to understand these ideas by manipulating the code and immediately viewing the results and then from there being able to understand why that happened.
While building the Christmas Tree I was able to use the skills of abstraction and apply my understanding "objects" to import a second turtle to help build the ornaments. I recognized the pattern of code used to build circles and applied that to my code. One challenge I experienced was how crucial it is to perform commands in the exact right order. If lines of code were in the wrong order it caused problems of the final product. Being able to use rapid prototyping to quickly run a program and identify problems and apply fixes was very useful. I experienced a challenge where after my turtle would create an object and fill it with color and jump forward to create another object, it kept adding lines that would connect the objects instead of moving with the pen up to start a new object, which was a mistake. I kept looking at my code and the examples in the lesson to try and identify a pattern that I was missing and eventually I figured it out. The order of the commands were slightly off from the example and once I corrected the order/pattern I was able to fix it. Evaluation was used in comparing my tree with the example tree and I continued to correct my code until I eventually got very close to the original drawing.
Activity 3 - https://trinket.io/python/6cafa970af
All 5 CT skills were used while creating the two programs in Code Studio and Trinket. Using block-based coding in Code studio made it easier to visualize the breaking down of a larger problem into it's smaller parts.The use of colors and shapes also helped to see patterns emerge. I was able to create a 3-Dimensional tunnel by repeating a pattern 20 times and moving it forward 5 pixels with each shape, which created a 3-D illusion - I found that I am much better at reverse engineering a problem after it is complete to figure out how it works rather than to build it brick by brick. I like to explore with variables to see what they do then after I see how it changed the product I am then better able to understand the logic. For example, on the Studio project, once I was able to identify that the "that turn by degrees" block affects the shape of the object I was able to manipulate the code to create different shapes. Turning by 45 degrees=Octagon, turning 90 degrees creates a square, Turning 120 degrees creates a Triangle, and Turning 150 degrees creates a star. It's much easier to understand these ideas by manipulating the code and immediately viewing the results and then from there being able to understand why that happened.
While building the Christmas Tree I was able to use the skills of abstraction and apply my understanding "objects" to import a second turtle to help build the ornaments. I recognized the pattern of code used to build circles and applied that to my code. One challenge I experienced was how crucial it is to perform commands in the exact right order. If lines of code were in the wrong order it caused problems of the final product. Being able to use rapid prototyping to quickly run a program and identify problems and apply fixes was very useful. I experienced a challenge where after my turtle would create an object and fill it with color and jump forward to create another object, it kept adding lines that would connect the objects instead of moving with the pen up to start a new object, which was a mistake. I kept looking at my code and the examples in the lesson to try and identify a pattern that I was missing and eventually I figured it out. The order of the commands were slightly off from the example and once I corrected the order/pattern I was able to fix it. Evaluation was used in comparing my tree with the example tree and I continued to correct my code until I eventually got very close to the original drawing.

Hi Terrance!
ReplyDeleteGreat post! I enjoyed reading about your experience with your own clothing company, I'll have to check it out! Your experience does a great job demonstrating the principles of computation thinking and can help illustrate the process in a simple way. I specifically appreciate your statement around the various variables that go into why someone may choose your company to purchase shirts from. Often we are diving so deep into assessment that we are churning data that we ultimately do not care about nor will ever use. When this happens, it is easy to become overwhelmed with the amount of data and lose sight of pinpointing specific variables that make the largest difference in outcome. This is why it is critical to make a game plan for exactly what data is needed and how it will be used. It's also beneficial to your consumers who look at privacy rights in a more rigorous manner than before.
P.S. Good job with your holiday tree! I wasn't quite able to get my top red ball to look as perfect as yours!
Andrew Hazelton
Computational thinking definitely has a place in the elementary and early childhood setting. If anything, younger children have the capacity to understand complex thinking if only on a playful and creative level. Much like children having the ability to learn multiple languages easier than older adults for the first time, computational thinking can be taught alongside other methodologies in an environment where it is less about being right and more about understand the "how" and "why" something does or does not work.
Terence,
ReplyDeleteGreat post. Love the designs and principle behind you and your brother-in-law's company. I'll share with my Browns fan friends.
Personally, I fell like computational thinking is increasing in importance, not only because the world is more technological every day, but because there is real value in being bale to dissect a problem, recognize patterns and apply solutions from different areas when those patterns are recognized and similar enough to the new application.