And then they realised the beauty of loops!" concluded my student happily at the end of his presentation. Such sentiments make the heart of a computer science educator swell with pride. Not only has my student come to love iteration himself, but he has shared his passion with a class of fourteen year olds. Moments like this are the reason that I like to teach my Computing in the Classroom course as a fourth year optional course on our computer science and information systems degrees.
The course was originally developed by Quintin Cutts at Glasgow University , and has spread to various other universities in Scotland including my own. The idea behind the scheme is simple: to give senior students course credit for working in a local high school, inspiring young students to study STEM subjects. On our course (which I teach with Monica Farrow), students are assessed by a combination of essays, reflective reports, presentations and teacher evaluation. They spend 40 hours helping in a high school computing class, working with children aged between 12 and 17. They also attend small group discussion and mentoring sessions to reflect on educational theory and how it applies in their practical classroom environment.
Courses of this sort have many benefits for kids, teachers and the students themselves. The students act as role models for the kids, who see (relatively) normal people similar in age to themselves succeeding at university. This is particularly effective when our female students choose to go back to their old schools and prove that computer science can be for women. The teachers also benefit from learning up to date material from the students, and appreciate assistance with teaching hard programming concepts. We know from the Royal Society report on programming in UK schools that teachers in this country receive inadequate continuing professional development. Some of them may never have studied computer science at university and others may be unfamiliar with developments in contemporary computing if they studied some time ago. For example, one of the teachers involved in the course this year was pleased to have one of my students teach a class on parameter passing (with good results) as this was a topic he found hard to teach in previous years. I have noticed in the five years of this course that there is a pattern of our brightest students diving in to teach the hard stuff, sometimes against the advice of their teachers. Luckily it doesn’t seem to work out as "fools rushing in where angels fear to tread". The student in the opening paragraph who taught loops to 14 year olds was correct in assuming that this age group can cope with loops when the context makes their utility apparent. He showed them how they could draw fascinating patterns using Logo if they mastered loops, and they loved it. They told him it was the best computing class they had ever had. I find it interesting that this exercise could have been completed in schools 20 years ago so in this case it is not cutting edge technology which was holding the teacher back, but perhaps a lack of confidence in the children’s abilities. I share my student’s view that high expectations of students will be rewarded. This is particularly important for attracting bright students to study computer science at university. It needs to be seen as an intellectually challenging discipline. Courses which pair up CS students with CS teachers can help in this regard, providing some CS mentoring for teachers, and huge pay-offs for the students in terms of learning from the teachers’ classroom experiences.
Each year the students write a reflective report of their experiences on the course and evaluate whether they have met their personal goals. Often they report improvements in their communication skills, confidence, organisation and time management skills. For many, it is the catalyst they need to train to be computing teachers. The improvement in their communication skills between the initial interview when we select them for the course and the final presentation at the end of the year is astonishing.
Students comment on their enjoyment of working in the "real world": "Overall the Computing in the Classroom course has been a very positive and rewarding course and it is something that I will remember for the rest of my life. I like the idea of being out in a real-life working environment and doing things out side of university, I just think it’s a shame that we don’t have more courses on offer like this."
They also perceive that the course enhances their employability. Part of the reason I took this course was because the summer internship I had, my employer asked me what kinds of courses I had available in fourth year and upon describing computing in the classroom he advised me to take it. This is largely due to the amount of people they employ with poor communication skills. Knowing this I am glad I had the opportunity to improve my communication skills and particularly have a qualification that shows I have them.
Lastly, and most importantly for me, they get an immense amount of personal satisfaction from helping the younger students. "The course gave me the opportunity to see what it is like to be a teacher and has convinced me that this is something I would like to do for a career. I understand there are negatives to being a teacher but the joyous feeling you get when someone learns something you taught them can’t be beat. Amen to that.