Saturday, June 09, 2018

On multi-lingual education

Having grown up in Lebanon, I was taught French and Arabic throughout my schooling and then English from Grade 6. I will forever be grateful for this opportunity. When my family migrated to Australia, I was able to begin my university studies without the need to spend a year learning the language. When I decided to write a Master's thesis, I found that many experts in that subject were French-speaking researchers from Switzerland.

In this blog post, I make one simple suggestion for languages education in Australia. I have no illusions about the reach of my blogposts or any expectation that anyone will take up this proposal. The most I am hoping for is a discussion with those interested in the topic and generous enough to offer a comment.

My proposal

Choose two languages and make sure every Australian child can study one or both of them from prep to year 12.
Please keep reading to see my justification. I quite possibly anticipate your objections.

Friday, March 30, 2018

Teaching abstraction to high school students

I have often found Abstraction a difficult concept to explain in high school computing classes. I now think that I found a few good examples to illustrate this concept and this post is about one of them.
First, let's define the word:
Abstraction ... is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics. (Abstraction on
In other words, we hide some detail so we can concentrate on the essential features of the problem at hand. Below, I will attempt to illustrate with an example which is implemented in Snap!, a block-based language created at the University of California, Berkeley.

The problem

Say, for instance, we wanted to draw this brick wall:
Brickwall activity from Beauty and Joy of Computing, UC Berkeley

Sunday, October 22, 2017

How to ask someone on a date and keep it a secret.

This post is about a project that I set 3 students in my year 10 Digital Tech class, Big Ideas in Computer Technology. Before you proceed, can you see the love message hiding in this image?

courtesy of

The idea

The idea was not my own. The first time that I saw it written up properly as a project was at the University of Melbourne. I was there for a professional development day and a computer scientist, Bernie Pope, showed us a project he gave to his first years. Without describing the project in detail, here's the cut down version I used with the year 10s.

Wednesday, December 07, 2016

A few words in defence of visual programming

Visual programming environments, such as MIT's Scratch, are often regarded as a good way to learn programming for young children, to be discarded once the child reaches his/her teens. In this post, I intend to say a few words on why I believe that these environments are more than child's play!

The goal of coding instruction

In an article entitled "Learn to code, code to learn", Mitchell Resnick, the creator of Scratch, contrasts two concepts: 
  1. Learning the mechanics of writing code
  2. Learning to create and solve problems with code
The strength of block-based visual programming is that, by making the mechanics simpler, it enables the second type of learning. Rather than worrying about spelling commands correctly, observing indentation rules or remembering to type a semicolon at the end of a line, the learner concentrates on the goal of their project.
The Koch Snowflake implemented in Scribble

Saturday, October 31, 2015

The "Epic" that was VCE Algorithmics, 2015

In two days, the first batch of VCE Algorithmics students will sit their final exam. While I am nervous about the content of the exam, I am already proud of what my students have learnt and achieved over the year. As the delivery of the course gives way to the nervous waiting we're all experiencing this weekend, I thought it important to reflect on the last 12 months.

VCE Algorithmics (HESS) is a "Higher Education Scored Study", the only one in the Victorian Certificate of Education. It is a very ambitious introduction to computer science and carries significant university credits at Melbourne and Monash. The study design reads like a computer science course in "the Analysis and Design of Algorithms". Every university has its equivalent of such a course, usually in the second year of a CS degree!

Saturday, August 01, 2015

A visual introduction to algebra

Having introduced many students to algebra, I have always wanted to find a way to make it "make sense". One year, I met two researchers from the University of San Diego, Dr Ferdinand Rivera and Dr Joanne Rossi at a conference in Greece(*). Their presentations and later conversations I had with the two of them, especially an electronic correspondence with Dr Rivera, changed my practice completely.

This is a recorded description of this approach that was presented to the staff of Avila College in December 2014.

If you wish, you can download my article, Thinking Visually About Algebra, from the website of the Australian Association of Mathematics Teachers Inc.

(*) Psychology of Mathematics Education 33.

Thursday, July 30, 2015

Problems that do not compute

Today, my task was to convince my students that there are problems which computers cannot solve in a practical time, say a year or a few years! It was meant to be an informal introduction to the concept of the limits of computation and we did it by exploring two specific problems: The towers of Hanoi and the Travelling Salesman.