RCPS strives to integrate Computational Thinking in the everyday lessons of the classroom as well as providing specific instruction in the concept.
Computational Thinking is a useful problem-solving techniques that allows you to break down problems into simple steps that even a computer can understand. We use computational thinking everyday, you may just not have realized what it is called.
Computational Thinking includes four parts.
Abstraction helps students learn to identify the details that are relevant to solving the problem and ignoring the details that aren’t relevant to the issue at hand.
Younger students are encouraged to think through problems in their classrooms and describe possible solutions. This oral language practice helps them prepare for future independent problem solving. Students are involved in "challenges" that create opportunities for them to work with a partner to solve these problems together, such as building towers, bridges or creating habits, etc. Younger students also benefit from experiences in which extra pieces or objects are included in a building challenge and they must determine which pieces are important to the design and which are irrelevant.
Older students are given "real world" relevant problems to work on creating a solution. They use breakout boxes and digital breakouts to identify and decipher crucial information while disregarding irrelevant information. Students must research and explore various ways to solve problems such as how to stop the spread of diseases, creating home that are eco friendly, and rescuing a tiger from a moat.
Algorithm is setting out the steps and rules needed to follow in order to achieve the same desired outcome every time.
Younger students experience lessons in which they verbally tell a teacher how to complete a simple task, such as putting on shoes and socks. This experience with specific language leads to writing algorithms for developmentally appropriate robots and creating animations on iPads with the ScratchJr. app.
Older students learn that daily schedules and routines, solving mathematical problems, planning a budget, determining an outline for writing a story are a few of the many ways students use algorithms in their core learning. Students learn to write algorithms while writing codes in Scratch and for robots.
Decomposition is breaking down complex problems into smaller, manageable parts. Students are challenged to break down tasks like making a sandwich into small steps. This is a real world lesson about technical writing such as instructions for putting things together. (ex IKEA furniture) Lessons like writing out the steps to make a peanut butter and jelly sandwich allow student to see how important it is to give EXACT, specific directions.
Younger students experience stories that help them to understand decomposition such as a messy room at home. This is the BIG problem but there are several smaller problems such as clothes both dirty and clean are not put away or in the laundry, toys and books are all over the floor. This language is used in the classroom to reinforce the identify and help students see smaller problems inside of bigger problems.
Older students build something by only showing them the finished project then giving them the supplies needed to make it without instructions. Students figure out the steps needed to complete the final project. Students will learn ways to delegate in group projects and build time management skills. When students create stop motion videos they have to think in small steps to build to the larger animation.
Pattern Recognition is looking for patterns in the problem and determining solutions.
Younger students use legos to build and explore patterns as well as finding patterns in literature and around our world and in nature. They begin to understand patterns in coding with robots and ScratchJr. The practice using loops to repeat these patterns.
Older students use vex cubes to build machines using a set of directions that must be repeated multiple times to accomplish the build. When coding students look for patterns they can loop without having to repeat the code.
Computational Thinking is an important skill for students to understand. Thinking like a computer builds skills for success.