Tuesday, July 30, 2013

CS Educator Interview: Peter Beens

Back to Canada for our interview today. Peter Beens teaches at Beamsville District Secondary School in a small town in Ontario. Peter is very active online but attends a lot of actual conferences as well. He often travels great distances by motorcycle to get to these events. It’s surprising how many CS teachers I have run into who are also motorcycle people. Not the stereotype of a “biker.” Or teacher for that matter.

Where do you teach? What sort of school is it?

I teach in a high school in the small town of Beamsville, Ontario. Its makeup is quite varied, with much of our population being bused in from the rural community. It is a small school, with a population of just over 500 students.

How did you get started teaching computer science?

I started as an electronics and computer technology teacher, and from the very early days I integrated computer interfacing and programming into my curriculum to make the content more exciting for the students. When my old school lost its CS teacher due to retirement, I was the principal's first choice as a replacement as he knew I was well trained in it and had been programming a long time.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

In our school we offer CS in the 11th (ICS3) and 12th (ICS4) grades, at both the college-prep (C) and university-prep (U) levels. Sadly, because of our small population it is quite a challenge to recruit students to take CS so I normally end up with a "quad split" class made of up grade 11's and 12's in both the college-prep and university prep streams.
Following is a diagram showing all the CS courses offered in our province. My school does not offer the intro grade 10 (ICS2O) class because of its small population.

The curriculum itself is a province-wide one that is written very generically so an instructor has quite a bit of leeway in how the content is delivered.
The following diagrams show the content of the grade 12 college-prep and university-prep courses:


If anyone is interesting in viewing the curriculum in its entirety, I have it posted here.
I always introduce CS with something graphical. I have mostly been using Turing to do this, as its graphical commands are quite easy to use. I am now toying with the idea of using Turtle Graphics as an alternative , or perhaps the PIL library in Python, but I haven't decided yet.
After the intro unit we normally move on Python, although this coming year I may do an App Inventor unit. In Python, I normally have the students do the tutorials at http://cscircles.cemc.uwaterloo.ca/. I love this website because the students can add me as their "guru", meaning they can contact me from within the website environment to ask for additional help, day or night, and also like it because I can track the students' progress.
I always supplement the tutorials with programming challenges, in increasing levels of complexity.
This year I also plan to introduce Arduino programming, to show students that programming is not just about programming computers, and also to make it more fun! (a working traffic light always gets a better reaction than Hello World!)
For the grade 12's, I handle it much more informally. I normally give them larger projects where they have to work in groups, with more of a project management emphasis.

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”

I love project-based learning, but I have to accept that there has to be some skills development before we can get to any meaningful projects.
I love the use of online tutorials for the students' learning, but I don't rely on the flipped classroom model to use those tutorials. (Instead, most of the students watch them in class, at their own pace.)

What is the biggest challenge in teaching CS at your school?

The small population of the school is the biggest challenge, with so many competing elective subjects. Add to that the negative stereotypes of computer programming, and it becomes a challenge to attract students to the program.

What is administration’s support (or lack of support) like at your school?

My administration is very supportive in allowing us to attend programming competitions outside the school, as well as by allowing us full autonomy to use our budget to purchase devices such as Arduinos and the supporting electronic components.

How do you measure success for your program? For your students?

Success for me is, of course, based on the number of students in the seats. For the four years I have been at my present school, I have seen an increase in the number of students, so I'm very happy about that.
I also measure my success by our performance at the local programming competitions, and this past year has been our best ever.
Lastly, I measure success by the diversity of the students. By making the environment more social and by being more creative in the types of projects we work on, I'm getting students that wouldn't have normally considered CS as an option.

What is the one thing you like to talk about regarding your program that I  haven’t already asked?

I just wanted to thank you for selecting me as one of your participants for your interviews. It seems we (teachers) all go behind our closed doors and do our own thing, but the truth is we are often doing the same as others, so a forum such as this lets us see that, and potentially reach out to each other to collaborate or share. 

More Peter Beens on the Internet
For a full list of interviews in this series please see CS Educator Interviews: The Index

No comments: