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 little over a year 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 have also begun developing 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.   I have also been ramping up my Arduino unit with some really cool results.  


Cheers,
SKC


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: 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.  David Mulkey also deserves credit.  I do not know him but make reference to his site on a few occasions, particularly for my IB classes.  Here is his full site and here is the worksheets sub-link that I use most.

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 McNally 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.  Please take note of the new File Cabinet link at the top which holds many of the examples and start files mentioned in the other documents.


Please join the CSTA! If you use the information on this site, please join the CSTA at http://csta.acm.org/.  If you are an Alberta resident, you will then automatically become a member of the CSTAAB. It is absolutely free and as a member you will not be inundated with useless e-mails but you will get an occasional update on our latest efforts.  You will also be snail-mailed the CSTA newsletter which I have found very useful.  Perhaps most importantly, the CSTAAB has begun talks to get sources of funding for Alberta teachers to attend major international conferences.  Imagine receiving $2500 to attend a conference in New York or California!  The more members we have, the more likely we can attract corporate funding to our cause.  Plus, you will not be eligible if you are not a member.

Contact me --> scouprie 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.

To drive home this point, I show a talk from Ted.com by Ze Frank: http://www.ted.com/talks/lang/en/ze_frank_s_web_playroom.html.  It is quite a long video (about 18 minutes) but it is quite an engaging look at how we can use the Internet to share art and engage strangers to help each other.  The most poignant example comes from the end of the talk.  Ze reads an e-mail from a fan who is depressed and looking for some emotional support.  He took this letter and wrote a very simple tune with the following lyrics: Hey, you're ok. You'll be fine. Just breathe. Click on the play button below if you want to hear this simple start file.
He then challenges his fans to listen to the track and record just their own voices singing in time with the music.  He gets back hundreds of tracks from around the world and then mixes them together.  Once finished, he sends an e-mail back to the fan who wrote the original letter and who was quite distraught and depressed.  Why is Computing Science important?  Listen to this...