Couprie's How I Teach Computer Science

Computer Science - Changing the world one bit at a time

Welcome to my Open Source Teaching Site!

This site started a few years ago as an experiment with Google Docs and file sharing and it has quickly grown into something that is being used by teachers across the continent. Each summer I plan on spending a bit of time reworking the layout, updating my lesson plans to reflect the previous year and adding some new activities that I plan on using in the upcoming year. I still plan on adding some of my better student example projects that were too big for Google in the past. I also plan on making it more user friendly for those teachers outside of Alberta who may be confused by our one credit system.

I use Processing as my introductory language. I explored using Python but settled on Processing a couple of years ago. I have been VERY happy with the results. I find Processing to be the most engaging way to teach students programming. It has allowed my stronger students to push themselves further and my weaker students to stay engaged. Processing also transitions nicely into Java which I use at my upper levels.

I currently teach at a school of 1500 students. We currently have 4 sections of our first year (grade 10 course) averaging about 27 students per class. We have 3 sections of our second year and 3 sections of our third year course. Each course is about 125 hours of instruction. I teach CS full time and I have two other teachers who each teach a section or two. This is the second school at which I have been able to build up a full time CS teaching position so I can say with confidence that what I am doing can lead to success.

I have also dabbled with what I am calling a Computer Science Assessment Taxonomy that is applicable across multiple areas of the curriculum. Check out the Assessment in CS link above to learn more.



How to Use this Site for Your Teaching

This webpage is laid out specifically for Alberta teachers of Computer Science but most resources would be applicable to other jurisdictions. There is a short primer for Non-Albertans on the main Lesson Plans landing page (click on the main menu heading at the top). I make no claims as a great teacher, I only provide these resources for you to take under advisement. You may use, edit, add or alter as you see fit but would prefer that you give credit back to this website. In the making of these activities, I have collaborated with the following teachers in no particular order: Mark Mercer, Mickey Killoran, Corbett Artym, Jeff Karas, Christian Digout, Lance Pedersen, Bob Erichsen, Bill Lomax, Harvey Duff, Jim Hoover, Candace Phelps, Laura McKenzie, Gerald Beaudoin, Gerald Chung and Mark Knoch. I apologize if I have missed anyone.

All my plans and resources can be found via the navigation bar at the top of this page. The organization of the courses is reflective of my current program at Strathcona High School. Please be advised that I am tweaking content and the credits chosen on a yearly basis. The page is organized with a list of each credit offered at each level including a complete year's lesson plan. What follows is a credit by credit breakdown of activities/assignments.

Contact me --> scott dot couprie at epsb dot ca

Why is Computing Science Important?

If you are a teacher of CS, you probably already know the answer to that question... but how do you explain it to your students. Author Neal Stephenson said, "Wired people should know something about wires," and I tend to agree. I like to hammer home examples such as weather modelling and bioinformatics (computers and medicine) but I also mix in how much the world has changed due to computers since my students were born. Twenty years ago, I helped some friends of mine and their band record a few songs. They had to rent a hall, use a boom mike and spend 8 hours playing the same 3 songs over and over until they got it right. By the end, the instruments sounded great but the lead singer sounded like the guy from ACDC after a few Rye and Cokes. Now, thanks to advancements in computers, you can record each instrument on a separate track on your computer, change the tempo, edit out mis-played notes and mix them all together without leaving the house. Perhaps even more significantly, we can share the music in ways we could not even imagine 20 years ago.

If you are interested in teaching coding and Computer Science, please explore the site and do not hesitate to contact me with questions.

Ciao, Scott