Light Offerings

On Coding

Posted by jturner56 on June 29, 2016

Computer programming in Education and I go way back, to before the term coding was introduced to cover HTML and then CSS. So it was of particular interest when I had the opportunity to mix with Apple engineers, app developers and fellow educators involved in school-based computer programming. This was around Apple’s release of it’s Swift Playgrounds app, intended to support students learning coding in schools. (Interestingly at a time that Apple was distancing itself from Adobe Flash even more. I spent over a decade teaching programming through Flash, and all I say here is just as applicable to that time).

The first question that needs to be asked and answered – is learning to code valued within school education, and if so, to what degree? Although there is a strong STEM focus across many education systems, too often I find this question dismissed or at best superficially considered from narrow political or self-serving industry perspectives. The Apple focus ‘Everyone can Code’ is laudable, but is it realistic?

In discussions, I was struck by two comments made by an Apple executive and an Apple engineer. Firstly, “until I code I don’t understand it”. And secondly, “once hooked I basically taught myself”. Both reflect what I have observed over many years. That coding can provide a powerful meta-cognition purpose. And that most software engineers are basically self-taught, and posses an intrinsic self-motivation to further their understanding. This was reinforced by countless software programmers I spoke with. Coders became coders because they see the time on task as personally, professionally and meta-cognitively compelling. They code to create, understand and challenge themselves, like writers or musicians. They can work through the frustrations and challenges towards personally satisfying goals (both short and longer term). There are flattened ecosystems of cooperation. From what I’ve seen, School does so many things to deny  value to such attributes.

So when we see advocacy for “everyone learning to code” what are the realities? In school, as judged by Grade 12 Computer Science numbers, we seem to be stuck with around 5% of students with the interest and motivation to become coders within the school structures and priorities. When efforts are made to increase this, issues of teacher availability emerge (like when increases in second language learning is touted). What increases can we expect in a means-to-an-end school system that seeks to standardise over personalise? One that remains beholden to teachers as gatekeepers, who too often lack the attributes for teaching higher-level computer programming. That is confused by advocates like Bill Gates, who on the one hand was self-taught (in league with fellow coders such as Paul Allen), yet now contends: “Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is most important”(Brown 2013). Will a software app make much difference?

At the school level, we recently surveyed a grade of 120 12 year olds following an ‘Introduction to Programming’ extended class (150min) using the MIT/Android Scratch-based, cloud coding environment, AppInventor (as an end-of-year add-on). The students reinforced what I found in my PHD 25 years ago, that around 25% thought programming engaging and for them, that about 25% had already dismissed any interest, and that the middle depended on the challenge and where they saw themselves in the mix within the demands of School. They  are unsure as to what is required to be a coder and whether they are willing to get further involved. But they have strong personal preferences. If the intended student target area of the Swift Playgrounds App is 12 – 16 year, olds has the boat already been missed? Conversely, at the top-end I see a small cohort of 12 year olds and professional coders working together on understanding and applying Objective C data structuring. What is needed is a clearer school-valued pathway to bridge introduction to personal preference and potential. Many students will judge this from within what they see as what school provides , as well as both overtly and tacitly values.

Perhaps a better approach would be to initially value that “Everyone should have the opportunity to Learn to Code”, reinforced by structural pathways and incubators for those who wish to take this further. Perhaps 10% to 25% would be more achievable as a short term goal. This has worked for music, with various levels of involvement possible.

Getting back to the software under review, Apple’s Swift Playgrounds app. The Playgrounds part of the Swift programming language provides a potentially engaging test area through interpreter feedback and professional power to make meaningful apps (using Apples Xcode environment and Swift programming language).  The Playgrounds app focuses on ‘learning the concepts’ in a traditional structure, while enlisting gamification techniques. It is designed for the iPad and can take advantage of the iPads sensors. Unfortunately our students start in Grade 4 with their own MacBook laptop as we have seen it’s potential as a making device and productivity tool preferable over the iPad’s power for as mobile inquiry and media manipulation.

The Swift curriculum support materials, although interactive, were generally standardised and aimed at the teacher in the first instance (even though there were attempts to ‘personalise’ what students could do). Project-Based yes, but delivering conceptual understanding over the power to make. An okay start, but needing abridge to enact the power of making.

For any initiative such as this to succeed, it requires school system value and teacher acceptance, both of which are uphill tasks in overloaded systems. The closed nature of Apple’s ecosystem could work either for consistency, or as a limited choice. Individual students may take up the opportunity, even just as an alternative experience of digital interaction over school alternatives. Time will tell.

What really impressed me, though, was the capacity that was used to create the interactive materials. Here was an evolutionary step forward from iBook Author where new worlds can be created through coding. The potential for book creation (and app creation for that matter) through Swift Playgrounds is apparent.

So what does this all mean? For a Coding curriculum to have any chance, particularly in a school where at best it occupies ‘optional’ or ‘ticked-box’ status’, it needs an introduction that engages across differing levels of student interest, provides pathways concomitant with student potential, can be personalised, and has end value in terms of what students can produce (and let’s hopefully see this as not about grades). It needs to incorporate Making as a process of conceptual development, not fall back on delayed gratification through accumulation of ‘concepts’.

I have a strong affinity with the educational potential of learning computer programming. It has a strong digital literacy relationship necessary for learning and working in increasingly digital powered work environments. To this end I have always hoped that education or allied interests would share such a view. Coding is not the solution for a better future, but putting ideas into common practice is. And in a Digital Age where employment and opportunity are increasingly tied to digital creation and innovation, coding remains a strong opportunity for education to be a pro-active.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: