# Tag Archives: coding tips

## Design a Coding Unit for the Classroom

STEM learning objectives are being included in many school, district, and national curriculum standards. As a result, educators are challenged with creating engaging and challenging instructional materials to teach computer science skills. But most teachers don’t have a technology background, much less knowledge of programming. Here’s some help. Whether you’re using ScratchJr, Scratch, HTML and CSS, or Python and the Turtle Library, the activities will be similar. Following are some basic strategies to consider when you start to design a coding unit for the classroom.

## Practice Sequencing Algorithms Offline

Design a coding unit to include offline exercises. This will develop computational thinking. A starting point for instruction is to build algorithms. An algortithm is a description of the program. It uses words and symbols to sequence the instructions.

The logical order of coded instructions is critical. To build this skill, instruct students to physically act out and order a list of directions in simple, everyday language first. For example, if a programmer had to write a program for the task of putting a piece of paper into the trash, it may have the steps:

Have students act out the steps they listed to check them. Or, have a list of mixed up steps that students must unscramble to place them in the correct order.

## Start Simple

When you design a coding unit, move from simple to more complex code slowly.

Don’t offer a complete set of instructions in code and have the students copy it and run it to see the result. This may intimidate young programmers and even make them think that coding is too difficult. Moreover, they won’t learn what each part of the code does.

Instead, write a few lines. Then test the result. The instant response will create a connection between the coding and its function.

In TechnoWhiz, primary students are introduced to ScratchJr by using one block at a time to move the character on the stage. They observe the resulting motion. Then they combine a series of blocks to create a script and see the effect. Next, they add more characters and move them, and learn to loop their actions. By the end of the project, they are able to make an interactive, one-of-a-kind racing game with a background, formatted text, and characters moving at different speeds, dancing, and talking!

## Use Trial and Error

Invite students to experiment with values to figure out what works. Try a number or value. Does it need to be higher or lower? Test often to see what works.

Encourage exploration. For example, when using Python and the Turtle Library, circle(50) draws a circle with a specific size. Students can explore by changing the number to a higher value and a lower one. Or code left(90) to turn the turtle symbol. Then change the value to see what angles the turtle turns. The repeated experimentation will result in learning that can be applied in subsequent activities.

## Teach Debugging

Don’t wait until mistakes are made. Early in the project, create errors with intention. Have students ‘break‘ the script, then fix it. As a result, they will recognize mistakes that may be made later in their own programming and be more likely to correct them independently.

## Apply Skills

Introduce a skill, repeat or review it, and then transfer it to another application using the program. Avoid teaching a concept in isolation. When students re-use skills in different contexts, they will accumulate their knowledge and be able to apply it in their own creative projects.

For example, in TechnoTurtle students learn to use Python to control the movement of a turtle symbol. Then they apply their skills to write scripts to draw pictures and to move the turtle through a maze. In other parts of the project, they learn about variables. Then they use this concept to create Mad Libs and to produce an interactive carnival game.

## Show Samples

Demonstrate how a completed project might look at the beginning of a lesson. This will serve multiple purposes: students will have a clear idea of what they’re making, they will be inspired to create their own unique version, and the sample can be a coding reference guide to use if trouble shooting is needed.

In TechnoHTML, a sample web page about skateboarding sparks student interest and demonstrates the skills they will learn using HTML and CSS:

• Formatting text
• Making lists

## Provide an Opportunity to Share

At the completion of the project, ensure that students have an authentic audience. This helps students to connect their work in the classroom to the real world and see a purpose for their efforts. Their peers are a perfect audience. Celebrate the finished projects and encourage interaction and feedback. The digital nature of programming projects makes it easier than ever to share work with classmates, family, and friends.

For example, in TechnoCode, middle school students place their collection of completed animated scenes, stories, mazes, and games into an Activity Studio to share with others.

Then they invite feedback and recommendations for improvements.

## Reflect on Learning

Finally, give students an opportunity to reflect on their experiences in learning to code. In either written form in a journal or as a class discussion, ask:

1. What did you like about learning to program?
2. Is there anything in your project that you would like to change?
3. What do you wish you knew how to do?
4. Have you learned anything about yourself?
5. What advice would you give to a beginner programmer?

In TechnoTales, students in grades 2 to 5 use five simple reflection responses to gain some insight into their learning.

The young programmers used Scratch to design a story with four scenes, multiple animated characters, a plot with a dilemma to solve, and a happy ending!

## Design a Coding Unit

TechnoKids has elementary and middle school programming projects for Scratch Jr, Scratch, Python and the Turtle Library, and HTML. Before starting to design a coding unit of your own, try one! Visit the TechnoKids online store.

TechnoKids has programming projects to teach ScratchJr, Scratch, Python, and HTML and CSS

## Tips for Teaching Coding to Kids

Teaching coding to kids is more than just giving them lines of code to copy and then run. We want to empower students to become critical thinkers and innovative programmers. To build programming skills, beginners need to be provided with a variety of analytical and engaging experiences. To do that, we should spark their enthusiasm with a collection of activities that ensure success and an understanding of essential coding concepts. As they learn how to code original creations, students will become keen, competent programmers. They will have the foundational STEM skills for the workplace of the future.

Here are some suggested types of activities to consider when teaching coding to kids.

## Explore and Investigate

Teach code a line at a time. Then ask students to analyze and experiment with the code. Explore with different values and see the outcome. What happens with a higher or lower number? When the line of code is moved to a different place, what happens? What happens when a character is omitted? This strategy builds student insight into the meaning of the code so much better than just asking them to copy a given set of instructions and then running them.

## Guess and Check

Provide completed code and ask your students to be detectives. By reading the lines of code, comments, or scanning for words they recognize, they can try to infer what the code will do. Then run the code and see if their guesses were accurate. This makes students keen observers and critical thinkers.

## Use Templates to Jump Start Learning

Young programmers have the ability to understand the code, but don’t always have the keyboarding skills needed to type many lines of code accurately. When introducing specific coding concepts, consider giving the students templates with parts of the code already written. The students just add code to make the desired result.

## Teach Debugging Early

Don’t wait until errors occur and students are frustrated with the inability to correct them. Near the beginning of the coding unit, have the students generate specific errors to break the code. Have them see the resulting problem. Then fix it. As a result, students will become familiar with common mistakes such as omitting characters, mistyping, or placing code in the wrong order. They will recognize errors and know how to correct them.

## Provide Samples to Spark Inspiration

Before starting a new project, inspire students by showing them a completed sampler. The goal is to ignite their interest but not to provide a set of instructions for them to copy. The code becomes a guide for students. They can use it as a starting point or to compare their work for troubleshooting. The sampler becomes the foundation for students to produce their own original projects.

## Offer Support References

Online programming reference lists and libraries are usually so complete and exhaustive that they are ominous for kids to use. Instead, build a list of basic commands that will be used in the project and have it handy for the class to use and check.

## Present Opportunities for Extra Challenges

Differentiated learning studies have shown us that students build skills in a highly diverse way. When teaching coding to kids, they are certain to progress at different rates. Students who struggle need support, repetition, and review activities to grasp coding skills. Some students will ‘get’ the concepts quickly and be ready for new ways to apply and extend their learning. Be prepared for these young experts with optional challenges to keep them excited and involved.

## Reflect on Learning

During, and definitely after the end of the project, provide an opportunity for students to think about their coding experience. Write a journal entry. Ask questions such as: What was your favorite part of the program? What was the hardest part of learning to program? Which skills would you like to learn next? What advice would you give to a person learning how to use this program?

## Teaching Coding to Kids Using TechnoTurtle

TechnoTurtle, a new project by TechnoKids Inc., is an introduction to Python coding for beginners. It is designed for elementary and middle school students to learn basic programming skills. The fun activities include building a maze, creating artwork and spirographs, and inventing interactive games. TechnoTurtle incorporates all the above strategies to inspire young programmers to acquire fundamental technology expertise.

## 8 Coding Tips for Scratch Jr

In Scratch Jr, the Start On Bump block offers an opportunity to make fun action scenes. It also lays the foundation for teaching conditional logic, a cornerstone of computational thinking. Learn about how Start On Bump triggers animated sequences. Afterwards, refer to the helpful coding tips for Scratch Jr. This will allow you to support students when they need to troubleshoot their scripts.

## What Is Bumping?

Start On Bump is a triggering block that allows the programmer to sequence scripts that are activated when a character touches another character. It can cause a character to say something, grow or shrink, move, play a sound, speed up, or stop. One bump can even cause a chain reaction of succeeding bumps to happen.

Most scenes, stories, or games that students create require characters to interact. Start On Bump is a simple way to introduce cause and effect. It lays the groundwork for the logical thinking required in coding activities. Start On Bump is an ideal precursor to the more advanced programming blocks in Scratch, such as if-then, sensing blocks, and variables. It also provides a foundation for writing code in text-based programming languages such as Python.

Sequence events in Scratch Jr using the coding block Start On Bump.

## Random Bumping

A great way to introduce students to conditional logic is to create an animated scene that has random bumping. Games often have objects or characters respond when they contact one another. Using the Start On Bump coding block, a spaceship and an alien can be programmed to fly in two different, continuous action sequences. When they happen to touch by chance, the programmer can code the alien to disappear, change course, say something such as “Got me!”, make a sound, or another creative idea. Find this fun activity in TechnoTales, a coding project using Scratch Jr for primary and elementary grades. It’s the Session 4 Skill Review called Under Attack.

## Intentional Bumping

The next step is to have characters bump in an purposeful way. Young programmers can use bumps to tell a story or have actions sequence in a timely, meaningful way. An object can move to another and only when it touches, does the resulting action occur. So a monster can walk to an apple and then eat it. Or in a fairy tale, a princess can ask for help and then run to a wizard who then moves to a dragon and, when he gets there, causes the dragon to fly away.

Use the Start On Bump tool to cause a series of actions to occur.

## Coding Tips for Scratch Jr Bumping

Triggering a script to run when characters bump can sometimes be difficult. If the characters do not touch, then no action will occur. Moreover, if the characters touch for too long, often an action will happen too many times.

If the characters do not bump, try these ideas:

• Increase the number of steps in a script.
• Increase the size of a character.
• Change the position of a character on the stage.
• Turn on the grid to accurately adjust the number of steps.

If the characters touch too long, try these ideas:

• Always have the bumped character move one step to get away from the character that touched it. After that you can add different coding blocks.
• Decrease the number of steps in a script.
• Decrease the size of a character.
• Change the position of a character on the stage.

TechnoTales is a new STEM project by TechnoKids Inc. It includes a Teacher Guide and Student Workbook with coding activities using Scratch Jr. Primary and elementary students in Grades 2-4 follow the illustrated, step-by-step instructions to create a modern fairy tale. They learn how to build scripts to animate the story action. Find these coding tips for Scratch Jr and more in this coding project!