By Paul Baumgarten, International School of Lausanne 2017
At the International School of Lausanne, we believe that every student should be exposed to the ideas of Computer Science and have at least an introductory ability to programme.
Computer programming, or “coding”, is argued to develop creative thinking and systematic reasoning skills that are crucial for academic and vocational success. It has been suggested that just as reading and writing are considered important skills to learn, even if you are not going to be a professional writer, that it is useful to think of the benefits of learning to code in the same way. (1)
The algorithmic thinking skills required to program, also form an excellent foundation for problem solving in general. The IB Diploma course for Computer Science identifies six thinking skills considered essential for programming. They are thinking procedurally, thinking logically, thinking abstractly, thinking concurrently, thinking ahead, and thinking recursively. (2) It should be self-evident that these higher order thinking skills will be of lifetime benefit to students regardless of career pathway.
The creative process involved in coding is also frequently underestimated. Students will commonly note in their post-project reflections that they were surprised by the level of creativity required to solve a given problem, originally coming into the course thinking it would be more like having to “discover” the correct formula to use. Coding is also critical to the modern creative arts, with digital technology forming a key role in visual arts and music (for instance it is now commonly acknowledged that the Gaming industry is larger than the Movie industry)(3).
The immersiveness of computer technology in society is only going to continue to increase. Advances in robotics such as self-driving cars, through the portable computers we carry in our pockets and wear on our wrists, mean that these technologies are becoming an intertwined part of our daily lives.
In addition to all these “soft” benefits are, of course, the tangible advantages a foundation in programming can provide to a student’s career. From architecture to zoology, coding skills have real tangible application and value to employers. In fact, Code.org estimates that 67% of computing jobs are outside the tech sector. Finally, the tech sector itself has a growing demand for more programmers as dedicated specialists. It is estimated there are more than half a million open computing jobs in the United States alone, and that it represents the number one source of new wages in that country. (4)
The International School of Lausanne takes a multi-pronged approach to Computer Science with a combination of two middle school courses and after school activities, feeding into the IB Diploma Computer Science course for those wishing to pursue it as a possible career choice.
In the MYP, computer programming skills are developed through the Year 8 Design course that all students complete, and an optional Design course in Year 11 that serves as preparation for the Diploma.
In Year 8, the course uses visual blocky programming tools such as Blockly, Scratch and Mindstorms to allow students to focus on the computational thinking without the additional layers of syntactical complexity that comes with a “normal” text based programming language. Through these tools students can be introduced to the idea of procedural algorithms, simple variables, selection and iteration. Contextually the course is divided into two main projects over the year: Building a computer game, and building a functional robot.
The robotics unit in particular tends to be a perennial favorite with students. The unit starts with an introduction to robotic concepts and a series of video lessons the students follow that teach them the basics of how to program the motors to turn on/off, read the value of a sensor, and so on. Students then progress through a series of challenges which are of increasing level of difficulty. Working in pairs, they will self-select the challenges from each level they want to undertake. Once completed, they will demonstrate their robot completing the task to the teacher and have the accomplishment signed for on their progress sheets.
A highly anticipated part of the unit comes toward the end when students pit their robots in battle against each other for a “robot rumble”. The winning two robots from each class come together over a lunch time in the main foyer for a grand final that attracts quite a crowd of enthusiastic onlookers. The overall winners are then honoured in perpetuity with their names engraved on a plaque in the Design department.
Historically we have based the robotics unit on the Lego EV3 Mindstorms technology, though this year we have also experimented with some groups of students using MakeBlock mBots which are programmed using Scratch. Another change that has come about this year is the addition of the Maze challenge. This is a summative assessment towards the end of the unit where students demonstrate their programming prowess by building a robot to self-navigate its way through a maze course.
As demand for computer science understandings in wider society continue to grow, the International School of Lausanne is doing its part to equip its students to make a valuable contribution.
– – – –
Paul Baumgarten has been teaching computing for 11 years and is originally from Perth, Western Australia.
– – – –
(1). Resnick, Mitch (2012) TEDx Beacon Street: Let’s teach kids to code.
(2) International Baccalaureate Organisation (2014) Computer Science Guide
(3) Cox, Kate (2014) Consumerist: It’s Time To Start Treating Video Game Industry Like The $21 Billion Business It Is.
(4). Code.org (2015) Summary of source data for Code.org infographics and stats.