What’s the fuss with coding?

The fuss about coding has grown exponentially in the past year. Having watched this space for years, I’ve certainly noticed the increased interest to expose kids to coding. Industry has been pouring resources into it, with huge initiatives and funding coming from Google, Microsoft and more besides. There is a national curriculum for it and most Australian states have adopted it….not in NSW though, the state where I teach. Media, print and online, regularly features this, too; often, about having a shortage in IT skills.  I can also see the increase in teaching coding in many schools.

Hey, one could almost think teaching and  learning to code is trendy.

But, there is always the niggling question, “Is it for everyone?”

I wonder now whether everything in various school subject curricula was subjected to such scrutiny. And if not, why not?

Is it really for everyone?

Firstly, I’d like to make a distinction between computational thinking (CT) and coding. Google’s resources on CT are quite extensive and accessible. As a problem-solving process, it is easy to see why it could be adapted across all disciplines including humanities. Some could even argue it looks like critical thinking. Can you imagine asking “should we teach critical thinking in school?”

Further, algorithms – or step by step instructions – are present in every subject. Google is right to say it is relevant across all disciplines. Quite often, however, algorithms are taught as given, e.g. using formula. And why not? It is an efficient way of disseminating human knowledge developed over time. Standing on the shoulders of giants, so to speak.

Algorithms in the CT sense is less prescriptive. Creative thinking could be incorporated as well.  Can you imagine asking “should we teach creative thinking in school?”

I heard Dr James Curran refer to CT as a process for answering “What can we automate?”  I think this really promotes a mindset leaning towards efficiency as well as innovation, a premise that things could be better and we can use digital technologies to actually make it happen….and scale it, relatively quickly and cheaply. That’s incredibly empowering!  But, it’s the sort of thing that is best experienced vs merely talked about. This echoes elements of design thinking. Can you imagine asking “should we teach design thinking in school?”

Big jump there, i.e. I joined CT with coding – using digital technologies, software programming in particular, to create solutions.;  automation via giving computers detailed instruction.

Algorithms can be viewed as just an idea. It can be represented in many ways. As a teacher, making thinking visible – i.e. ascertain students are learning – is a challenge.  In Information Software & Technologies (IST), one of the subjects I teach, algorithms can be presented as pseudocode and flowcharts.

What of coding then?

Coding can actually help refine algorithms. Sometimes this is done via affordances of programming languages such as more sophisticated built-in functions and data structures.  Often, the refinements are done as one delves deeper into solving the problem and one thinks of more possibilities or cases or scenarios.

In a nutshell, CT promotes development of algorithms and with coding, it is made visible and refined.

Is it for everyone?

I am biased and I think everyone should experience what CT and coding are like. In the same way that I think everyone should experience what creative thinking, critical thinking, design thinking – and way many more ways of thinking like systems thinking, mathematical thinking, etc (see what it’s like in schools now?).  For me, it’s beyond being trendy or shortages in skills or future job opportunities or anything like that or being great at it or even being interested in it. How do you know unless you try?

If you’re a teacher, student, parent or really anyone just wondering what the fuss is about, it’s best to experience it.  Have a go. There are lots of resources out there. One of my favourites is the NCSS Challenge – and we’re a week in.  🙂

Here are some for starters:

Feel free to add your thoughts and resources in the comments below. Thanks.

 

 

NCSS Summer School

The idea of going to NCSS Summer School posed a mini-dilemma for lots of reasons but in the end, I decided to go and what a good move that turned out to be. The ‘intensive’ in their blurb is for real. It was intense.

This year, there were over 100 participants including 15 teachers (like me) who were meant to be just like the students – relieved of ‘duties’, so-to-speak. That’s interesting, in and of itself. I pride myself of being a good learner but being a student is different. Being a student (learning the content) as a teacher (learning the process/meta stuff, e.g. can I use how they teach to teach my students?) was full-on. I struggle to articulate all that just now so I’ll focus on my main NCSS reflections as a teacher….and hopefully, this would encourage other teachers (my main blog viewers) to give the camp a go.

The camp is project-based learning, a high-quality PBL.  I’m actually struggling to write this but if I don’t do this now, it may never get done so I’ll use my Process, Tools, People (and Products) post as a framework. Here goes…

Process

PBL as a term was never mentioned but that’s what it was. 4 groups had to develop social networking web applications and 2 groups developed embedded systems. Lectures were streamed as per student ability, interest and/or systems. Throughout most of the 10 days, there were Lectures followed by lab so students had opportunities to apply what they’d learned with the help of amazing tutors (more on this later).  Tutors also helped with task and time management throughout the project which started officially on day 6. Groups had to brainstorm and decide on what they wanted to develop. There was even an all-nighter as happens sometimes in the industry. The camp culminated with a ‘graduation’ and presentation of group videos. Except, I’m finding out now that the project has not really ended as students continue to work on the projects and are now available online – for an even wider audience.

There were also plenty of fun activities with plenty of opportunities to develop collaborative skills and team-building: Newspaper tower challenge, Trivia Night + Chinese (Whispers) Charade, Scavenger hunt, cryptogram, simulation/theatre sport, programming challenge and excursions to some sponsors’ sites (WiseTech Global, Atlassian and Google). All these activities were cleverly designed and well-executed.

Tools

We used the University of Sydney’s School of IT facilities. We were told not to bring computers because, indeed, there were enough. We also used GitHub for version control and Sqlite3 for the database. They’ve configured Tornado for ease of use supposedly but I honestly wouldn’t know the difference – it still looked complicated for me.

Analog-wise, whiteboards were used for planning and tracking.

Tools used are all ‘free’ so in theory, anyone can do this.

People

This I think, is the strongest point of NCSS. At the helm is Dr James Curran (a very clever man and an endearing lecturer – I can only name 2 others in my experience), very ably supported by Nicky Ringland and Tim Dawborne plus an army of very clever and enthusiastic volunteers and industry mentors (they have to apply to be volunteers year-on-year – whoa!). There’s a fine mix of academia and industry perspectives to make the experience of app development realistic. I watched with interest how they interacted and managed students…including me (I was always there for roll call – haha – and definitely needed 1:1 help). It was good to see tutors get excited by a tricky problem/question

And then there were the students (and teachers as students). Such an amazing bunch of cleverness! I do believe every state was represented, and NZ, too. High levels of enthusiasm (boosted by cordial,  perhaps?) and engagement (good program, see?). Very few seemed homesick – alas, I was one of them! (who knew?)

Products

Videos are yet to go up but there are links to the web apps. Our group developed Word by word (my only visible contribution there is the tagline: write a word. read a story.). Other groups developed Tableau and Pose challenge. Amazing stuff!

I honestly cannot replicate these projects in my classroom.

tldr version

It was a fun, intense, immersive and challenging experience. I met some amazing people, young and not-so-young, and had many fascinating conversations – people are truly interesting! I learned more about computing technology and computational linguistics(just a teensy bit). I learned more about teaching technology. I learned more about kids and how stereotypes persist even amongst the like-minded (still wrestling with why it’s so hard to get girls into computing). I learned more about effective pedagogy including planning and delivery. Surprisingly, I learned more about me.

Not sure if I could make it to NCSS2015 or if I’ll ever get accepted again but I sure would like to go back.

This snippet from a WiseTech Global t-shirt just about sums it up for me:

ncss2014

 

My next challenge is to incorporate some of what I’ve learned into what I teach.