Learning to code

Software programming hasn’t been taught at my school for years. It was a bit of a gamble for me to include it in my programs for 3 subjects I teach: 9IST, 10IST and 11IPT. I was intending to do programming with the year 9s but decided to extend this to the year 10s in the hope of drumming some interest for the Software Design  HSC course and to the year 11s because the students expressed interest in learning.

Intro to programming

I used different ways to introduce the topic. First up were the year 10s who I got to play with Context Free Art (visual programming) which I barely learned at the CS4HS at Sydney Uni a few days before. Next up were the year 11s and I took them straight to Python for Beginners course with groklearning; the first couple of modules are free and sufficient to get beginning programmers going. Finally, with the year 9s, I went completely analogue. In groups of 3, they had to design a dance move for 8 beats and write it in pseudo-code. Another group gets to execute the move using the pseudo-code.

The year 9s had the best fun and, in my opinion, really learned what it means to design and code software programs. They experienced the challenge of breaking down the problem (dance move) into smaller components and think of sequencing, concurrent processing and even looping. Then there was the challenge of coding the move. Also, they realised that code – if unclear – could be interpreted in different ways or worse, wrongly (not as designed). They got the big picture: developing algorithmic-thinking and coding skills.  As quoted from @gilfer in a previous post, Software is poetry

… programming is not really the practice of writing lines of code. It is the art of taking big, intractable problems and breaking them down into ever smaller ones which can be understood, explained and then carefully assembled into a living, breathing work of art.

Software is poetry. It’s the expression of ideas in the most elegant form a programmer can devise.

Learning Python

I really enjoyed my road-test of NCSS challenge last year and so changed my new school’s IST course so I can include it in (he he).  As mentioned, both my years 9 and 10 are doing the NCSS challenge 2013 in its spiffy new groklearning platform. It fits right in with the IST syllabus (core topics + software design option) as well as my experiential approach to teaching. I even decided to make this one of the assessment tasks for year 9s; I’d have done the same with year 10s except their doing exams instead.

Both classes started the challenge today – Beginners. Starting with a quick campfire, I told them about pair programming (one of the strategies I learned yesterday as good for success in introductory programming – go on read it; I will try the other strategies later) and of course, remind them to have fun. It’s too early to tell but hey, I’m excited because the students were totally engaged in the challenge and were having fun….hard fun….as in, easy is boring kind of fun.  In both cases, I had to boot them out at the end of the period as they wanted to keep going – and we’re talking they’re supposed to go to recess or lunch….not another subject that perhaps they don’t like!

Perhaps it shouldn’t have surprised me but the year 9s did better than the year 10s. Was it the dance move intro? 🙂

There are a few year 9s who I will have upgraded to the Intermediate challenge as Beginners seem too easy for them. #proudmoment

I thought I’d share my here as well; feel free to reuse, upcycle, remix – if you do, all I ask for is feedback to how it can be better….atrribution would be nice, too. 2013 – 9IST – Assessment 3 – NCSS (PDF)

Using ClassDojo

I used ClassDojo before when I first ran my Digital Media Jedi Academy (also for 9IST). As before, I’m using it to communicate my expectations and award points. The points this time is for a request for an in-school competition outside of the national challenge. I do listen to my students and besides, using ClassDojo really forces me to look at each kid and see if they are showing expected behaviours…and my favourite is “exceeding expectations“. In this way, ClassDojo is my tool to remind me to check in with every kid as I have a visual reminder of eveyrone in my class and the ones who are not racking up points (are they not showing the expected behaviour or am I just not seeing it – go look, Mrs Mawby!). The points system is handy also for the teacher observation component of the 9IST task.

In case you’re wondering, I’m not using the Negative Behaviours (removing points) because in my 6 months with these classes, I’ve never had reason to control negative behaviour….yes, I’m lucky.

expected behaviour

expected behaviour

 

Okay, have shared heaps now and will stop – just wanted to leverage the excitement of the day to churn out a blog post 🙂

UPDATE 12 August 2013: I just added the task in PDF (I forgot to attach it last time….oops!)

Print Friendly

3 thoughts on “Learning to code

  1. Justin says:

    I love that you have given them additional tasks, do you have any examples? Also have you regaled them with talks on Object Orientated Programming, and comments?

    • malyn says:

      Thanks for your questions Justin.

      Additional tasks are usually problems from the previous NCSS challenge OR re-hashing the current problem by making it harder, e.g. cater for possible errors like negative number entered for an age prompt, creating loops (don’t stop till the user chooses ‘N’ or don’t stop unless the user enters ‘N’)….stuff like that. It’s a really good experience in terms of prototyping….and that’s before they even learn the term for it.

      I don’t regale them with anything…I don’t have to. When students are engaged and motivated, the best thing to do is get out of the way. 🙂

  2. @sailpip Phillip says:

    Great post, it is comforting to hear you at making a difference and introducing girls to computational thinking!

Leave a Reply

Your email address will not be published. Required fields are marked *