Tuesday, April 3, 2012

Should Every Student Learn to Code?

8 years ago I had the crazy idea to start an after school class for 3-5 grade students on website creation through html. Yes, I had a room full of 9 - 11 year old students learning how to code a website in notepad. I am sure many people thought this was crazy but the students loved it. At the end of the 6 week course, the students had a functioning website that they coded! None of these websites would win an award, but the students were learning a new language and a new skill that hopefully has been useful to them.

Now lets fast forward 8 years and boy have things changed! Now just about every teacher in my district has their own website, students are on the web constantly, mobile devices are consuming the time of students and parents alike. That is pretty massive change in 8 years. Where do we go from here?

As I read online, I am seeing the conversation start up about teaching students to code. Should every student learn how to code? How early do we start? Do we teach html? Javascript? app coding? All of this seems so far removed from my coding class experiment 8 short years ago.

Today's world is driven by mobile technology and will continue to do so. Everything online seems to be moving towards having "an app for that". So where does this leave us educators and our students? How can we keep up with the speed of change and participate in this mobile computing revolution?

The answer to me: we need to expose our students to coding and app creation. I am sure someone will ask, "but how am I going to learn this when I have everything else to do as a teacher"? Give the control to the students. Let those that are interested be the leaders. They can become the content experts and the teacher can be the learning manager. When teachers are working with small groups for reading or math, let students have the opportunity to explore coding. Something tells me that those students who really don't read during silent reading would work on code if the choice was there. Isn't that a better use of time?

Where do we start? Here are some resources that I have discovered recently. It is a short list because I am still learning this too. I am not the expert, but I am not afraid to explore and try it. I hope you will take the plunge too.

http://www.codecademy.com - This site teaches javascript and it is free. If you sign up for an account, you can track your progress. Otherwise, you can do any of the lessons but you will need to track your own progress. I like that you earn badges as you complete challenges. This could be rewarding for students who love competition.

http://scratchworkshop.wikispaces.com/ - This wiki serves as a resource collection for Scratch. On the wiki, you will find links to additional resources and a link to download the free Scratch software. Scratch is a great resource for our young programmers!

http://appinventor.mit.edu/ - Want students to create apps on the Android platform? This seems like a great resource to start the process.

http://mobile.conduit.com/ - This app creator works across multiple platforms and could be a good starting point for a budding app creator!

http://igenapps.com/site/Home.htm - This app allows you to create apps on your mobile device instead of on the computer. I am going to work on this tonight and create my first app!

As I stated earlier, I am not the expert but will learn along the way. Our students do this, educators can do this, we can all learn together.

If you have additional resources to share or comments, please let me know. This is a conversation that interests me.

This is technology that actually works!