Computational Thinking
Computational Thinking
Activity 1: Code Studio - Mickey Mouse! https://studio.code.org/c/565405261
Activity 2a: Trinket - Mickey Mouse - again! https://trinket.io/python/754d9782b7
Activity 2b: Christmas tree:
Define computational thinking and describe at least five skills included in computational thinking
“Computational Thinking (CT) is a problem solving process that includes a number of characteristics and dispositions.” While it is NOT computer science, it does involve the use and development of computer applications. These applications can be used across all disciplines, including science, math, and humanities. Students and teachers that learn to use Computational THinking will be able to identify relationships between academic subjects, as well as applications to their real world environments.
Some of the elements of Computational Thinking include:
Decomposition: Dissect data, processes, or problems into smaller, manageable pieces
Pattern Recognition: Look for patterns, trends, and regularities in data
Abstraction: Identifying and hypothesize on the general principles that generate these patterns
Algorithm Design: Developing the detailed instructions for developing solutions for this and similar problems
There are many skills included in computational thinking. Below are just a few critical skills identified (Roy Pea, 2013):
Using abstractions and pattern recognition to represent the problem in new and different ways:
Draw/diagram the elements of a problem, with relationship to time and place. While constructing a diagram, think about the relationships (that are known) between the components of the problem, and align them with each other. While looking for unknown patterns, be willing to change or start-over, in order to build the best visualization needed to find the hidden patterns that can unlock the solution to the problem. A work-session such as this is best conducted on Poster boards, where work can be saved, and posted in the room for reference, as sometimes important patterns can be spread across multiple hought streams.
Logically organizing and analyzing data:
This process is best conducted as a team, as each individual (based on background and experience) will likely have a different standard for “logical”. In this case, there are some fun and engaging card games that allow the players to identify patterns, that will link the cards together. One such game is called “SETS” where the players need to identify patterns across the cards quickly, organize them together to create a SET. The sets must be organized by Color, Shape, Design, or NONE OF THE ABOVE. IT’s a fun game that will give you a headache, as it requires constant attention, focus, and thought! But in the end, it teaches you to organize and look at data (cards) through multiple lenses at the same time.
Breaking the problem down into smaller parts:
This process entails the use of logic in identifying the critical parts of a problem, and understand how they engage with each other. The opportunity here is to understand what part or parts of a given process are the portions that are causing a problem. In reading this section, it sounded like a doctor or a mechanic troubleshooting a problem with a patient or a car. “My car does not work” is the problem, however, a good mechanic will likely break the problem down into components and try to understand where the process is malfunctioning. Expertise and understanding is critical in this phase, as you will need to understand the process fully in order to be effective in dissecting it into smaller, manageable parts.
Reformulating the problem into a series of ordered steps (algorithmic thinking):
Once the problem has been broken up into smaller, definitive parts, it is important to put the process back together again, in a form that can theoretically fix the problem. Again, using a mechanic as a example, they will take the components of the vehicle apart, and put them back together with working pieces. This is the same with Computational Thinking, where the problem is reformulated in a series of ordered steps, which allows you to better understand the elements of the problem that are causing failure, making the solution more manageable.
Generalizing this problem-solving process to a wide variety of problems:
In many cases, the problem-solving process for one problem, may reveal relevant patterns for solving other problems in similar, or even distinctively different problems. The process that a mechanic would follow would be very similar to the process a doctor would follow in diagnosing and treating a patient.
Explain a rationale for integrating computational thinking in the classroom
According to Janette Wing, Corporate Vice President of Microsoft Research and Columbia University’s Director of the Data Science Institute, computational thinking “involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science.” It is the logic that is needed to be an effective program, but also, the same problem solving logic that can help identify and resolve problems in all aspects of life. These are critical thinking skills that will benefit students beyond computer programming.
Doctoral students only: In an additional paragraph, describe some of the pedagogical concerns of integrating computational thinking in different disciplines
“Computer science plays a vital role in today’s technology and globally connected world, which means that we need to introduce computing ideas to students early during their schooling years.” (SpringLink). THe connected world is springing forward from the connected classroom, and it is becoming more and more important for students to learn the logical problem solving that comes from computational thinking. While this may be a valuable lesson in K-12 for students that will continue to pursue careers in programming, it is challenging to alter the classroom process for all students in order to better prepare students destined for technical careers. Additionally, logic is often taught as part of philosophy and mathematics. The thought of replacing these core building blocks of education will indeed leave students and educators with concerns of conflicting curriculums.
Computational Thinking for Educators - - Unit 1 - Introducing Computational Thinking. (n.d.). Retrieved from https://computationalthinkingcourse.withgoogle.com/unit?lesson=8&unit=1
Grover, Shuchi; Pea, Roy (2013). "Computational Thinking in K–12 A Review of the State of the Field". Educational Researcher. 42. doi:10.3102/0013189x12463051.
Computational Thinking for Educators - - Unit 1 - Introducing Computational Thinking. (n.d.). Retrieved from https://computationalthinkingcourse.withgoogle.com/unit?lesson=8&unit=1
Computational Thinking for All: Pedagogical Approaches to Embedding 21st Century Problem Solving in K-12 Classrooms SpringerLink
Activity 1: Code Studio - Mickey Mouse! https://studio.code.org/c/565405261
Activity 2a: Trinket - Mickey Mouse - again! https://trinket.io/python/754d9782b7
Activity 2b: Christmas tree:
Define computational thinking and describe at least five skills included in computational thinking
“Computational Thinking (CT) is a problem solving process that includes a number of characteristics and dispositions.” While it is NOT computer science, it does involve the use and development of computer applications. These applications can be used across all disciplines, including science, math, and humanities. Students and teachers that learn to use Computational THinking will be able to identify relationships between academic subjects, as well as applications to their real world environments.
Some of the elements of Computational Thinking include:
Decomposition: Dissect data, processes, or problems into smaller, manageable pieces
Pattern Recognition: Look for patterns, trends, and regularities in data
Abstraction: Identifying and hypothesize on the general principles that generate these patterns
Algorithm Design: Developing the detailed instructions for developing solutions for this and similar problems
There are many skills included in computational thinking. Below are just a few critical skills identified (Roy Pea, 2013):
- Using abstractions and pattern recognition to represent the problem in new and different ways
- Logically organizing and analyzing data
- Breaking the problem down into smaller parts
- Reformulating the problem into a series of ordered steps (algorithmic thinking)
- Generalizing this problem-solving process to a wide variety of problems
Using abstractions and pattern recognition to represent the problem in new and different ways:
Draw/diagram the elements of a problem, with relationship to time and place. While constructing a diagram, think about the relationships (that are known) between the components of the problem, and align them with each other. While looking for unknown patterns, be willing to change or start-over, in order to build the best visualization needed to find the hidden patterns that can unlock the solution to the problem. A work-session such as this is best conducted on Poster boards, where work can be saved, and posted in the room for reference, as sometimes important patterns can be spread across multiple hought streams.
Logically organizing and analyzing data:
This process is best conducted as a team, as each individual (based on background and experience) will likely have a different standard for “logical”. In this case, there are some fun and engaging card games that allow the players to identify patterns, that will link the cards together. One such game is called “SETS” where the players need to identify patterns across the cards quickly, organize them together to create a SET. The sets must be organized by Color, Shape, Design, or NONE OF THE ABOVE. IT’s a fun game that will give you a headache, as it requires constant attention, focus, and thought! But in the end, it teaches you to organize and look at data (cards) through multiple lenses at the same time.
Breaking the problem down into smaller parts:
This process entails the use of logic in identifying the critical parts of a problem, and understand how they engage with each other. The opportunity here is to understand what part or parts of a given process are the portions that are causing a problem. In reading this section, it sounded like a doctor or a mechanic troubleshooting a problem with a patient or a car. “My car does not work” is the problem, however, a good mechanic will likely break the problem down into components and try to understand where the process is malfunctioning. Expertise and understanding is critical in this phase, as you will need to understand the process fully in order to be effective in dissecting it into smaller, manageable parts.
Reformulating the problem into a series of ordered steps (algorithmic thinking):
Once the problem has been broken up into smaller, definitive parts, it is important to put the process back together again, in a form that can theoretically fix the problem. Again, using a mechanic as a example, they will take the components of the vehicle apart, and put them back together with working pieces. This is the same with Computational Thinking, where the problem is reformulated in a series of ordered steps, which allows you to better understand the elements of the problem that are causing failure, making the solution more manageable.
Generalizing this problem-solving process to a wide variety of problems:
In many cases, the problem-solving process for one problem, may reveal relevant patterns for solving other problems in similar, or even distinctively different problems. The process that a mechanic would follow would be very similar to the process a doctor would follow in diagnosing and treating a patient.
Explain a rationale for integrating computational thinking in the classroom
According to Janette Wing, Corporate Vice President of Microsoft Research and Columbia University’s Director of the Data Science Institute, computational thinking “involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science.” It is the logic that is needed to be an effective program, but also, the same problem solving logic that can help identify and resolve problems in all aspects of life. These are critical thinking skills that will benefit students beyond computer programming.
Doctoral students only: In an additional paragraph, describe some of the pedagogical concerns of integrating computational thinking in different disciplines
“Computer science plays a vital role in today’s technology and globally connected world, which means that we need to introduce computing ideas to students early during their schooling years.” (SpringLink). THe connected world is springing forward from the connected classroom, and it is becoming more and more important for students to learn the logical problem solving that comes from computational thinking. While this may be a valuable lesson in K-12 for students that will continue to pursue careers in programming, it is challenging to alter the classroom process for all students in order to better prepare students destined for technical careers. Additionally, logic is often taught as part of philosophy and mathematics. The thought of replacing these core building blocks of education will indeed leave students and educators with concerns of conflicting curriculums.
References
Grover, Shuchi; Pea, Roy (2013). "Computational Thinking in K–12 A Review of the State of the Field". Educational Researcher. 42. doi:10.3102/0013189x12463051.
Computational Thinking for Educators - - Unit 1 - Introducing Computational Thinking. (n.d.). Retrieved from https://computationalthinkingcourse.withgoogle.com/unit?lesson=8&unit=1
Computational Thinking for All: Pedagogical Approaches to Embedding 21st Century Problem Solving in K-12 Classrooms SpringerLink

Wow! You're article is very organized. I think of computational thinking as a mindset which not only applies to using computers, but also to thinking of sets of numbers. While it is much easier to handle large sets with matrices and further, using a computer to automatically run through algorithms, it is not only through computers that this can be done. I think that students will more effectively use the tools which you outlined once they have learned just how much work goes into doing it by hand. A healthy level of respect for the amount of work which goes into even a simple program should be more widely known. Before I had begun programming a few years ago, I didn't have much idea and took it for granted. I only imagine it getting worse.
ReplyDeleteI digress though.
I found your blog post very informational and easy to navigate!