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...
Jul 31, 2018
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.The Projects:Lilypad ArduinoNotorious LED upgrade: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.Galaxy Backpack: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 BackpackLED House Project: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.HACK MY CAR! :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.
Apr 7, 2018
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.A Reading Programming Activity with TemplatesEver 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.Preparing Students for ProgrammingFor 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.Creating a Custom WorkflowI 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
Mar 30, 2018
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.Lesson Design in Three Dimensions, Learning with RobotsThe 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.Robot as PointerFrom the desktop to floorGreat 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:Enlarge the images used in the desktop activity and places them on the floor.Have students working in groups program a robot to move from the image to its match.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.The objectives of this lessonStudents will develop math skills (differentiated by skill)Students will develop communication skills through group collaborationPlanning 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 GroupsThe 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.Calculator- counts the pips on the dice, or computes the solution to the problem on the sheet. This student talks through their process aloud as they work.Verifier- checks the math problem, and is available to help in the computation process.Programmer- writes and inputs the program needed to navigate the robot to the solution.Debugger- follows the program as it runs to discover any errors, also available to assist in the programming process.When Tali introduced the lesson, she spent time talking about each of
Mar 22, 2018
How to Teach Anything Through CodeWelcome 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.Code is a Text, and we Teach Through TextIf 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.Programming is Problem SolvingMy 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).Coding the StandardsComputer Science StandardsLeveled CS experiencesCS FirstGoogle'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.KodableThe FoosBeyond Computer Science- Content Area KnowledgeOpen Studio AppsStory Telling (Thanks, Jacob Lee)DialoguesBeyond Standards- Student EmpowermentProfound platform for sharing and interactingStudents quickly learn that they can create these texts about the things they care about.Like the Show? Buy the Book!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.
Mar 22, 2018
App-Based Blockly ProgrammingWelcome 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”Why Blockly?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 learningProgramming in AppsThere 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 AppsLeveled 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.KodableCody’sQuest by TynkerTheFoosAs 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.TipsFor Teaching Code with Leveled AppsDon’tundercut the tutorials. Many of the apps have a good library of built-in tutorials. Ask your students to engage the tutorials and ‘read the screen’, or look for tips and solutions in the app.Focus on communication and problem-solving. Since the app is going to do the heavy lifting of teaching the programming concepts, this frees you up to teach the important things, like how to ask another...
Mar 17, 2018
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. In this episode, you will learn:How to help students share a BeeBot in a group of 4How to use roles similar to literacy circles to help students manage turns and work in a robot groupHow to create a space that makes it easy for kids to be successful (tape grids and whiteboards)Follow our PodcastThe TeacherCast Educational Network | @TeacherCastSubscribe to Beyond the Hour of Code Today!Follow our HostsJeff Bradbury | @JeffBradburySam Patterson | @SamPatue
Mar 11, 2018
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.
Jan 31, 2018