Author: Roberto Gutierrez, Multimedia Developer
A few years back, we, as a civilization, put clocks on our phones so that we don’t have to look at our watches, and with the development of the Apple Watch, we put phones on our watches so that we don’t have to look at our phones anymore. What I’m getting at is technology and development have changed a lot in the past few years. This is obvious to us in the agency world because we have to keep up with what is new, and we have to determine what is just a fad and what is solid and worth diving into. Outside our world, however, that might not exactly be the case. How many people do you think have considered how that annoying dog filter on Snapchat works? Even as a developer, when I first saw and messed around with that feature, I thought, “Hey, that’s neat-o,” and then went right on about my day. I didn’t really consider how far back that technology existed and how it differed from its early stages.
All this makes me wonder about new generations of engineers and developers who are pioneering the way we learn to code and what they will be capable of once they become programming and engineering heavyweights. Someone once told me, “If you’re really passionate about something, you’ll have no problem teaching someone else, if given the chance,” and it’s a good thing that some of these heavyweights are using their talents to help build the future. I care about development because I like it, despite the frustration it brings sometimes. So it made me happy to learn that more kids are signing up for coding programs, and more ways of teaching them are being developed. Whether a kid decides to go with a program called Scratch, play with Project Bloks or play on Apple’s Swift Playgrounds in the fall, he or she will have a good, solid code foundation to build on.
Google has developed a program with a more tangible approach. In Project Bloks, you use three main components: a “puck,” a “base board” and a “brain board.” The puck can be an on-and-off switch, a directional arrow or an amount increase. The base is where you place the puck, and the base board reads the instructions on the puck. Base boards are connected to the brain board, which then reads all the instructions on connected base boards and sends those instructions to connected devices via Wi-Fi or Bluetooth. The most basic task you can do with something like this is maybe turn on a light, but you can also connect toys (stick a pencil to a toy car and make it draw whatever you want). One piece of technology used to make this possible is Raspberry Pi Zero. Google aims to take kids away from the screen and put them into groups to not only learn how to think logically, but also to collaborate to fix problems.
Coming to its App Store in the fall, Apple has created a game-like app that teaches kids how to code and control a character using Swift, a proprietary programming language created some time ago for Apple products. You may think, “Of course Apple created something that teaches kids to program in its own proprietary language.” While technically true, with Swift you can write commands, functions, loops, variables, algorithms and types, and you can debug – all things you can do in most other languages as well. The way the app functions is this: On the left half of the screen the user will write code and on the right half of the screen the code will be executed. Apple has some challenges premade, much like a game. So, basically, if the user gets the code right, the character will execute the code and fulfill the challenge, allowing them to advance. If there is a problem with the code, the user has to debug until the code is correct and the challenge is completed, much like a developer does in the real world.
One thing I did notice about all three of these learning programs is the lesson of persistence that kids learn along the way. Anyone who has ever made anything with code will recognize that not everything functions on the first try, and it can get very frustrating very quickly. As far as I can remember, the only way to learn how to code was to sit down for long periods of time in front of a screen with little to no interaction with anyone else. This started to change when the Internet and technology started to change, and people started forming communities such as Stack Overflow to work together to solve problems. Now programs like Project Bloks and Scratch are reinforcing the concept of persistence and working together. I think it’s just what kids need in an age where education is not deemed as “sexy,” and the negative connotation of the word “nerd” drives smart girls away from becoming programmers and engineers when they become teenagers. Hopefully, these programs, and others, will be the root of talented and gifted programmers in the future who will develop new technologies for the betterment of society. All three of these programs are relatively accessible thanks to the magic of the Internet, so kids can learn how to code while parents learn how to deal with their kids’ programmer sarcasm.