Where do you teach? What sort of school is it?
I teach grade 10, 11 and 12 Computer Science and Computer Engineering at a High School in London, Ontario Canada.
Our school is made up of approximately 750 students and the school is a busy place with so many extra-curricular and classroom events. It's a diverse group of students with a wide range of interests, which is what makes it such an interesting place to teach.
How did you get started teaching computer science?
Back in 1999 I was taking a CS course in a dark, dreary lecture hall and I was just amazed at the concepts and ideas that allow our programs to run. The organization and design seemed almost "magical" and I wanted to bring that sense of wonder to students.
After my first year of teaching CS and Phys-Ed our Principal let me know that there would be a few more opportunities in the Phys-Ed department. I told him I wanted to focus on the CS courses and since then I haven't really looked back.
Right now, it's an especially exciting time in CS Education with work from organizations like the CSTA (https://www.csteachers.org/) and from researchers involved in Education and Mathematics like Dr. Gadanidis (http://researchideas.ca/) and many others.
My wife, Lisa Floyd (@lisaannefloyd), started teaching CS around the same time as I did, so over the last few years some of our “date nights” away from the kids have eventually evolved into discussions about things like “What differentiates abstraction from decomposition?”
She’s currently a Computer Science teacher and University Instructor and I'm proud to see her teaching CS and Computational Thinking to teachers and students around Canada and the world with Fair Chance Learning.
Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?
In Canada, each Province creates their own Curriculum and the CS curriculum in Ontario is fantastic (http://www.edu.gov.on.ca/eng/curriculum/secondary/computer10to12_2008.pdf) , although perhaps in need of a little refresh :)
Students can take Computer Programming in grade 10, 11 and 12 and Computer Science is offered in grades 11 and 12. The big difference between the two is that the CS classes go into a little more detail in terms of things like efficiencies, problem solving and algorithms.
Years ago, I took a step back and thought carefully about the students enrolling in our classes. I realized that only a few go on to study CS at University or College, and a handful pursue Engineering. The rest were interested in other areas. From this point on I decided I needed to teach in a way that focused on problem solving, computational thinking, algorithm design, creativity, innovation and entrepreneurship. I set a goal, which was to introduce the courses to a much wider group of students and to teach the course in a way that taught skills and concepts that might be applicable in any and all fields of study and work.
Our class sizes have grown tremendously and I get a number students understanding that just about every career will involve some form of computational thinking and problem solving. They realize that knowledge is important, but what's becoming even more important is being able to do something with that knowledge. Being a good problem solver will help you in just about any career!
What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”
My teaching philosophy centers around three main ideas: 1) providing multiple levels of entry to concepts, (2) providing multiple contexts in which to learn and apply concepts, and (3) facilitating multiple pathways for students.
Many of the instructional methods that I implement involve what Seymour Papert described as “low floor/high ceiling” activities. These are activities in which a wide variety of students, with a wide variety of backgrounds, can enter into, grasp and apply. I also ensure the availability of multiple contexts in which to learn and apply concepts. We are fortunate to be teaching at a time where there exists a variety of programming environments and languages that are available at little or no cost. Finally, many of my instructional approaches are based on decisions that focus around the multiple pathways my students might take after High School. Some will pursue CS as a field of study, but many will pursue other fields in which a knowledge of CS concepts will provide them with an advantage.
What is the biggest challenge in teaching CS at your school?
I'm still struggling with the balance between the "cool", "magical" and creative elements of CS and the rigorous thinking that can sometimes be involved. I want to attract students to the program and show them how easy it is to get started, but I also want them to appreciate and participate in the complexity and quiet planning and analysis that goes in to worthwhile programs. It's a balance that we try to develop each day. I'm currently writing an online, Introduction to Computer Science course for the province and the course is being written with this theme in mind as well.
What is administration’s support (or lack of support) like at your school?
We have had a lot of support and it's only growing as more and more attention is being paid to CS, STEAM, Computational Thinking and Makerspaces. Administrators are doing a great job of looking past the technology and realizing that there are some very important skills and competencies being addressed within these areas.
I'm lucky that at my school the Mathematics and Science Department Heads see the value of the Computer Science and Computer Engineering courses. They have helped purchase equipment, and over the years they've seen some interesting purchases show up on department bills including "raspberry pis", "ECG sensors" and "drones".
Barham Dababneh and John Misek are two teachers at the school who help our students design, build and program our FIRST robotics robot. It's this type of support from colleagues that can transform a few dwindling courses into a thriving, school-wide program.
Just last year the drama teacher asked if our Robot could play a part in the school Christmas play. This type of interest and support for CS from so many different staff members is very, very cool!
How do you measure success for your program? For your students?
We wanted students at our school to develop a better understanding of technology and to be able to become comfortable with it.
It wasn't simply a goal to have more students in our courses, we also wanted to show the entire student body, as well as students from our surrounding elementary schools, how technology is evolving and how we can use it can be used effectively.
Students in our school, and even younger students from the community, now recognize our Robotics Team members and they're often asked about their progress on large projects. This is success, just having students acknowledge, understand and appreciate the technology, but more importantly acknowledge, understand and appreciate the work of these Computer Science students. Years ago I wanted our school to be a place where students who were interested in the CS felt valued and felt that they had a place to belong and thrive. That’s what we continue to work on.
What is the one thing you like to talk about regarding your program that I haven’t already asked?
Staff members in the school are very supportive of our programming competitions and robotics teams, and they are always promoting and asking about our events and projects. We have been fortunate to have been invited to Comic Conventions and Art Events in the community and our students are teaching younger students from other schools about CS. The teachers at these schools have been inspiring!
Our School Board Leaders are attending coding, robotics and Computational Thinking events and it's really been incredible to see so many different people support and become involved in the CS program.
CS will have an impact on everyone’s day to day life very soon, if it doesn’t already. That’s why it’s so important for CS initiatives to be collaborative efforts that involve people from a variety of areas.
A lot of resources I know about are US specific or at least US based. What sort of Canadian based or specific resources do you use? People, government resources, events, and maybe other things.
There are some incredible Educators and Researchers in Canada that are doing some great things in CS.
I often find inspiration, resources and support from many of the following:
- Association for Computer Studies Educators (http://www.acse.net/)
- Bring IT Together Conference: http://bringittogether.ca/
- CONNECT Conference: http://www.canconnected.com/
- TVO TeachOntario: https://www.teachontario.ca/welcome
- Dr. Gadanidis and Math + Code Zine: http://researchideas.ca/mc/
- Dr. Jeannette Hughes and the UoIT STEAM-3DMakerLab: http://janettehughes.ca/lab/
And I know that I’m a little bias, but everyone has to see what my wife is doing! She’s an inspiration: @lisaannefloyd
Tell me about your online presence (if any)
My website of resources, etc: techthings.ca/learn
Blog: https://stevenpfloyd.wordpress.com/ (like a few jobs around my house, this is a work in progress…)
Twitter: @stevenpfloyd
Note: The index for this interview series is at http://blog.acthompson.net/2017/10/computer-science-educator-interview.html and is updated as new interviews are posted.
No comments:
Post a Comment