Tag Archives: coding

Computational Thinking and Scratch

In my last blog about computer science learning standards, I wrote about the benefits of students learning to program. Coding was once thought to be a mysterious, obscure skill restricted to a few masterminds. But in light of the STEM demands of the future job world, it’s now considered the ‘new literacy’. Learning to code prepares students for the challenges of the careers of tomorrow. Not only are computers an integral part of daily life but learning how to engage with and control them is a powerful leverage that we can give our young people.

Additionally, programming teaches skills that apply to all jobs: logical or computational thinking, flexibility, persistence, problem-solving, confidence, creativity, and collaboration. Best of all, it’s challenging and it’s fun!

What is computational thinking?

computational thinking like a programmer

Teach students to think in sequential steps like a programmer

Computational thinking is the ability to break down a big problem into smaller sub-problems and to arrange them in an appropriate sequence. It’s a step-by-step procedure that is the foundation of science hypotheses and experiments, diagnoses such as medical evaluations and mechanical problems, and even tying up shoelaces. This cognitive, methodical approach to problem solving is the basis of algorithmic thinking: define the steps to complete the task.

How can computational thinking be taught?

computational thinking

Now that there are graphical programming tools such as Scratch and ScratchJr to teach coding to very young students, we should prepare them to think in a sequential, logical way. Before turning to the computer, break down some simple daily tasks into steps.

Here are some offline activities to try. Have students list all the ‘baby steps’, in the correct order, to complete a task. Then you may want to put their lists to the test by having one student instruct another to follow the steps literally as directed!

  • drink from a juice box
  • go out the door
  • put toothpaste on a toothbrush
  • make a peanut butter sandwich
  • get on a bicycle
  • add 2 two-digit numbers
  • shuffle playing cards
  • take out the garbage
  • get out of bed
  • blow up a balloon

They will soon find that ‘Get a balloon and blow’ might have the tester holding a balloon in his hand but blowing into the air. The steps should be broken down into something like this:

  1. Pick up a balloon.
  2. Place the open end of the balloon between your thumb and index finger.
  3. Put the open end of the balloon into your mouth.
  4. Blow into the balloon.
  5. Squeeze the open end of the balloon shut.
  6. Continue to blow until the balloon is full of air.
  7. Squeeze the open end of the balloon shut.
  8. Tie the open end of the balloon into a knot.

Use natural language first

Scratch cat

Before using the blocks in Scratch have students explain, in their own words, what steps are needed to perform a task.

For example, to make Scratch the cat walk and talk to the viewer, use natural language to list the instructions to the cat:

  1. Begin.
  2. Then take 10 steps forward.
  3. Say “Hello!”

After the steps have been explained verbally or written in natural language sentences, then go to the Scratch program and find the coding blocks that will perform those steps.

computational thinking

Preparing students to think logically and plan their ideas using their own words offline first will ensure success as they begin to construct code.

5 New Features in Scratch 3.0

Scratch is the popular, free program that introduces programming to kids using graphical blocks. The MIT team who created Scratch have announced a new version – Scratch 3.0. It’s expected to be out in a Beta version in August and fully launched in January 2019. At TechnoKids, we’ve been working with a Preview version and are excited to see some great new updates.

Scratch 3

The new Scratch 3.0 editor is clear and easy to use.

Scroll to See

Often the script area can get crowded if there’s lots of code and it’s difficult to organize on a small screen. Happily, now there’s a scroll bar so you can spread groups of code apart and arrange them without worrying about running out of space.

Bigger Blocks

Scratch 3

The coding blocks are bigger in the new version. This was done to help those who working on tablets so that’s it easier to select and drag them, but I find them easier to find and move on a desktop computer as well. And if you don’t want to use the Blocks Palette to pick a block category, you can scroll through all categories of blocks in a single list.

Sprite Information

Scratch 3

To see or change the name, features or information such as size, location, and direction of a sprite you had to press the i on the sprite icon in Scratch 2.0.

In the newer version, all of this information about the sprite is clearly visible right below the stage. You can easily make changes or refer to it at any time as you’re working.

Choose a Sprite Library

Scratch 3 choose sprite

Now it’s easier to find sprites with multiple costumes. In Scratch 2.0 you have to click on a sprite and see if, under the name, there’s a number of costumes listed or if it there’s only one.

In the newer version, hold the mouse pointer over the Choose a Sprite icon and select the magnifying glass to open the library. By just holding the mouse pointer over a sprite in the search gallery, the sprite is animated through all of its poses if there are more than one.
You can actually view the various costumes rather than just seeing a number.

Sound Editor

Scratch 3 robot

The new sound editor has been changed. Recording and trimming are easier. New categories in the sound library include Space, Sports, and Wacky.

What we especially like are the new sound effects that you can apply – Echo and Robot. Kids will have lots of fun being creative with these sound effects.

Digital Citizenship and Scratch

digital citizenship Scratch

There are so many great things about Scratch: it teaches programming skills to kids, it’s fun and easy, and it’s free! Another fantastic feature is the Scratch online community. Students can browse completed projects, try tutorials, create interactive media, share, get feedback, learn from others, participate in discussion forums, and more! A bonus spinoff of this learning community is that students build essential digital citizenship skills as they interact with other Scratch programmers.

Scratch can be used offline, but there are so many benefits to joining the creative online community of Scratchers!

Starter Projects

digital citizenship and Scratch

Scratch has an extensive gallery of sample animations, games, interactive art, music, and stories. New users are encouraged to view them, look at the basic code, and modify them. The code often has tips that explain what it does. Suggestions are given for what can be changed: add sprites to a story, devise more obstacles for a game, or add sound effects. This is a great way for students to create their own unique project yet experience success early in their learning.

Look at the Code

digital citizenship see inside

The See Inside button allows you to view the programming of a project. You can see how someone else’s project works, figure out the blocks needed to create a specific effect, add part of a project to your backpack, or remix it and save it as a new project.

Tutorials

Users new to Scratch can follow step-by-step, animated tutorials to make a project. Alternatively, download a set of illustrated, colorful activity cards and print them for easy to follow instructions.

Remix

The motto of Scratch is Imagine, Program, Share. Budding programmers can learn by downloading and modifying the work of others. Check out how many remixes there are of a sample project in the gallery – sometimes there are over 100 different versions of the original!

When it is uploaded, the remix of another creator’s project automatically gives credit to the original author and any others who contributed to it. Students are also encouraged to write something like “Based on […] by […]” Or “Thanks to […] for […]” In the Project Notes. Citing the source is an essential skill that students must master in any research work. Learning to acknowledge an author and avoiding plagiarism is a critical part of fostering sound digital citizenship.

Build Key Personal Skills

As young people learn to program, they learn to be innovative, build logical and computational thinking, and work collaboratively. These are all important life skills as well as fundamental competencies for the careers of the future.

Foster Digital Citizenship

Using the Scratch online community, students share their work, ask for help, exchange ideas and projects, and collaborate. As students view the work of others, they can click a star to ‘favorite a project’, click a heart to ‘love a project’, or leave a comment. This support boosts the concept of a community of creators who are working together and who encourage one another.

There’s also a set of Scratch Community Guidelines, a brief outline of common sense standards:

  • Be respectful
  • Be constructive
  • Share
  • Keep personal info private
  • Be honest
  • Help keep the site friendly

As students are building programming skills, Scratch can also help them to develop safe and responsible online practices.

Computer Science Learning Standards

As educators, we agree that STEM education matters. The focus on science, technology, engineering, and math not only prepares young people for the jobs of tomorrow, but also builds the vital skills of design, logical thinking, problem solving, and trouble shooting. We recognize the need for students to develop computer literacy but more than just being confident users of technology, we want to encourage a culture of innovation. This has in turn generated a specific interest in computer science and programming as an essential component of the technology curriculum.

computer science scratch

Schools have recognized the need for students in all grades to develop a foundation in programming. The appearance of robotics in classrooms, coding clubs, and graphical, block-based programming languages such as Scratch, ScratchJr, and Blockly allow even primary students to develop an interest in being builders and creators of technology.

So now we’re committed to the value of computer science in our classrooms. But what exactly are the fundamental and critical skills that we should be teaching? A set of core guidelines can help teachers to develop computer science curriculum that introduces the fundamental concepts, engages students to develop an interest in coding, and fosters computational thinking, creativity, perseverance, collaboration, and all the other valuable skills that programming provides. Some schools, school boards, and states have written their own standards but if teachers don’t have a required set of learning standards, there are many resources available.

Here’s a list of sites with computer science standards. Is there one that works for you? Or, combine ideas and create your own.

Computer Science Teachers Association

  • clear, user-friendly set of learning standards
  • 3 levels: k-6, 6-9, 9-12
  • Strands: Computational Thinking, Collaboration, Computing Practice and Programming, Computer and Communications Devices, Community, Global, and Ethical Impacts

International Society for Technology in Education (ISTE)

  • includes all areas of technology
  • recently edited to include Innovative Designer and Computational Thinker as two of seven strands, reflecting the significance of process, logical thinking, and breaking a problem into a sequence of steps

Texas Essential Knowledge and Skills (TEKS)

  • divided into elementary K-2 and 3-5, middle 6, 7, 8, and high school levels
  • programming and designing solutions first mentioned in K-2
  • high school includes specific standards for Computer Science, Game Programming and Design, Robotics Programming and Design, and many more

Next Generation Science Standards

  • search and download by level or topic
  • science-based, but includes Engineering, Technology, and Applications of Science citing the importance of computational thinking, breaking down problems into smaller parts, and real-world applications
  • international; referenced by robotics kits manufacturers such as Lego (Click on Educational Standards to see Common Core and NGSS correlation in this sample) and VEX IQ (VEX IQ Curriculum Education Standards lists learning objectives for its online units)

Prince Edward Island Career and Technical Education: Robotics

  • specific to robotics in Grades 10-12
  • samples of rubrics, rating scales, reflection logbooks, and learning journals

Of course there are many more computer science standards documents online. If you have one to add to the list, please let me know!