My CS Plan

Every now and again, you write a blog post that you know will upset some folks.  This may well be one of them although I’m not specifically challenging any of the assumptions on a personal level, but more on the practical and logistical level. 

I’m reminded of the concept a former superintendent drilled into me.  “Plan with the end in mind.”  And, he was fond of putting me on the spot with one word.  “Why”. 

I was inspired for this by a post from Alfred Thompson.  “What will go if we teach CS?“.  In his post, he was inspired by Katie O’Shaughnessey who had posted “Day -1: #cs50bootcamp: It’s all about scheduling in schools… what will go if we teach CS?“.  Both articles are definitely written from the secondary school perspective.  They address the concern about where in the life of a student would you fit a compulsory course in Computer Science into the school day.  At present, it’s an elective in most schools and you know what – I’m OK with that.  Even the logistics of trying to find enough qualified teachers to teach the course(s) and then somehow find reliable computers on which to code is daunting, much less worry about the other legitimate issues that they’ve identified.

Just like I certainly wouldn’t have liked to have had a particular course rammed down my throat, not everyone is ready to take on the rigour of a full-blown Computer Science course in their teen years.  Leaving it as an elective makes it an option for those who really want to take the course.  Having said that, I do believe that coding is a valuable skill that all students need to have but they need it long before they hit secondary school.

So, let us take a look at the elementary panel.  In the past while, there most definitely has been some real excitement and traction in coding through the Hour of Code initiative.  I’ve put together a collection of resources in a Flipboard document here.  Here, well meaning people and organizations have put together a wonderful collection of activities to introduce students to the concept of coding.  The initiative has started some thinking and discussion but has some serious flaws if the goal is to make significant change.

  • Not every teacher gets involved;
  • It’s just an hour with little or no followup;
  • The activities are largely unrelated to anything in the curriculum.

But there have also been great successes with coding clubs and followup in some classrooms.  It’s not the intent to belittle those efforts.  But as long as they are isolated activities in a few classrooms, it’s good (really good) for those particular classes and that’s about it.  I also recognize that great initiatives such as robotics have started with the efforts of excited and dedicated educators but there was a target.  Where’s the target here?

Standing back, one has to ask – how can you make something as important as coding relevant for all students?  Where does it naturally fit into an already excellent Ontario Curriculum?  In my mind, it only makes sense that it becomes an integral part of the Mathematics Curriculum.  Currently, there are five strands being taught.

  • Number Sense and Numeration
  • Measurement
  • Geometry and SpatialSense
  • Patterning and Algebra
  • Data Management and Probability

I would suggest formally adding an additional strand “Computational Thinking and Coding”.

Computational thinking isn’t a foreign concept to the mathematics curriculum.  “Computational strategies” is already specifically identified.  I would suggest that coding strategies where students work towards developing solutions is a perfect fit.  I know through talking with teachers who are already coding with their students that they hang their hat on that when challenged with the “why”.  The real advantage is that they either already have or have taken the time to learn the key concepts.  It’s an add-on but they’ve seen the value.

While the concept fits nicely into the mathematics area, we know that excellent teachers apply the concepts where they fit.  I had a teacher tell me once “We integrate everything”. 

In discussions like this, the question of what language is best for this always arises.  It’s interesting to sit back and strike a list of languages that I’ve used in the past.  (Actually, kind of humbling.)  At university, it seems like courses were often differentiated by the language.  I think that it’s important to choose an application that works on a variety of platforms, phones, tablets, computers, and that scales with the skill development of the student.  Right now, I think that TouchDevelop certainly fits that bill.

In the new strand for Computational Thinking and Coding, there needs to be support for the classroom teacher.  I would suggest that the first textbook or support materials for current textbooks from a reputable publisher would seal the deal.  If you haven’t, you need to read Douglas Rushkoff’s Program or Be Programmed.  Nothing speaks better to the topic.

Imagine a graduating class from an elementary school who have coding skills, coupled with computational thinking and all of the other strands from the mathematics curriculum.  As noted in Alfred’s post, why not let student vote with their feet?  Those who have the skills and see the benefits of learning to more formally program are now ready and prepared for the secondary school courses.  They’re not flying blindly into the unknown.  They’re in a position to make an informed choice in their course selection.  If they elect not to select Computer Science, at least they’ll have a number of years of background in computational thinking and coding.  It’s a valuable skill and only grows in value as they acquire devices and wish to master them.

They really can’t lose.

Thanks, Sylvia Duckworth.

12 thoughts on “My CS Plan

  1. Doug, I’ve been thinking a lot about this topic this year. I also think that there needs to be a firmer link between coding and the curriculum for more teachers to do it. (This has been the part that has made me more reluctant). Experimenting with coding this year though, I saw links with Number Sense, Geometry, and also Media Literacy (under Language). It also ties in well to the process expectations in math, and there are some good links with visual arts and music (depending on what’s being coded).

    Teachers are constantly feeling though like there isn’t enough time to teach everything, and Kristi Keery-Bishop wrote a great blog post about the need to “let something go,” instead of always feeling as though we need to add on. While I love having this better link to Math with a new strand, I wonder about adding on to an already jam-packed curriculum. What if coding was given not as an example, but as a must do, as part of current curriculum expectations (maybe throughout the different documents depending on the grade)? Or if not, what could maybe go, so that coding could replace it? I really like to see coding as an instructional strategy, as then maybe students and staff can also see how it can be used in other subject areas. As a separate math strand, I worry about it just being taught in isolation. What do you think? Thanks for giving me lots to think about!

    Aviva

    Liked by 1 person

  2. Thanks for the comment, Aviva. Unlike so many add-ons, I actually think this would be less onerous. I suspect that most people have incorporated computational thinking at whatever their comfort level is. The problem is that there isn’t a consistent plan. By formalizing it, it would draw everyone closer to being on the same page. Like they say, “if it’s worth doing, it’s worth doing right”. Right now, it’s a scattered approach with various levels of success. My thoughts are an attempt to give it some focus.

    Like

  3. Interesting thoughts, Doug. I teach math and CS in high school, and algorithmic thinking is a real weakness in my students.
    But they can all handle basic probability. Perhaps we could scrap all of that stuff in the math curriculum in elementary? Probability concepts in senior math are easier to teach with student-designed simulations, which they can’t handle without the coding skills anyway.
    Got me thinking, as usual. Thanks!

    Liked by 1 person

  4. Thanks for the comment, Brandon. Fortunately, we do have the Ontario Curriculum which levels the playing field for all schools. One of the things that struck me about reading Alfred’s post was how different school requirements can be from school to school in his region. I like your thinking about student designed simulations. Possibilities expand with coding skills.

    Like

  5. Doug, I really like the idea of giving some focus. I do anticipate that there will be a concern with “adding on,” especially since most people think that there are too many expectations currently in elementary math. Brandon’s comment gives me more to think about. Maybe looking at what could be replaced with coding, is a good place to start. Currently, there is very little difference between the probability expectations between the grades, and many times, these expectations are approached the same way grade-by-grade. These coding expectations might give students the skills they need for later, while hopefully, developing some skills that they can apply in different ways through other curriculum expectations.

    As an aside, I found that in Grade 1, the curriculum links for coding were actually stronger in language (when connected with reading, writing, and media literacy) than they were in math. Towards the end, my students had a better number sense and could do more with a program like Scratch, but they were definitely not there in September. If we are looking at creating another strand for math, then I think it will be essential to align the skills in this area with the skills of students in other math strands to increase student success. The “big ideas” approach may be the best way to deal with coding in elementary school, as then there are expectations, but they also align with other strands and curriculum links. I wonder if this would make them a little less overwhelming for some.

    Lots to think about here, Doug! Thanks for the good conversation!
    Aviva

    Liked by 1 person

  6. Hi Doug, great post, and I already sent the link out to some people who I think would like to read it. Like Aviva and Brandon I have been thinking about this for a long time, and I really like the idea of a new strand! So simple – well conceptually, anyway:) I think one way to foster the integration of coding in elementary is to think of it as both a skill and a tool. So, once the students have some background, they can choose a coding approach to tasks, just like they would with other digital tools. I know of one school that did a CI in all the Grade 7 and 8 English classes where students could choose Scratch or Minecraft or another tool(s) to do activities related to narrative writing. Also this coming year, our Learning Connections project (once the job action finishes) is going to look at the idea of integration. First, we are saying that it supports our board improvement plan which contains a numeracy focus on fostering spatial reasoning. Also we want to prepare some supports and suggestions to guide teachers who want to integrate coding activities in other areas of the curriculum too. Right now the group has about a dozen members, some experienced with Hour of Code, Code.org courses, coding projects, robotics clubs, etc. and others who are brand new. I am really excited to see how we all figure out how to move forward. I think there is a Ministry project about this as well, that is going to release materials in the fall.

    Liked by 1 person

  7. Doug, an excellent post! I have experimented with coding and have found many of your observations to be true. For example, we coded in math and had success. However, coding will not continue next year for those students because teachers have different focus. You’re right, it does become a one-off and really needs to develop so that kids’ skills deepen. However, I’m not sure of the additional strand. I think that there are already five strands that are more surgerical than beneficial to the understanding of math. Strands are tools to understand numeracy. For example, you can use algebra to solve a problem. Students need to see math more as a whole, not a checklist of strands. Coding is also a highly effective tool for math. I was surprised this year how I could integrate coding into every strand I taught. I’m not sure how it would exist as a strand. I also think coding could be brought into other subject areas such as Language or science. My thinking is that all kids should be exposed to coding so that they can use it as a tool to demonstrate their learning. But you have given me much to think about!

    Liked by 1 person

  8. Thanks for sharing your thoughts, Anne. I’ll be interested in how you’re planning to move forward. With the current labour situation, it’s difficult to imagine where the direction will head. In my opinion, you’ve nailed it when you say “they can choose a coding approach”. In my mind, that a sign of success that coding has become meaningful and purposeful; certainly beyond a one hour tutorial. There’s your target.

    Like

  9. I appreciate your thoughts, Enzo. I wrestle with the concept of the extra strand. I’d hate even more to see it as a separate subject area. That seemed like the best path to take, consistent with a framework that we’re all familiar with. I like the concept that it’s a skill that is introduced early and becomes just part of a student’s skill set as she/he progresses through school. I would hope that the skill would naturally become part of getting things done in Language, Science, Music, etc. as abilities develop.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s