A few months ago I got this email from my brother who was attending a web developers conference:
I am sitting at this conference …and there are people from all over the world who ALL are complaining about the shortage of good software developers. I’m wondering what programs there are at Edmonton public that are directing kids toward careers in software. Is there anything?
The short answer to that question is “No.” We have some Career and Technology Studies courses that could teach kids how to code. We also have a smattering teachers who have their students build apps. I would say that the biggest course in the district that teaches kids how to code is Robotics. However, software development (or coding) is no where in our curriculum and there is very little likelihood that it will be in the future.
However, I would like to propose that even a rudimentary understanding of coding is important as a 21st Century Literacy skill. With the ubiquitousness of the internet and the internet of things, he amount of data being generated is exponential as the future unfolds. In order for us to capitalize on that data stream, we will rely on programs to aggregate and process the information for us. In an ideal world, people will have the skills required to write code that will pull the data they need in order to make wise decisions. For more about this concept, see Rushkoff’s “Program or be Programmed“.
So were does software development fit in our schools? I think project based learning is a good place to start. By giving students a problem that can be solved with software or an app is a great way introduce students to coding, particularly if that app provides a solution to a real world problem. If you have ever written any code, no matter how big or small, you can attest the amount of critical thinking is required in order for your code to work. Also, there is a lot of reflection and revision that goes into coding, and students receive immediate feedback on whether or not their code works. These projects could be cross-curricular or a unit in a subject area.
I would love to hear from anyone who is allowing students the option to develop apps and software as a major class project. It would be interesting to hear how you assessed students and how they responded to your project.