Join educator and host Dr. Sam Patterson and his cast of puppets as they discuss all things coding and programming.
Welcome to Beyond the Hour of Code, I am your host
Dr. Sam Patterson, makerspace teacher and author of Programming in the Primary Grades, Beyond the Hour of Code.
Not everyone is super excited about coding, especially teachers. My love is learning, self-directed, creative, expressive learning. Code and things you can code are just one of the many tools I use in my space. (I have not yet written the beyond material for sewing and puppets, it is coming)- So what I want to chat about today, the conversation I want to start is about what code is doing in our classes, and how we, as teachers, can respond to the public pressure to code in a way that serves our highest pedagogical goals.
I talk about those a bunch my “Highest Pedagogical Goals” These are big picture goals like “Teach kids to read” “help kids develop the social skills to treat each other with kindness” The simple fact is that unless you are teaching a computer science class, you won’t be teaching your kids to code so that they can learn about coding. Also- You will have to teach some of your kids to code.
My school is an award winner in tech integration, and my students complain that I don’t teach them enough code before asking them to do things with it. This is true. I give direct instruction and practice short shrift and I rush to building something that does something for someone. I interrupt them as they work to show them specific things and as they learn things I didn’t know I have them teach the class. This isn’t comfortable for most of us.
Have you seen the drawing of a person with a circle around them labeled “comfort zone” and the X far outside the circle that says “You Are Here?” This is the land of coding in elementary school. While some of the kids and some of the teachers enjoy the challenge of logic puzzles and the rewards built into them, for many teacher and students the coding games and tutorials we find have little relationship to the world beyond the screen. They feel disconnected, and generic, and cutesy, like a worksheet.
What I strive for instead is a learning experience that takes a simple concept and uses the code platform to play with the concept and connect with other learning we have been doing. Sometimes this might be a ScratchJr “code the aquarium” challenge to have the kids learn loops and apply what they have been learning about fish. Other times we might use a hummingbird robotics kit to recreate a scene from the Berenstain Bears classic “The Spooky Old Tree.”
Instead of relying on the leveled app or challenge to engage the kids, I build my own frame. I create a lousy sample program.* (Always make a minimum, or don’t show them your fancy work, I find that “I could do better than that” is a really productive mindset for kids, especially when compared to “I could never do anything that cool”) I show the kids the lousy sample and leave the code where they can get it to copy, modify, remix, etc.
I do this because I want the kids in my class to spend the time in my class to do things that are specific to my class. I don’t want kids sitting in an app they could do anywhere clicking through screens, that is just giving my time away to an app builder in hopes that their app meets my learning goals. Often the only goal this meets is the external demand for coding.
When our schools and communities call for “coding for all” or “coding in every classroom,” our job as teachers is to make sure that coding, like every other tool that enters our classroom, serves the highest goals we have for our students during the time we share.
I find that focusing on the job the coding is doing (to show, to explain, to model, to storytelling, to control something) more than the code itself – keeps my kids focused on the higher goals. This allows them access to success even if there is something not yet working with the programming. If you only define success by who makes it to level 25 for the app, you may be able to measure that from your dashboard at a glance, but you will not support the depth of learning this time could be created with a stronger focus on creative self-expression rather than efficient syntax assembly.
The sharing and conversation at the end of the lesson can then be more about thing applied, learned, as well as challenges we did not get the best of, yet. When you code to extend a lesson, the kids all share the knowledge of the lesson and the coding experience asks them to apply that knowledge to actions and scenarios, this creates rich opportunity to rehearse the content. For example, working with BeeBots, I had a first-grade class code the robot to visit the inner planets in order then visit the outer planets, and Pluto, in order. I created solar systems with simple planet cards and some blue tape. This gives the kids 20 minutes or so in groups talking about the order of the planets. We were also learning about writing simple code sentences and input and output and counting. The structure of the lesson (groups, robots, on the floor) kept the focus on the content “Which planet is next and how will we get there?”
The most challenging task of trying to teach code in a way that is authentic to students' interests and lives is being able to show code coding is authentic to my own interests.
I don’t come to code through a love of tech. I have a poetry degree and never caught the robot bug in my youth. I built model planes and used hot pins to simulate battle damage. My electronics kits are still in mint condition.
In this episode of Beyond the Hour of Code I share some of the projects I am currently working on to develop my own skills and confidence.
This project has been 2 years in the making and right now I am trying to integrate a sound detector to make the Neopixel ring interactive. Recently I did update the code to make the LEDs less bright. It is a challenge filming the puppet with the light in his chest, the light spoils the white balance.
This is a new build, I want to have it for bike safety as well as a demonstration piece for coding and wearables. I have been chasing down some odd troubleshooting issues and it looks like I might need to replace the Lilypad board I am using.
Testing LEDs on Galaxy Backpack
This is a multigrade project that began with the question “Why aren’t I using a train board to teach electricity and circuits?” In this project, the kids create cardboard houses and we wire them together in larger and larger batches. I am hoping we will have to construct several different power grids along the way. I have posted some of the projects on my Inquiry and Innovation circuits page.
This project will be controlled with BBCMicrobit boards and be programmed with Microsoft’s MakeCode.com website. The block-based code and the provided wiring diagrams make it easy for kids to read the screen and find the information they need to become successful.
This is an idea I have been thinking about for a while. My car is really basic, almost no gauges. I know my car has data I can’t see. My plan is to construct and On-Board Diagnostic device so I can access the data my car is creating. I have the first parts in the mail to me now and I will update you as I figure this out.
What are you up to? What do you dream of or wonder about? Let's wonder together and figure stuff out. Drop me a note in the comments.
In many ways, my whole career changed when I asked the question, “If I can teach coding to pre-readers, can coding help them learn to reading?” This episode of Beyond the hour of code talks through my learning process and highlights some of the most useful pieces.
I have included below the framework and template for one of my ScratchJr coding activities. I find that I only have to build a few of these activities and the kids quickly develop the skills to set up the characters and backgrounds on their own screens.
Check it out and let me know how you can adapt the idea to fit your goals and your learners.
Ever since I discovered that my pre-reading students could code using leveled apps like Kodable and The Foos, as well as open studio apps like Scratch Jr, I have worked to figure out how this fun and engaging challenge could be linked to literacy instruction.
At my previous school, we did very little direct reading instruction in kindergarten, but we work on developing letter and number sense. There are sight words that are studied. As I worked with my kindergarten teachers I asked them what words we could support the kids in spelling and they brought me to the word wall.
For this lesson, I chose “you, have, and peace.” I thought these words made a logical progression of challenges. Then I set to crafting a digital learning experience. I used to do craft paper learning experiences with blackline masters, a photocopier and white out. To create a digital learning experience I build half of a program inside of Scratch Jr. I set up 3 different stages and each stage was a “level” holding one of the 3 words.
I had to make some adjustments to how the app functioned to set some boundaries on this learning experience. I used guided access on the Ipads to turn o the touch on the main stage. This meant my students had to use code to move the letters because they could not click and drag them.
The students have worked in Scratch Jr before, so I only had to show them the activity once and set them to work. Since I had guided access enabled, every Ipad was already on and in the app when I walked in the door.
Once the students got to work there were a couple of standard challenge points. as the “y” moves, it gets reversed. The students had to figure out how to solve that. As the students got into it the room got quieter and there was a level of focus. The challenge was real and in reflection, I can see the kids were learning and struggling because there was a wide range of abilities and success levels. Check out the Youtube video to see the program in action. Click on THIS LINK TO EVERNOTE to download the Scratch Jr file onto your own device.
I use a couple of tools to make this lesson a success, one was guided access. By shutting down parts of the screen I was able to make this open studio app behave like a more restricted leveled app. This allowed me to create a 3 level digital learning experience that engaged and challenged the students. The second built-in tool I used was airdrop. I bet you could use Android's near field to do the same thing, I wrote the experience on one iPad and used airdrop to send it to the 16 iPads in the cart and set them each up. The prep on this was a little intense as it takes time to move the files and activates guided access. The outcome was so good I am working on a more advanced version for our first-grade team.
How are you hacking apps to shape new learning experiences? Drop us a note and share your story.
The school year is kicking off and I am excited to share a terrific series of podcasts with you about teaching with robots. Below is the beginning of the post, be sure to check out the full article on Beyond The Hour of Code.
The idea of teaching young children by playing with robots seems both amazing and laughable. If it is funny or strange, that is only because it is difficult to imagine learning with a robot. Spoiler alert: it will not involve C3PO lecturing your students.
Learning with robots through programming and group work is a very kinesthetic form of learning. Understanding the roles a robot can play will help you design engaging and meaningful lesson. The role a robot can play in a lesson does depend on what a robot can do. While this text refers to several different robots, these are just a few of the ever-expanding selection of educational robots. For the most current and updated information about these robots be sure to check BeyondtheHourofCode.com.
Great news! You have lessons written that are almost robot-ready. The most important element in a robot lesson is to make the location of the robot meaningful. A matching activity designed for desktop work can be adapted quickly to a robot activity. Many lessons take only two steps con convert from desktop to robot lesson:
With this simple idea, you can place answers to math problems on the floor and have students navigate to the right answer once they have solved the problem. Students could also roll dice and navigate to the correct answer. This model of using the robot as a pointer to indicate the correct answer was the seed of a lesson in Tali's class. The robot used in this lesson was a Bee-Bot, a very simple robot that looks like a bumble bee and has a small wheelbase. It is programmed by pressing directional buttons on top of the robot. Every time theBee-Bot moves, it moves 15 cm. The bee bot runs on a grid of 15 cm squares.
Planning this lesson requires knowledge of the students and their math abilities, but with this knowledge, you can do some very meaningful differentiation. Tali had six robots to work with, so she divided her 24 students into six groups. She did not create groups of equal numbers. Instead, she created groups of similar math ability. With ability groups, she was able to customize the challenge level of the work to fit the students' needs. Tali ensured engagement through differentiation.
The core of this lesson is students do the math at hand and navigate the robot to the correct answer. Tali gave each group appropriate math to do and customized the robots grid with the answers needed.
Although the groups had slight variations in size, there were four active roles for students in the groups.
When Tali introduced the lesson, she spent time talking about each of the roles. Then a group including Tali role played through a turn, rotation, and a second turn. This modeled each role as well as the process of changing roles. Compared to managing role rotation, programming a robot is easy.
Once the students were assigned roles and allowed to begin, they worked for about 12 minutes before Tali paused them for reflection. She asked students to share “what they had noticed” so far. This group reflection allows students to share their experience and develop an understanding that others in the room are having an experience similar to their own.
Welcome to episode 2 of Beyond the Hour of Code, a podcast to help teachers do great work. In this episode, we take on a couple of the big ideas we need to use code the best way possible for our elementary students.
If you have been teaching for a while and you don't have a degree in computer programming, no one expects you to stop what you are doing and go become an expert in code, you are an expert in kids. Code is a text, it communicates something, it does something for some reason. With the help of simple apps like ScratchJr, my students can compose these meaningful texts, even my pre-readers.
If you are a teacher who likes to address standards in multiple contexts (spiraling), coding can become another stop on your instructional tour.
My students have plenty of problems to solve every day, and leveled programming apps give me a chance to teach problem-solving skills. Most of the programming work my kids do is more open-ended, and composing those texts is a problem-rich process. Since you as the teacher are not a code expert, this problem solving can be very genuine. When I teach this part of coding I enjoy being a partner in the process with the kids, helping them find the right information on the screen. So much of this is actually reading strategy instruction. (READ THE SCREEN).
Leveled CS experiences
Google's CS First curriculum is a collection of fun activities like “Make your own Google Logo.” Through the activities, students learn about and apply computer science concepts.
Programming in the Primary Grades: Beyond the Hour of Code is your guidebook for keeping the focus on your highest goals as you bring coding into your classroom.
Welcome to Beyond the Hour of Code, the podcast to help you use programming to teach core content. I am Sam Patterson and in today's episode, we talk about blockly-based programming in Apps. For a more detailed discussion check out my new book “Programming in the primary grades: Beyond the Hour of Code”
Blockly is a tool for building visual programming editors Teachers, once they are familiar with the platform, can spot errors much more quickly than they could find a misplaced semicolon.
Blockly based apps allow students to get programming fast. In a 45 minute class period, a student can complete multiple iterations of a functioning video game, an animation, or a model. The speed of creation is especially astonishing to anyone who has spent time working in a text-based programming syntax. The work the students are doing in Hopscoth, Tickle, and Tynker, during grades 2-4 is preparing them to be productive in Scratch in grades 4-8.
When students work in several different apps that are based on blockly they are able to transfer lessons learned in one programming environment into another. The fluid use of apps also helps students practice learning
There are many tablet-based programming apps available and there seems to be more every day for both iOS and Android. Check the last chapter of this text for our annotated bibliography of programming apps. Programming apps are generally categorized as leveled game-style apps or as open studio apps. The leveled apps are designed to teach the user the basic principles of programming through a gamified experience where level by level the challenges become greater.
Open studio apps aim to let the user design and build programs within the app that can often be shared with others using a community within the app or a web-based interface that connects to the app. One style of app is not superior to the other, they just do different things. When you’re deciding which to use in a lesson, think about your learning goals and match the app to fit.
Leveled programming apps, like Kodable, Cody's Quest by Tynker, and The Foosuse all of the mechanics of games to guide students through a process of learning tools, commands, and structures available in that platform. These are introduced one at a time in the context of a challenge. These apps can be powerful learning tools to use in whole class instruction as well as individual and choice-based learning contexts.
As a teacher, you will notice that the apps self-differentiate. Students work quickly through the levels they “get” and have to spend more time with others. Even though the leveled apps can be fairly self-contained, using them in the classroom is not a simple matter of handing out iPads. There are a few tricks and structures that can help support student learning and success.
Open studio programming apps, like Scratch Jr, the create side of Tynker and Hopscotch, require a very different support strategy in the primary grades. An open studio app does not have levels, goals, points, stars, or any built-in motivational supports. Teachers using an open studio app need to create a complete educational experience and use strategies of sharing and communication to keep students engaged and motivated.
Any teacher who has taught writing will be very familiar with one of the greatest challenges in an open studio app, the challenge of the blank white page. When students open Hopscotch or Scratch Jr, they can do anything. This infinite potential can be a huge problem.
Balance direction and discovery.When students figure out something for themselves, they own that knowledge.
Connect the challenge to content.Open studio apps are great for connecting to content.Know the platform.The teacher needs to understand how open studio apps, like ScratchJr, Tickle App, or Hopscotch work. You don’t have to be a programmer, but a basic knowledge of the platform and access to resources is important with an open studio app.
Design a digital learning experience.If the app allows you to do so, prep for a lesson by designing a code project populated with activities. In the learning, through code chapters, you will read some detailed examples of this.
As a teacher, you don’t have to be a programming expert, but you should know each platform well enough to help the students transfer understanding from one app to the other.
Thanks for learning with me today. I hope you will visit beyondthehourofcode.com and join the community of teachers working to use programming as a model of creative academic expression. Click HERE to order my book.
In this episode of Beyond the Hour of Code, we DARE TO SHARE and we SHARE to CARE! Big slogans made of short words and the power of programming and robots to help your kids learn how to share jobs and resources in the classroom.
A side note last week I used this lesson in Kindergarten with the BeeBots and I said to the class, “The hardest thing about working with the BeeBots is NOT programming the robot, that is just pushing buttons. The hardest part of working with Bee Bots is-” and at this point I hear a soft voice, calling out, but not loudly “it is the sharing.”
This child was not in trouble because he was right. The sharing is the hardest part, and today we are going to talk about how to create a lesson and set expectations that help students learn from this sharing process.
Hello and welcome to the first episode of a brand new Podcast called Beyond the Hour of Code. If you are an educator or parent looking for information about how to enhance your classroom lessons and activities through STEM education, coding, and robotics activities, this is the podcast for you.
First of all, thank you for clicking on the link and checking out this post. My name is Sam Patterson and together, we will take a journey through the simplistically complex world of coding and programming and learn how to help your kids learn these vital 21st-Century skills.
Mitch Resnick, the researcher who developed Scratch, describes programming as a medium of learning and comprehension building. When students are asked to program fish to swim in a coral reef they are going to ask how a starfish swims. They will wonder if a whale belongs in the reef. They will ask the other student in their table group what color they should make the seahorse. Students will get the books off the shelf and look up the images and stories the class has shared in order to make an accurate model. Programming this challenge instead of making a poster allows the students to move past the simple question of “what is it” to more advanced questions like “What does it do?” and “How does it relate to the rest of the environment.”
Programming is a vehicle that allows teachers to help students develop a more complete understanding of any subject. At it's most integrated, programming becomes just another way we have students process information. In the youngest grades, programming slows them down enough to enforce procedural thinking.
For the last 5 years, I have had the opportunity to work with students in grades K-5 as a STEM teacher. I have learned over these years how important it is to give students a structured, content-rich, exploratory space for them to learn. With several years of classroom activities and hundreds of lesson plans saved up, I recently released my first book “Programming in the Primary Grades: Beyond the Hour of Code.” which was written to help you learn how to create the same activities that I provide to my students.
Programming in the Primary Grades: Beyond the Hour of Code will explain all of the platforms available and help teachers develop their own sequence of activities and skills that move students from leveled apps into content area lessons in open studio apps. By the end of this book, teachers should have a good understanding of several basic types of programming-based content area lessons and their own list of ready-to-roll lessons to support learning.
The multi-grade focus of the text is designed to help teachers see how programming skills build year over year. It can also help teachers develop an understanding for how programming skills are applied to content area learning and how that changes from one year of instruction to the next.
Just like math, reading, and writing, once teachers see how this knowledge and practice builds over years, they can release themselves of the responsibility of teaching “all” of programming.
We use robots to layer social learning goals on top of prior learning goals.
There are literally hundreds of thousands of podcasts on iTunes, but there is only one podcast that will help you learn how to bring challenging and exciting coding and programming lessons to the students that you work with each and every day. Please take a moment and click on the Subscribe button on the right side of this blog post and join me each week for Beyond the Hour of Code, the podcast.
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.