Coding Resources 101 by Tim Gard

The MindShare Learning Report: February, 2016

Coding Resources 101

If you think that coding/programming might not be something you’re interested in developing in your classroom/school because you simply don’t know where to begin, you’ve come to the right article! No prior experience required! And you don’t necessarily need to have been subjugated to a university or high school course in Turing, though that would certainly help. Prior experience in coding is of course a huge help in understanding the character of coding and the way in which it helps to develop those 21st Century skills that you so often read about in this publication. Critical thinking, problem solving, creativity and depending on your approach you could include communication and collaboration as well. But where do you go to begin, or enhance your classroom coding environment for your students?

The following list is in no particular order. I won’t comment necessarily on the robustness of the programs either; I’ll let you be the judge of the merits of each program. It also depends on what you want to do in the long run. If you’re a STEM school, or you’re interested in using coding for robotics, then your choice of a program may follow a different path. For example, it makes a good deal of sense to work with Lego’s programming language. Like many introductory programming languages, it uses programming blocks to develop code. The coder can simply drag and drop the attribute blocks to create a program that will run a particular function. This is an ingenious method for teaching coding since the blocks are associated with various controls and actions and can be grouped together to form a logical array of commands. This method helps the students to visualize the code and to understand the syntax of coding without writing the ‘pure’ code.

One of the more recent advancements in coding takes another approach. Since the advent of the Raspberry Pi some innovative groups have bundled this cheap microcomputer together with their own coding platforms so that students can develop everything from ‘mods’ in Minecraft to their own games and music. They can then ‘switch’ between block programming to the actual coding syntax to see how the blocks represent the actual ‘language’ of coding. This is a very useful way to have students ‘step’ into the real world of programming. One example of this approach is from Kano computer. Look to see the micro-computing world continue to evolve with ever more powerful incarnations like Pine64. No doubt, these small, affordable computing platforms will have a huge impact on the world of programming, especially in education.

Lego Robotics and WeDo 2.0

Lego Robotics and their visual ‘block’ programming language is used extensively around the world. Lego just recently released WeDo 2.0 which is aimed at much younger students. WeDo 2.0 is an upgrade from the earlier version with more options, a more robust developing platform and mobile apps for tablets. Not only does WeDo 2.0 give the students the ability to build code for basic robots, but provides a curriculum that focuses on building real world projects with science curriculum connections.

Scratch and Scratch Jr.

Developed and designed at MIT’s famed Media Lab, Scratch is a block programming language meant for students 8 and up. There’s a wonderful community that students can join, and teachers can use to find many examples and support. This is powerful platform and it’s free! Scratch Jr. is an app for either iOS or Android tablets. It’s designed for students aged 5-7.

Code.org

A non-for-profit organization this website is probably one of the best places to start if you’re a programming novice. There are a vast number of resources, and tools to help you and your class get coding. There’s also a special focus on getting more girls to code and they provide a number of examples of women in the tech-world.

Code Monster

You can’t get into coding any faster! Once you’re at the home page you’re presented with two boxes. In the left hand box, you’re presented with JavaScript code and in the right box the result of the JavaScript code is displayed. You are prompted to apply various changes to the code in order to learn how to modify whatever part of the JavaScript. Even younger students could work in this coding environment, though in the long run it’s probably more suitable for older students.

Code Academy

A free resource from an education company. Their mission is ‘to teach the world to code’. And they attempt to do so using the ‘real world’ as their platform. They have a focus on disrupting education and they’re not afraid to make it known that education is broken, and they want to fix it. This platform is more likely oriented to older students however capable younger students might be curious enough to give it a whirl!

This online coding community is focused on middle and high school students. Students can learn to code HTML, CSS, JavaScript and Python. Definitely not for the faint of heart, but it’s a great real-world platform for coding!

Code Combat

Code Combat uses a game scenario to teach students how to code by competing against other students in a classroom setting. This coding resource is meant for older students but it’s an interesting and engaging way to learn about syntax, loops, arrays and the like through a game platform.

Hackety Hack

You’ll have to download the program to use however it’s quick and painless. Their promise is to teach you the basics of programming from the ground up and you are not required to have any previous programming experience. It’s a work in progress, but it’s worth a look if you’re looking for something different.

Khan Academy

Yep, Khan Academy also has a programming ‘school’. You can learn the basics of programming by creating real world projects using real world coding tools. It’s pretty intuitive and it’s a great way to have your middle and high school students work on basic projects using Khan’s video interface.

Lightbot

Using iOS, Android or your browser you can learn how to code by solving puzzles using programming logic. Younger students can use Lightbot and it offers a component for older students as well. It provides a fun way to learn how to code, and it introduces complex coding concepts using an engaging platform.

Stencyl

Building games is probably one of the best and most engaging methods for teaching kids how to code. Stencyl does it in a wonderful way by using the block programming method. It’s available as an iOS and Android app as well. They even offer a free educator’s kit to get Stencyl up and running at your school. This may well be worth investigating a little further if you’re serious about bringing coding into your school for a younger age group (8+).

TechRocket

 This is a one-stop shop for learning how to program Python, iOS, Java, Minecraft, 3D printing and the like. It’s designed for students and there’s a well thought out curriculum that leads students through each step while providing them with challenges and incentives along the way. It’s focused on ages 10-18. Again, another option to consider if you’re interested in bringing some real-world coding to your classroom or school.

Tynker

In my opinion, one of the best online coding systems out there for younger students, though in order to take full advantage of the system it will cost you. There is a free option. It’s a block programming structure however the options for what a student can do are pretty extensive, including controlling robots and drones, building custom games and doing some basic modeling for projects. It provides teachers with a dashboard to assign and monitor student work and there’s also a curriculum you can assign. If you’re truly serious about introducing a robust programming structure into your classroom or school, then you should definitely consider Tynker. It’s suitable for students aged 7-14.

I haven’t covered all of the programming options out there. No doubt there are others however the idea is to ‘wet your appetite’ so to speak. The best way to jump into coding/programming is to, well, jump in! Also, if you have Apple or Android tablets at your disposal there are a myriad of apps available to help you introduce coding/programming into your classroom or school.