Tuesday, 1 August 2017

HOW AND WHY TO TEACH YOUR CHILD TO CODE [CONT'D]

To continue with our previous discussion  on this topic, let's take a look at some...

More Robust Coding Tools for Older Kids (and the Young at Heart)

The apps below are more advanced, focusing both on the code itself and visualizing how it works.
App Inventor (Web, Free): Formerly a Google project, now hosted by MIT, App Inventor is much like Scratch with its drag-and-drop coding blocks. It includes, however, every method, function, and other coding element you might use to create an Android app—and for good reason. After fiddling with App Inventor, you end up with an actual Android app.
Google App Inventor Wants to Help Non-Coders Build Android Apps
Google's just announced App Inventor, a web-based tool that aims to give non-coders a leg up…

This makes the online tool really robust, but the interface isn't young-kid friendly. It's probably best for at least junior high school kids or older (e.g., adults), as there are no instructions and the features aren't all that intuitive to use.
Alice (Windows, Mac, Linux; Free): Carnegie Melon's Windows, Mac, and Linux desktop app uses a unique 3D programming environment to teach kids the fundamentals of programming. It's more advanced than other kid-friendly programming tools, though great for older kids. A welcome feature: kids can see the code behind their projects in the software. Not-so-welcome: You need Java runtime to run Alice.
Video Lessons from Pluralsight (Web, Free): Online training site Pluralsight offers three video courses for kids, teaching them how to program in C# using Visual Basic, use Scratch, and use App Inventor. If your kids are old enough to sit through video instructions, these could help supplement the hands-on training they get through play.
Codecademy and Khan Academy (Web, Free): These interactive online tools are better suited for older kids (maybe middle grade and above) and adults. They're one of the best ways to learn to code, though, because you can see the changes as they happen in the split screen. Codecademy teaches web fundamentals, jQuery, JavaScript, Python, Ruby, PHP, and more. Khan Academy's coding environment uses JavaScript.

Our focus as we Teach Kids to Code

We've had a lot of fun doing what we do, but I think that's because we've looked at them not from a "let's learn programming" mindset but from a "hey, want to make something? We can use this to do it" mentality. In Sarah Mei's presentation on teaching Ruby to Kids, she talks about setting specific goals when you set out on this adventure, such as "I want Lily to be so excited that she explores things on her own after we're done." For us, learning to program isn't the end result, but making something (through trial and error and learning basic skills in the process) is.
So along the way, I've learned as a teacher to bite my tongue. The hardest part is refraining from hovering over my learners’ shoulders and stopping myself from saying "no, use this function, not that one." Instead, I'm learning the features in the apps they are using so I can say, "hey, look at what this does" or "what happens if we do this" and we discover together where we can go from there.

No comments:

Post a Comment

Please leave a comment

SYSTEM DEVELOPMENT CYCLE (SDC)

Software Development Cycle (SDC) or Software Development Life Cycle (SDLC) is a process that consists of a series of planned activities, w...