- Show newest for...
- K - Grade 1
- Grades 2 - 5
- Grades 6 - 8
- Curriculum for Excellence
- Day Care
- Adult Education
- Australian Resources
- UAE Resources
- Republic of Ireland Resources
- New Zealand Resources
- Northern Ireland Resources
- Canadian Resources
- مواد تعليمية عربية
- South Africa/Suid-Afrika
- Coming Soon
Primary Education News
News Teaching computing for the first time: how I brought computer science into my lessons
Keen to challenge students, Stephen O'Callaghan started teaching computing last year. He reveals how he learned Python online and what he's doing differently in year two
It was around this time last year I began to fret a little. The novelty of the summer holidays had started to wear off and the fear began to settle in. After a couple of years of teaching ICT, I was getting a little bored of churning out coursework and was looking for a new challenge that would really make my students think. Don't get me wrong, ICT has its place but I felt like students were missing out by not getting a mix of computer science and ICT. So I came up with a plan to start delivering computing from September 2012.
Having previously studied internet technology at university, taught ICT for almost four years and being a bit of a geek, I felt quite secure in my subject knowledge for computing but was not feeling confident with my programming skills.
The first thing thing I did was sign up to Codeacademy – a site where users can learn and teach code for free – and began working through the Python exercises. I chose Python as my coding language of choice because it is quite close to written English and there were plenty of support materials online.
After a few weeks of spending 30 to 45 minutes a day working through the Python tutorials (little and often), I decided to attempt one of the GCSE programming projects and immediately became stuck. Online tutorial sites are great for learning the syntax of a programming language but don't necessarily teach you to solve problems. This is where computational thinking comes in.
After a call for help on Twitter, I quickly found myself being tutored through the problem solving side of things via Skype and email by two amazing computer scientists @codeboom and @colinthemathmo. Problem solving is the essence of computer science; using a computer as a tool to solve real world problems. The only way to get good at problem solving is practice.
Although when I returned to school in September I still had the annual fear after six weeks off, I was actually quite excited to get started. Teaching the problem solving and programming aspects of computing provided a really interesting contrast to the ICT I had taught previously.
My lower-ability students felt success quicker and gained in confidence by solving relatively simple problems, whereas the higher-ability students came across something that they didn't always get right first time. The problem-solving lessons provided a great platform for differentiation by task and it was amazing to see the students take a step back and really think about the problem and plan out a solution.
One of the tasks I set students was to create a program, using Python, that takes two numbers, multiplies them together and then prints the answer. At the higher end, students had to create a calculator that gave users options and did different things depending on what options the user chose. These problems were tailored to what we had covered in class; topics such as variables, data types, selection and so on. Students had to design a solution on paper, code it and then evaluate their solution.
There were plenty of times when students got stuck (usually logic errors) but sometimes I didn't know the answer. So I advised them to do what I did when I didn't know how to do something – use the internet. Students started becoming quite proficient at searching blogs and forums to seek out the bit of code that would help them.
In hindsight, I focused a little too much on students learning the syntax of a particular coding language rather than embedding wider programming concepts, such as selection and iteration, something I'm going to change in my approach for the upcoming school year. Also, I found that students responded well to the challenge of solving problems rather than just following step-by-step guides.
Obviously they need a starting point, and tutorial sites or syntax guides will give students that. But I'm going to start getting students thinking about problem solving sooner so they can see programming as a tool for solving problems rather than an exercise that they must get right at all costs.
I'm really glad I decided to dive in at the deep end with computing. I believe the students have benefited from much more challenging and engaging lessons which the subject matter of computing tends to lend itself to. With computer science all around us, it's easy to make links to real world scenarios that students can relate to.
Above all I want students to be challenged in lessons and enjoy them and I think computing provides us with a great platform to achieve this.