HomeComputer Science

Coding Lesson : Intro To Block Based Programming

Coding Lesson : Intro To Block Based Programming
Like Tweet Pin it Share Share Email

coding lesson computer

I love Lego Mindstorms Ev3 for teaching a coding lesson, but the price to get started is tough to swallow. Enough kits to teach a coding lesson to a class of  16  is 4, which translates to over $1,550.00. Even after getting the kits, you still need 4 computers (not Chromebooks) to run the software. The unfortunate financial reality of Public Education in America is that we are constantly in a state of near starvation. As such, it is not easy to get funds for unproven curricular tools. Stories from other teachers about STEM with robots is not enough to get you the money you need. Typically you need to demonstrate some major benefit in order to get extra money. How then, do you prove that learning coding has a positive impact on your students without breaking your budget?

Block Based Programming

Block based programming means that instead of typing in words with specific formatting to create a program, programmers use graphical blocks. Presenting programming in this manner will allow you to reach younger students. Traditional coding such as that found in the Python Programming Language is often difficult for younger students to process. After all, they may not fully grasp common English yet. Older learners can benefit from spending some time with a block based language as well.

Block based systems allow learners to discover programming structures, and the basics of how computer programs are constructed more easily. Generally speaking the only difference between computer programming languages are the semantic structures used to translate human commands into something a computer can understand. As such, once a student has a grasp of one language (even a block based one) other languages get much easier to grasp.

Coding Lesson with Block Based Programming

Unlike many of my other posts this will not be an actual lesson plan, but rather a guide to a few online lesson plans that I like in particular. I am a firm believer in “why fix it it it ain’t broke”. In this case, since there are so many top quality lessons out there for free I’m not going to reinvent the wheel. I have many, many, other things to occupy myself with.

www.Code.org

I list this one first because it is my personal go to for my students. Any time a students ask about any kind of coding lesson, any time a student seems to want more coding, or any time I need to give them a break from the normal curriculum this is where I go. There are dozens of online coding lessons that can introduce coding, and even allow a deeper delve for students. I typically suggest my students start with the Hour of Code. There are several different content options, and different options based on grade level. After they complete the hour long coding lesson, they can expand into other areas of the site. Code.org is so engaging for the kids that I often use it as a reward. Honestly, if you use nothing else from any of my posts use this.

www.Scratch.MIT.edu

I have used Scratch a little bit myself. I have also only used Scratch in my classroom for students who want independent study. In my class it has been used exclusively on the Raspberry Pi, not the web based version. On the Pi it is amazing. It really allows kids to do physical programming. All of that said, I have spoken with teachers that have used the web version, and its fantastic. One nice thing about Scratch is that it allows kids to be exceptionally creative with their programming.

When I used it I had the kids working through this book, they loved it. Additionally, there are plenty of tutorials on the Scratch Help site, and elsewhere. A great way you could use Scratch is to combine it with the Makey Makey. I haven’t had the opportunity to do so, but I can see its value. If I do use it this way, I can see students making both a game, and a controller for the game they make.

App Inventor 2 (The Best Tool EVER!)

App Inventor 2 is a web based IDE (Integrated Development Environment) for the Android operating system. This block based programming resource will allow your students to create, share, and even sell apps on for any Android device. I don’t know what you are teaching now, but if what you teach touches computers, or computer programming in any way your most common question is “How do I make games/apps?”. Our students hear stories all the time about how kids have made millions making apps. The stories are true, and with the right idea our students can do the same.

In addition to the rare case of a student actually making money by creating an app, this tool is phenomenal for any kind of performance based assessment. In PBA we are working towards having our students create something meaningful, and useful to show mastery of a topic. What better way to do that in a concrete manner than by creating an app that solves a real world problem? Another phenomenal feature is the focus on event driven programming. Being able to teach the concept of EDP alone is well worth using this tool.

There are a huge number of tutorials available for free online dealing with all aspects of AI 2. This is one that is free, and focused on app creation.  I certainly recommend running yourself through any tutorials you use, but you don’t need to be an expert to teach with this tool. The only challenge is that you need some Android devices to use. I solved this problem by purchasing some cheap Android tablets for my classroom, but you don’t need to buy them. Your students may have these devices already, or you may be able to get them donated.

Conclusion

Though it takes some work and creativity, it is absolutely possible to teach coding on a budget. In your classroom you can wrap coding into some other lesson, use coding to help teach a lesson, or teach it as a lesson itself. No matter how you decide to add coding to a STEM curriculum you really need to add it. In my experience few subjects foster higher levels of engagement, teach problem solving more effectively, or develop grit like a coding lesson.

I hope you’ve found this article helpful. If you have, and would like to be updated whenever we post a new article please sign up for notifications below. If you think you know anyone who would benefit from this knowledge, please share the article on your various social media platforms.