# data[].attributes.body
Amy Leon and Rachel Gallo
- Worked and consulted on each topic and aspect as a team

# data[].attributes.headline
Overview of Standard and Indicators: Computational Thinkers

# data[].attributes.subject
Overview of Standard and Indicators: Computational Thinkers

# data[].attributes.body
Students develop and employ strategies for understanding and solving problems in ways that leverage the power of technological methods to develop and test solutions.
5a Students formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
5b Students collect data or identify relevant data sets, use digital tools to analyze them, and represent data in various ways to facilitate problem-solving and decision-making.
5c Students break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.
5d Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.

# data[].attributes.attachment_link.title
Computational thinking: A digital age skill for everyone

# data[].attributes.body
This is a free online module that is designed to help educators integrate computational thinking into their curriculum. The goal of this online course is to increase awareness of computational thinking, examine how it can be integrated into other subject areas, experiment with integrated computational thinking into other subjects, and to help create lesson plans. The course is divided into five units, which are: Introducing Computational Thinking, Exploring Algorithms, Finding Patterns, Developing Algorithms, and Applying Computational Thinking. Educators can work at their own pace to complete the course, but it is expected to take 15-30 hours to complete.

# data[].attributes.attachment_link.readable_text
Computational Thinking (CT) is a problem solving process that includes a number of characteristics and dispositions. CT is essential to the development of computer applications, but it can also be used to support problem solving across all disciplines, including math, science, and the humanities. Students who learn CT across the curriculum can begin to see a relationship between subjects as well as between school and life outside of the classroom.

CT involves a number of skills, including:

Formulating problems in a way that enables us to use a computer and other tools to help solve them

Logically organizing and analyzing data

Representing data through abstractions such as models and simulations

Automating solutions through algorithmic thinking (a series of ordered steps)

Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources

Generalizing and transferring this problem solving process to a wide variety of problems

These skills are supported and enhanced by a number of dispositions or attitudes that include:

Confidence in dealing with complexity

Persistence in working with difficult problems

Tolerance for ambiguity

The ability to deal with open ended problems

The ability to communicate and work with others to achieve a common goal or solution

CT concepts are the mental processes (e.g. abstraction, algorithm design, decomposition, pattern recognition, etc) and tangible outcomes (e.g. automation, data representation, pattern generalization, etc) associated with solving problems in computing. These include and are defined as follows:

Abstraction: Identifying and extracting relevant information to define main idea(s)

Algorithm Design: Creating an ordered series of instructions for solving similar problems or for doing a task

Automation: Having computers or machines do repetitive tasks

Data Analysis: Making sense of data by finding patterns or developing insights

Data Collection: Gathering information

Data Representation: Depicting and organizing data in appropriate graphs, charts, words, or images

Decomposition: Breaking down data, processes, or problems into smaller, manageable parts

Parallelization: Simultaneous processing of smaller tasks from a larger task to more efficiently reach a common goal

Pattern Generalization: Creating models, rules, principles, or theories of observed patterns to test predicted outcomes

Pattern Recognition: Observing patterns, trends, and regularities in data

Simulation: Developing a model to imitate real-world processes

See our Computational Thinking Concepts Guide for a printable version of this list, along with teaching tips for each concept.

# data[].attributes.attachment_link.title
Google for Education: Computational Thinking

# data[].attributes.attachment_link.description
Computational Thinking (CT) is a problem solving process that includes a number of characteristics and dispositions. CT is essential to the development of computer applications, but it can also be used to support problem solving across all disciplines, including math, science, and the humanities.

# data[].attributes.headline
Computational Thinking Vocabulary and Progression Chart

# data[].attributes.subject
Computational Thinking Vocabulary and Progression Chart

# data[].attributes.body
This is an overview of the different computational thinking skills and examples of what each skill looks like throughout a student's educational career.
Being able to see the progression throughout the grade levels will help educators understand what is expected of students when planning to implement these skills within lessons.

# data[].attributes.body
This article from the ISTE website discusses the components of computational thinking and how to implement them into a classroom. The first element is decomposition, which is breaking down complex problems into smaller and more manageable parts. You can introduce decomposition by breaking down simple tasks, such as baking a cake, and then introduce more complex tasks. The second element is pattern recognition, which can help students make predictions, work more efficiently, and establish a strong foundation for designing algorithms. Pattern recognition activities include sorting and mapping tasks. Next, the element of abstraction involves filtering out irrelevant details in problems. This makes problem solving easier for students. Activities can include classification tasks. The last element is algorithm design, which is designing and implementing steps to solve a problem or to complete a task correctly. The article suggests working from designing simple tasks, such as brushing teeth, to more complicated tasks.

# data[].attributes.attachment_link.readable_text
The demand for computer science (CS) in schools has many teachers wondering which components of CS they should implement first.

A couple of years ago, I asked myself the very same question, and I had to remind myself that creating a computer scientist could take up to 25 years! I was relieved that I wasn't responsible for developing middle school computer scientists in only one semester.

I realized that what I needed to do was build the capacity of my students for deeper learning of the right skills - so they could experience success, which would inspire them to continue studying CS after leaving my class.

Advanced expertise in computer science requires knowledge in mathematics (namely discrete math and linear algebra) and problem-solving, and there are plenty of CS fundamentals to choose from.

In my previous position with Richmond Public Schools, we chose to dive in with computational thinking, programming and coding (yes, in that order). Because computational thinking (CT) is the highest order of problem-solving, is a cross-curricular skill, and is understandable to both machines and humans, I recommend building student CT competency by developing their versatility for recognizing and applying the four elements of CT to familiar problems/situations.

Elem ent 1: Decomposition

To introduce your students to decomposition, begin by having them break down a simple task they do all the time, like brushing their teeth, baking a cake, making a sandwich or tying shoelaces. This will help them focus more on their ability to analyze and synthesize familiar information.

Next, introduce them to more complex problems/scenarios that are both unfamiliar and engaging enough to compel them to decompose them, such as investigating a crime scene, coping with the aftermath of natural disasters or planting a school garden.

Teachers who aren't teaching traditional CS classes can help learners build their decomposition skills in their own subject areas by having them apply the concept to improving their writing, creating timelines, factoring quadratics or understanding living organisms. CS teachers can start building student capacity for decomposition with this CT lesson by Code.org. In this lesson, students assume the role of imaginary players and figure out how to play a game with no given instructions.

Element 2: Pattern recognition

Next, have learners map and explain the similarities/differences or patterns. The beauty of this technique is that once students can describe one category (animal or dessert), they will be able to explain the others by following patterns.

For example, the general characteristics of desserts are that they are all sweet; they can be fruit, custard, puddings or frozen; and usually are served at the end of a meal. One or more dessert may be pink, have fruit and served cold, while another type may be yellow, have sprinkles and not use fruit.

Then task students with either drawing or making a collage of their favorite desserts using the patterns they identified (like in the examples above) to help them. Also, have them reflect on how they'd have to start from scratch with either creating or finding each instance of a dessert if they hadn't first identified essential patterns (classification, color, texture, ingredients).

The primary goal here is to get them to understand that finding patterns helps simplify tasks because the same problem-solving techniques can be applied when the problems share patterns (pattern recognition is also used in math, music and literature, human intelligence, history, weather, etc.).

Class projects can be more authentic by focusing application of pattern recognition in forensics, medical sciences, photo identification or behavioral patterns like web browsing and credit card spending.

Element 3: Abstraction

Abstraction involves filtering out - or ignoring - unimportant details, which essentially makes a problem easier to understand and solve. This enables students to develop their models, equations, an image and/or simulations to represent only the important variables.

Element 4: Algorithm design

Algorithm design is determining appropriate steps to take and organiszing them into a series of instructions (a plan) for solving a problem or completing a task correctly. Algorithms are important because they take the knowledge derived from the previous three elements for execution.

Keep it simple when teaching algorithms to students and have them create small plans using their newly learned CT skills, again using simple functions like brushing teeth, baking a cake, making a sandwich, tying shoelaces. Each algorithm must have a starting point, a finishing point and a set of well-defined instructions in between.

CS teachers will also need to help students understand that algorithm design builds upon the previous three elements - which moves a problem from the modeling phase to the operation stage. Students will also need to learn to design algorithms that are both efficient and allow for automation through the use of computers.

Resources to get started

Here are a number of resources to turn to for help:

Remember, learning has no finish line!

Take a moment to reflect on the words of Dr. Stephen R. Covey, "Though you may find some of it to be simple common sense, remember, common sense is not common practice, and I guarantee that if you will focus your efforts in these areas, you will find that great peace and power will come into your life."

I believe these words can be applied to learning CT (and any new concepts or practices) as we help our students use what they already know to develop their CS superpowers!

Jorge Valenzuela is an educational coach and a graduate teaching assistant at Old Dominion University. He is also the lead consultant for Lifelong Learning Defined, Inc,
a national faculty of the Buck Institute for Education and a national teacher effectiveness coach with the International Technology and Engineering Educators Association (ITEEA). You can connect with Jorge on Twitter @JorgeDoesPBL to continue the conversation.

# data[].attributes.attachment_link.description
The demand for computer science (CS) in schools has many teachers wondering which components of CS they should implement first. A couple of years ago, I asked myself the very same question, and I had to remind myself that creating a computer scientist could take up to 25 years!

# data[].attributes.body
Code is another programming tool that helps students learn how to program. Although this program costs money, a teacher can monitor students' learning using their teacher dashboard and assign activities to match certain curriculum. Code is aligned more with real code, and students can see the corresponding JavasScript code as they are building their program. Teachers will get an answer key for every activity, so they can help their students code even if they have no background in coding. Code has many partners such as Disney and Minecraft, which can make programming even more enjoyable for students.

# data[].attributes.attachment_link.title
Learn computer science. Change the world.

# data[].attributes.attachment_link.description
Every student in every school deserves the opportunity to study computer science.

# data[].attributes.body
Hopscotch is an app aimed at teaching K-12 students about visual programming language. Students are able to  design, publish and play their games in a social and safe environment.
Students are able to analyze the games they create via observations and revisit the code in order to gain the desired results.
A free download in the App store
https://www.gethopscotch.com/

# data[].attributes.attachment_link.description
"BRACELET MAKER V2!" by Tiger Lily🐯🌸. Made using the free Hopscotch app!

# data[].attributes.body
Students are able to create surveys, observe the collected data on a spreadsheet and analyze the data through different representations.

# data[].attributes.attachment_link.readable_text
Easily create and share online forms and surveys, and analyze responses in real-time.

Create an online form as easily as creating a document

Select from multiple question types, drag-and-drop to reorder questions, and customize values as easily as pasting a list.

Send polished surveys and forms

Customize colors, images, and fonts to adjust the look and feel or reflect your organization's branding. And add custom logic that shows questions based on answers, for a more seamless experience.

Analyze responses with automatic summaries

See charts with response data update in real-time. Or open the raw data with Google Sheets for deeper analysis or automation.

Create and respond to surveys from anywhere

Access, create, and edit forms on-the-go, from screens big and small. Others can respond to your survey from wherever they are-from any mobile device, tablet, or computer.

Build forms and analyze results together

Add collaborators-just like with Google Docs, Sheets, and Slides-to build questions together in real-time. Then analyze results together without having to share multiple versions of the file.

Work with clean response data

Use built-in intelligence to set response validation rules. For example, ensure that email addresses are properly formatted or that numbers fall within a specified range.

Share forms via email, link, or website

It's easy to share forms with specific people or with a broad audience by embedding forms on your website or sharing the links on social media.

Security, compliance, and privacy

Secure by default

We use industry-leading security measures to keep your data safe, including advanced malware protections. Forms is also cloud-native, eliminating the need for local files and minimizing risk to your devices.

Encryption in transit and at rest

All files uploaded to Google Drive or created in Forms are encrypted in transit and at rest.

Compliance to support regulatory requirements

Our products, including Forms, regularly undergo independent verification of their security, privacy, and compliance controls.

Private by design

Forms adheres to the same robust privacy commitments and data protections as the rest of Google Cloud's enterprise services.

You control your data.

We never use your Forms content for ad purposes.

We never sell your personal information to third parties.

Find the plan that's right for you

Google Forms is a part of Google Workspace

Try Forms for Work

For Personal (Free)

Business Standard

$12 USD

per user / month, 1 year commitment info Or $14.40 per user / month, when billed monthly

done

done

15 GB per user

2 TB per user

done

done

100 participants

150 participants

remove

done

Self-service online and community forums

24/7 online support and community forums

Get a head start with templates

Choose from a variety of surveys, questionnaires, and other professionally-designed templates to kick things off quickly.

Orders

Registration

Feedback

Assessment

Orders

Registration

Feedback

Assessment

# data[].attributes.attachment_link.title
Google Forms: Online Form Creator | Google Workspace

# data[].attributes.attachment_link.description
Use Google Forms to create online forms and surveys with multiple question types. Analyze results in real-time and from any device.

# data[].attributes.body
Scratch is a simple programming language designed to help students create their own stories, animations, games, music, and art. Scratch addresses ISTE Standard 5d by having students write their own story then having them break it up into pieces. Students must plan what they want their characters to do, how they want their characters to look, and create their setting. To create their animation, students must use algorithmic thinking to ensure that commands are in a specific order to automate a representation of their story. After they have planned out their story, students must run and test their animation in the program to make sure that their story runs the way they intend it to. If not, students revise and refine their program to automate their story.

# data[].attributes.attachment_link.description
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.

# data[].attributes.body
Scratch Jr. helps K-2nd grade students with their digital literacy skills by programming their own interactive stores or games. Students engage in problem solving, designing, and free expression on the computer or tablets.

# data[].attributes.attachment_link.description
With ScratchJr, young children (ages 5-7) can program their own interactive stories and games.

# data[].attributes.body
This lesson uses a program by PBS called Scratch Jr. to illustrate how plants grow. Students will learn the components of what helps plants grown while also learning the computational skill of sequencing.

# data[].attributes.attachment_link.description
Create a new document and edit with others at the same time -- from your computer, phone or tablet. Get stuff done with or without an internet connection. Use Docs to edit Word files. Free from Google.

# data[].attributes.body
- Computational thinking is a useful skill because it enables students to learn new technologies more quickly.
- Computational thinking is a transferable skill and can be used is all subject areas, so it can be easily integrated into another lesson.
- Make lessons relatable (ex. doing data analysis on current trends to look for patterns).
- Being a computational thinker means that you are not afraid of failure because a part of being a computational thinker is going through 'trial and error'.
- Ensure that your students know that your classroom is a safe space to explore and try new ideas.