# Support Computational Thinking for the Entire Curriculum

Today is the second post in our Wolfram Programming Lab series, and I’ll be highlighting how the Wolfram Language supports the development of computational thinking skills for almost any subject matter. Students solidify concepts and practices by making connections to all of their subjects, not just a few here and there. By incorporating computational thinking across the curriculum, teachers give their students an opportunity to develop twenty-first-century skills to automate processes and solve messy problems with real-world data. In this blog post, I’ll take a look at several Explorations in Wolfram Programming Lab to show the possibilities of programming in the Wolfram Language.

Before getting into the specifics, I want to start off with a working definition of what computational thinking actually is. “Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science” (Jeannette M. Wing). We’re seeing a shift toward analyzing real-world data and the automation of processes. Have students build a web-based calculator instead of just using one. Use the entire population of a country as sample data instead of just the people in the classroom. Wolfram Programming Lab Explorations showcase that with only a few lines of code, teachers can bring computational thinking activities into any classroom.

The first activity I’m going to focus on is Draw a Sphere, which could be for a math or geometry class. In this starter Exploration, students are taken through the process of creating three-dimensional objects. Students in lower grades are exposed to the concept of functions along with exploring properties of 3D shapes, since these shapes are interactive. Older students are introduced to the fundamentals of Wolfram Language syntax and geometric computing.

The next Exploration, Palindromes of English, could be used in an English class. After learning the definition of a palindrome, students solidify the concept by writing a short program to automatically find and produce all the palindromes in the English language. This is a fantastic starting point to foster creative ways to apply computation to words and larger pieces of text. Students could analyze Twitter feeds of major corporations to determine customer satisfaction, or do sentiment analysis on political blogs to determine the popularity of candidate issues. The possibilities are endless once teachers have embraced computational thinking in the classroom. And for those students looking for more, in most Explorations there are Go Further sections to provide additional coding challenges.

For my third Exploration, I’m going to look at an activity called Flag Colors, which could be used in a geography or history class. After completing the Exploration, teachers can lead students in an open-ended discussion and further extend activity by analyzing and drawing connections between countries and their flag colors. Are flags of neighboring countries similar? What is the dominant flag color for each continent? This same type of activity could be replaced with corporate logos, movie posters, album covers, etc.

The last Exploration I want to highlight is Picture Patterns. Students create a piece of digital art using automated processes with mathematical concepts such as reflections and translations. It’s an intermediate Exploration, which means it might be slightly more difficult than the previous activities. It’s an excellent example of taking a computational thinking approach, where students automate the process of reflecting and assembling the new image. It also allows the students to have a choice in what their new art contains. With natural language input capabilities, the Wolfram Language has information on virtually everything. As with most Explorations, students not only create a single instance of the program, but create a web form to share with the world.

These four Explorations are merely a glimpse of what is possible with the Wolfram Language. Teachers can use Programming Lab Explorations as the hook activity at the beginning of a unit or as an extension to an in-class discussion. Yes, the teacher will need to do a little work to understand what functions you could use with your particular subject area, but the effort is well worth it. Students will make connections throughout the curriculum and gain necessary problem-solving and coding skills for their life outside the classroom.

I encourage you to check out the rest of the Explorations in Wolfram Programming Lab. If you don’t have a Wolfram Account, view them in the Wolfram Open Cloud. There are numerous resources out there to help teachers prepare for adopting a computational thinking approach. An Elementary Introduction to the Wolfram Language is a more structured approach to learning the Wolfram Language. It’s also built directly into Programming Lab to ease switching between Explorations and sections in the book. If you’re interested in sample lesson plans, my colleague Rob Morris and I wrote a blog series called Using the Wolfram Language in the Classroom. There is also a nice summary of activities and resources for the Hour of Code.

What: Introducing Wolfram Programming Lab: Virtual Workshop for Educators
When: February 25, 2016, 4–5pm EST
Where: Free online
Who: Anyone who’s interested—no coding experience needed!

We’ll go over how to get started using Programming Lab, its built-in Explorations, and case studies from elementary schools and secondary classrooms with plenty of time for Q&A. You can register here. I look forward to seeing you there.

 But why do students need to know what all the English palindromes are, or how to use a computer to find them? Can Mathematica help kids learn how to spell, learn the rules of grammar, or how to write an essay? Can Mathematica improve a studentâ€™s reading comprehension? Those are the things students need to learn in English class. Posted by Ted Ersek    February 19, 2016 at 6:14 am
 It goes back to the idea that if students are exposed to critical thinking exercises across the curriculum, those skills are more likely stick. And to your comment about learning to spell…actually it does. If you want to focus on just the fact that students are typing, when working with elementary and middle school students, I’ve seen an increasing in spelling abilities. When students work with a block-based programming language, they are just dragging blocks around. With the Wolfram Language, students are using a text-based language. The autocomplete helps tremendously, but as a side effect of coding they are learning how to spell words. For elementary students, it might be spelling the colors correctly. For middle and high school students perhaps is learning how to correctly spell 3D shapes. Beyond addressing spelling skills, I think one of the most important characteristics of good student is being a reflective learner. You can use the Wolfram Language to analyze your writing. I actually wrote a blog post about that here: http://blog.wolfram.com/2015/10/06/using-the-wolfram-language-in-the-classroom-english/ There are definitely ways in which adopting a computational thinking approach to an English classroom can benefit and increase student learning. Posted by Adriana    February 23, 2016 at 11:26 am