Kids Need to Learn to Code
Programming or Coding is the new literacy skill in the 21st century
Digital Literacy in the 21st century includes Programming as well as using technology tools
At World Makerfaire in September 2013 I met my hero, MIT Media Lab professor, Mitchel Resnick, the father of Scratch and Lego Mindstorms robots.
The table above shows Software Tools, listed from Basic at the bottom-most left to Most Advanced Programming at the top-most right of the table. Scratch, Gamestar Mechanic and Gamemaker have full online communities to share and play games together.
Every child can learn to code and have fun doing it. Learning to code can start as simple as programming a turtle to move on the screen and draw a square. I want all students to become producers and not just consumers. Logo is a computer programming language invented in 1967 by Seymour Papert at MIT Media Lab to teach kids how to program. Simple commands in logo FD 50 stands for forward 50 steps and RT 90 stands for right turn 90 degrees directed a turtle across the screen.
Logo started as a simple programming language directing green arrow on a black screen that has evolved into several forms from Scratch an online platform with puzzle pieces students connect to program, to more advanced forms of programming language called MicroworldsEX. Scratch is an enormous online platform and community with more that 1.5 million registered users and more than 3 million projects shared by kids from all over the world.
“Coding is today’s language of creativity. All our children deserve a chance to become creators instead consumers of computer science.” – Maria Klawe, President, Harvey Mudd College
What I love about teaching students to code is that it’s a multi-step creative process. Unlike many other school projects, mistakes are a fun discovery of the possibilities of what the “turtle” can do. First you decide what you want to make and what you want your program to do. Then you make a plan. Plans can be simple or very detailed.
Then you start the coding process:
- Write the program
- Compile the code
- Run the program
- Observe what the program creates
- Make changes to the program and repeat steps 2 – 5
Coding involves breaking down a larger project into steps. In this case, you would repeat the five steps over and over again until the program does what you planned. Programming teaches students to persevere until the program works and make changes based on observations and trial and error. Some programming languages are icon based drag and drop programming environments. They eliminate the compiling step because you do not have to type in the text.
“Learning to code makes kids feel empowered, creative, and confident. If we want our young women to retain these traits into adulthood, a great option is to expose them to computer programming in their youth.” -Susan Wojcicki, Senior Vice President, Google
When kids first learn to code compiling the program usually involves clicking on a button and waiting while the computer checks your program for errors. Compiling translates the text of your program into machine language the computer can read. It is similar to spell-check the computer tells you if there are any syntax errors in the code usually by color coding lines with errors to show in red text. Once all the grammar mistakes are corrected the text turns black or green. In this instance, kids can appreciate mistakes as information and observations, rather than failures, a key piece in the learning process.
Now you are ready to run the program to see if the program does what you planned.
Coding teaches you how to work through a problem and figure out different solutions through trial and error.
There is something so satisfying about the ability to recognize and correct your own mistakes. Making a mistake in computer programming does not involve the personal judgment of a teachers “red X” on your paper. The impersonal nature of computers highlighting errors means students don’t take mistakes, failures or bugs in programs personally the way they do when a teacher may correct them. Programming maintains a positive relationship with learning even for students who struggle greatly and may begin to hate teachers after receiving a poor grade or a paper marked with many mistakes in a difficult class. Learning to code or programming teaches students not to become emotionally upset or too invested in one answer. Kids also become makers and producers of digital media not just consumers.
At StartUp Weekend NYCEdu (March 1st to 3rd), I was challenged to spend 54 hours developing and designing a product that would “solve problems in the education space.” I’m pleased to say that my group, KickArt Games, was voted Audience Favorite by our peers. In only 54 hours, our team of developers, designers, educators, and business people created an art history based iPad App for kids! I mention this because, I would not have felt as confident or capable, had I not had experience with coding.
“Here we are, 2013, we ALL depend on technology to communicate, to bank, and none of us know how to read and write code. It’s important for these kids, right now, starting at 8 years old, to read and write code.”- will.i.am, Musician/The Black Eyed Peas and Entrepreneur
We wrote a blog post earlier about Grace Hopper and Ada Lovelace, one of the first programmers in history. The Grace Hopper celebration in October 2 – 5, 2013 sponsored by Anita Borg Institute produced an incredibly successful conference this year with more than 4600 women coders in attendance. Non-profits such as “Girls Who Code“, and “Black Girls Code“, are closing the gender and skills gap, as well as code.org encourage young people to learn how to program in order to attain critical thinking and problem solving skills which are required in almost all jobs today. “Programming: the New Literacy”, an article from Edutopia, is also an accurate prediction of the future. As a response to that article about technology as a tool, I stated that “The best education teaches student to solve problems creatively and think critically. Programming is the best way to teach both.” We know that coding and programming made technology “enthusiasts” such as Bill Gates and Mark Zuckerberg who they are today, but did you know that NBA All-Star, Chris Bosh, and Black Eyed Peas front man, Will.i.am are also techno-savvy as highlighted by this video from code.org? Mitchel Resnick gave a wonderful TED talk about students learning to code as another means of expression. He developed Scratch at the MIT Media Lab to teach students code and create interactive stories and games.
Learning to code is much more like playing jazz music than math programs incorporate creative expression in every problem that is solved.
Digital literacy is no longer a wave of the future. Kids need to learn to code. It teaches them to persevere, solve problems creatively and think critically.
Thus, Stand.org is petitioning to Make Computer Science Count, by having these classes count as a math or science requirement, as part of the fight to ensure that children have the richest education possible and lifelong skills. Building and programming robots teaches the same skills and more. The classes where my students learn the most by far are programming and robotics. These classes should be mandatory for all students. Unfortunately, until the United States pays and trains teachers at a much higher level, these skills will continue to be taught only at a select few schools.”
To learn more about the organizations mentioned in this post go to:
The table and article below are great Reference Guides to find the right software tool for you or your kids to learn to code!
|Gamestar Mechanic||http://gamestarmechanic.com||Focuses on design, not programming, a very good place to start at any age.|
|Scratch||http://scratch.mit.edu||Learn programming with interactive animations/games.|
|Kodu||http://research.microsoft.com/en-us/projects/kodu||Learn programming on Xbox or PC with 3D.|
|Stagecast Creator||http://stagecast.com||Drag-and-drop multimedia and game builder.|
|GameSalad||http://gamesalad.com||A game toolkit to make iOS games|
|Agentsheets||http://agentsheets.com||Quickly build interactive simulations and games. Free trial.|
|Game Maker||http://www.yoyogames.com/gamemaker||2D game-making across devices.|
|Alice||http://alice.org||Learn programming in a 3D modeling environment for animations and games|
Wanna learn to code? Here are 10 places where anyone can learn to code! Share your thoughts with us below.