Computer Science: The Good, The Bad, The “Where Do We Go From Here?”

A little earlier today, I read a recent blog post by Brian Aspinall that has me thinking. I’ll admit that I often say this about Brian’s posts, but I just can’t stop thinking about this one. This is actually the second post I’ve read today on computer science. Doug Peterson, another Ontario educator, published the first one early this morning. There definitely seems to be a more recent move in education — or maybe I’ve just read more about it recently — to going beyond coding and really looking at the benefits of computer science. This is not just for older students. As Doug shared in his post, we are really looking at what this means for all students from Kindergarten right up to Grade 12. 

On one hand, I find this exciting. I loved that Brian highlighted how computer science can really develop thinking skills, and that this even connects with thinking beyond the use of technology. His chess and basketball examples really resonated with me and got me thinking about “thinking” differently. We need our students to be good thinkers. It’s great that they know content or even know how to access it, but are they questioning what they’re reading? Are they thinking critically about this content? Are they looking at ways to re-purpose it? I can’t help but reflect back on the last few years when I was teaching at my previous school, and the time that we spent — as a school — looking at how to help students become better “thinkers.” Would computer science have been another good option to explore? When we look at what computer science means, were we exploring it?

But on the other hand, this computer science focus scares me. Yes, I’ve explored coding in the classroom for the past few years. I even facilitate our school’s coding club. I’m still trying though to really understand the difference between coding and computer science. I’m still working through a long list of questions that continue to make me pause. 

    • How do we support students in this learning?
    • What about struggling students? (I’m not talking about “good struggling,” but the frustrating, this is ‘way too hard,’ breaking down in tears of stress, struggle?)

My Edit After Publishing: After tweeting out the post, Noeline shared it with this comment.

Screenshot 2016-03-20 at 16.52.34

This leads me to a new (and important) question: What about struggling teachers (and struggling in the same vein as the students that I described above)? How do we support them, so that they don’t give up on coding?

  • From a Kindergarten perspective, what about students that are developmentally below grade level? Where do we begin? Are there some fundamental skills that the students need first? How do we develop them?
  • How much do we need to know about computer science in order to facilitate this learning in the classroom? I know that we can learn with our students, but is there a certain amount of learning that we need to do first?
  • How do we make the connections to the curriculum? I understand the “big idea” links, but how do we stay focused on them. How do we ensure that this time spent coding, tinkering, making, remixing, disassembling, etc., connects to classroom learning that aligns with curriculum expectations? Maybe I’m having a “pink elephant, what are we really teaching kids” moment.
  • How much time do we invest as a full class in computer science, and when (or do) we decide to just give it as an option to share learning?
  • How do our own experiences with computer science impact on our thoughts about teaching it? How do we address the pros and cons in this case? I still remember taking computers in Grade 10, and spending hours writing a DOS program that would make my computer do (or say) one thing. I feel stressed just thinking about this time now. Is this stress, in some way, holding me back?

I don’t want these questions to be stopping points. I don’t think that they should be. But I do think that if we, as an educational system, are moving forward with computer science, then we need to start talking about these questions. Does anyone want to join in on the discussion? What would you say?


22 thoughts on “Computer Science: The Good, The Bad, The “Where Do We Go From Here?”

  1. Hey Aviva,

    Great list of questions and your not a lone. I think CS scares a lot of us because it seems so foreign but it’s not.

    In fact you have already been doing CS in kindergarten without even knowing it. CS in elementary is geometry and spatial sense at its basic level. Talking about directions and space is the foundation to CS. You also discuss sequences and procedures.

    I think we need to have this frame of mind when we incorporate it into our classroom. Also just like every other subjects we teach many may not exhibit traits or interest but it doesn’t mean we don’t do it. We have to scaffold and help them through things.

    I think the break down a cry is more about persurverance and attitude then subject learning. You will find that with those kids whenever something is hard that is their go to because that is what they have learned. There are various reasons for this and the simple answer is that they may not be developmentally ready yet. So what do we do? We move the task to their one of proximal development. Kids and adults need to struggle to learn. As teachers we need to professinally know where that struggle is.

    I hope this helps.

    • Thanks Jonathan! I can totally understand what you’re saying here, and it makes me feel better to think that I have introduced students to computer science thanks to “geometry and spatial sense.” I guess that I’m trying to figure out what this scaffolding looks like. If, as adults, we’re still trying to figure out coding and computer science, how do we determine what the task is that would be to their “proximal development?” I agree with you about the importance of struggling, but I think it’s a fine line between a “good struggle” and one where the activity is “too frustrating for students to learn.” How do we decide? I guess that I wonder this more in the case of coding and computer science because the learning will be new to many, so how long do we let the students struggle, and then if it is too much, where do we go next? As someone that struggles with geometry and spatial sense, supporting students in this area does seem overwhelming (at times) to me. I don’t think that this should stop me from trying, but I would like to know how I get better so that the students benefit the most.


      • I think scaffolding is scaffolding? No? we know our kids or at least we should. If we think its too difficult then we need to work with it and them.

        Think it helps if there was some sort of developmental work out there but it is so new that this is just being started. More research has to be developed to see what K’s can do versus grade 8’s.

        As for how do you know if its too much, I can ask that with any subject. How do you know? What do you do for that? Just because its coding doesn’t mean we should stop teaching it. Of course knowledge is key and I think ALL teachers should be learning basics of coding and trying it themselves.

        I always say I don’t know how to code but I do know what’s best for my kids and students. I am also not afraid to try something new and learn with them. So what if what you make doesn’t work, that’s when you reach out to other people and ask for help. For me it has been trying to make scratch games to fit my classroom. Sometimes they work and sometimes not but I have learned a lot about the process from this. Hope that helps.

        • Thanks Jonathan! I’m not sure that I totally agree with you that scaffolding is scaffolding. I think to scaffold well, we need to understand the content, and this is hard to do when coding and/or computer science may be new to us. So when students struggle, we may not know where to go next. Maybe a continuum would help with this. Then we could look back at what comes before what we’ve already tried.

          Like you, I’m not afraid to learn with my students, and this is what I did last year when we tried some coding in class. But I did find — especially for the students that struggled — I needed some knowledge to know how to support them. Sometimes that knowledge was knowing the child in the classroom that could help, but sometimes, that support needed to come from me. Maybe this again comes down to some teacher PD, so that we have a better understanding of what we’re teaching.

          I also think that the links to curriculum — even if it’s big ideas — are going to be key if we want teachers to not “stop teaching it.” If coding and/or computer science is seen as an add-on, will it really be around for the long haul? I don’t think that it needs to be an add-on, and the comments here show the links to expectations. Maybe we just need to remember to keep this in mind, and know those expectations well enough that we can make the links as the students continue to explore and learn more.

          Thanks for the continued conversation!

          • Yes it will come down to PD and you are right content knowledge is key to helping and making good scaffolding but I knew nothing about CS last year and have learned so much just by doing it with my kids. Where I don’t agree with you is that you know teaching. You know how kids learn and more importantly you know Kindergarten development.

            I know that you can take the learning you do and see how it can be changed to suite your kids. Yes it would help you to know more of the development but just keep thinking what would my kids do and you can do a lot of scaffolding well.

            As always making those connections to curriculum is needed and like Enzo suggests also highlighting that the kids are doing CS is needed. If we don’t make that learning explicit I don’t think we do it justice.

          • Thanks Jonathan! I agree with you to an extent. I think that a lot comes down to where the child is struggling. Is it about the content itself or is it in the teaching/learning of the content? If it’s the latter, then knowing the content itself may not matter, but if it’s the former, then understanding the content more would help with the scaffolding. Maybe, sometimes, it’s a bit of both. I wonder if I’m also struggling because for me, coding is a real challenge. It’s not something that I’m very successful at, and in many ways, I find it frustrating (and not always “good frustrating”). Now I don’t think that this should impact on my choice to expose students to it — as likely many will, and do, benefit — but I do keep coming back to thinking, how can I support students more?

            From a computer science perspective, making these links to curriculum are key. I honestly never thought about computer science as you, Enzo, and Brian did. I wonder what connections I have missed out on, and what more I can do. This is why I think that this teacher PD piece is crucial. The more we know, the more that we can support kids. And maybe this discussion is making me think more about what kind of PD I can do on my own to learn more. I think that I have a topic idea for the upcoming EdCamp Hamilton. 🙂


  2. Aviva,

    Thanks for putting these thoughts into words and putting them out there for discussion. I too read both posts your mentioned today and enjoyed the link to thinking and problem solving. It made me feel a bit less scared to jump on in, but also was left with many of the same questions you posed.

    I too remember compuster science class in high school. I remember coding and programming and recall how much I loved the problem solving. My parents did not agree that it was a course I should pursue and back then they had to sign my course selections. I often wonder where I would have ended up in life if I had been allowed to take other courses in high school.

    That being said – high school was a loooong time ago and I often feel totally unequipped to venture into this area in a classroom. I have tried a few programs with my own children (hour of code, lightbot and hopscotch), but have not yet ventured to explore with students.

    If/when I return to the classroom I want to explore this more, but also want to be sure that it is connecting to the curriculum and is meeting learning needs of my students.

    Thanks for putting it out there – it feels good to know there are others like me.


    • Thanks for the comment, Sarah! I find this discussion really interesting, and I think that it’s an important discussion to have. We often interchangeably use the terms “coding” and “computer science,” and the posts from today were good reminders that they are different. Coding is just a part of Computer Science. As we try to figure out where all of this fits in the classroom and how to meet various student needs throughout the process, I think that we all have to benefit from the joint learning that often comes from meaningful discussions. I’m curious to hear what others have tried and what they suggest. If you do try more when it comes to coding and/or computer science, please let me know. I would love to know how it goes.


  3. Hi Aviva,

    Some great thoughts and no easy answers. I often wonder if we are pushing the wrong thing. Computer Science is really about computational thinking and algorithms. Jonathan is correct to say that it is already in the math we teach. But I would say it is also in language, science and every strand. If we have ever taught procedural writing, then we are teaching algorithms. However, unless we pull out these parallels explicitly, then the connection to CS is not taught to its fullest extent. I also agree with you because these questions should not stop us from trying. Sometimes we can’t connect the dots until we look back. So I encourage everyone to take that leap of faith. Doug Peterson is very accurate when he says Hour of Code is not nearly enough. Students will struggle with coding. But there are students who struggle in all areas of the curriculum. It really comes down to the support we provide because every student should be exposed to it. For me, I often wonder about my own kids (I don’t have kids but stay with me). Would I want my kids to learn CS given its benefits and statistics? YES!


    • Thanks for your comment, Enzo! I can totally understand what you’re saying here, but as I read your comment, I think, “Wow! I never thought like that before. How is procedural writing like algorithms? How do we help children understand this?” I think this comes down to the need for more educator instruction in computer science. I know that there are people out there like you (and Brian and Doug to name a few) that really understand this topic. But what about others? I don’t think that a lack of answers should stop us from using computer science in the classroom, but if we have more answers, can we do a better job of really facilitating this learning? Just like you, I don’t have kids, but I do see the value in them at least being exposed to these skills. I’m just trying to figure out how to do a better job at this.


      • Enzo and Aviva,

        This was what I was trying to get at. Coding is in everything but we need to talk about it. Understanding some sort of continuum is always helpful this way we know what skills they should be acquiring by a certain point (of course if they can go further that is amazing too).

        • Thanks Jonathan! I totally agree. A continuum would be great, and may help make teachers feel less overwhelmed. It would certainly provide some structure. I do think that professional development is needed too. Computer Science is very new to many teachers — me included — and with some PD, maybe we would understand where to begin and how we can better support our students in this learning.


          • I would also love their to be a continuum and a breakdown of development with the process. I can also see how the algorithm fits in so many content areas – I guess it really is about drawing those parallels for our students. The explicit teaching of the connections will help students develop a greater understanding.


          • I totally agree, Sarah! I think that I may need some explicit teaching of these connections too. 🙂 I’m still trying to figure out this algorithm part.


  4. This has been a great post for me to read, Aviva. I am similarly confused in that I believe in the importance of coding and computer programming opportunities for students of all ages but I’m not sure how it fits in, if we are stretching the curriculum too much to make it fit in in too many places and if that is necessary. For my own kids, I have been quite a stickler that it is important for each of them to learn to: ride a bike, skate, climb a tree, operate current devices well and respectfully. While I appreciate when the school takes on some of these responsibilities, I’m not sure whether I should expect them to be completely responsible for any of them.
    This is an area of learning for me. I’m eagerly following this conversation and others like it so I can make good decisions and engage in good conversations with staff. Keep it coming !

    • Thanks for the comment, Kristi! I’m struggling with much of this too. While I see some connections between computer science and curriculum expectations, I don’t know if I see them in every area. Is this because I don’t know enough about computer science to make the links, or is it because we’re “stretching the curriculum to make [everything] fit in?”

      And then I think about your comment that maybe everything doesn’t have to happen at school. This is true, but would ALL students have equal opportunities to get these experiences if not at school? Is there a component that should be taught at school, but how much and when?

      I’m really hoping that “we” (being the collective we) have more of these conversations because, as you’ve taught me, there’s value in asking and answering the hard questions. Then we really start to understand the “why” and the role that schools should play.


  5. I was a learning disabled kid that was struggling and I think computers and programming saved my life.
    I didn’t really do “well” in other things but my interest in computers was my one anchor that gave me self confidence and a feeling of success.
    I did have some basic “computer lab” classes but it was really my own self study (partially encouraged by my special ed teacher) that really pushed me forward. I would spend hours in the library reading programming books, which also let me master other skills I was struggling with like reading and writing.

    And now I have my own on-line business because of those basic skills.

    So yeah I think the school system giving exposure to technology is important.
    But even more important is teachers encouraging students to follow their individual interests as a base to getting other skills and self confidence.

    I also think kids should be educated about the possibility of being an entrepreneur (aka discussions about starting their own businesses). Schools largely just focus on getting careers and higher education – but that is NOT the only path and is very limiting, especially if your a person that has unique strengths and weaknesses.

    • DK, thank you so much for contributing to the conversation and sharing your personal story. I think that you make a wonderful point about the importance of coding for some students. While others struggle with it, for some children, it’s their way of sharing thinking and learning. Maybe this again comes down to providing choices (options), but can coding be a real choice if it’s not taught (at least to an extent)? You shared that most of your learning happened on your own, which lines up with Kristi’s comment, and the fact that all teaching and learning doesn’t have to happen at school. But if it did, would other children, that maybe didn’t pursue this on their own, have succeeded as well? What other benefits might there be? Any drawbacks? You have me thinking.

      As for post-secondary options, I’ve never really discussed these as an elementary teacher. I wonder if others have done so. You make a great point about ensuring that we keep options open for ALL students.


  6. Thanks for opening up the conversation, Aviva, and helping me think about some of the teaching I’m doing about computer science/coding in my classroom. This year, in my intermediate French classes, I made our coding activing a procedural writing task, and before we took it to the computer, we did some activities that would probably be very familiar to any math or language teacher. I gave my students each a set of pattern blocks, and had them create a simple design with them. Next they had to sit back to back with a partner, and give their partner simple instructions (in French, using our prepositions) on how to arrange those blocks to recreate their shape. Once their instructions “worked”, they wrote them down as steps (procedural writing). Then we talked about the fact that they had just done some computer “coding” without a computer – problem-solving, finding the “bugs” in their instructions, revisiting. They were fascinated, and it helped us make the transition into the task on the computer, where they are using Scratch (coding blocks in English) to create simple games, and then writing instructions for players in French (using our imperative structures).

    As a Core French teacher, my curriculum lets me stretch things to fit more than some do, but the introductory activity seemed to really help my students understand about how important it was to create effective instructions. It also helped some who had struggled with previous coding activities realize that they could work through some of the issues, and try something different.

    Introducing our coding task this way also really helped me concretely understand some of the things that Brian and others talk about – that it really is about procedural thinking and problem solving. I am not a terrifically strong coder, but I am good at going back, and looking at steps with my students, and “proofreading” the set of instructions. If a students wants to try something that’s beyond my knowledge, I do have a few “experts” in the room who can jump in. However, the most common thing I find myself saying in the learning space when we’re working in Scratch is “try that, and see what happens”. I’ve been working really hard to create an environment where my students understand that an attempt that doesn’t work isn’t a mistake, it’s just another step to figuring things out. For whatever reason, the pattern block activity seemed to take some of the high-risk out of the computer activities for my students.

    • Thanks for your comment, Lisa! I’ve actually been thinking about this all day. I love how you made the connection to the instructions that your students gave aloud with the use of the pattern blocks. I’m wondering though about the computer coding component. How did this coding component help your students develop and/or apply their French language skills? This is the part that always confuses me when it comes to coding. Can you code in French, and if not, how do you decide when/if computer coding is the best option for your students? Is this a decision that they may also make, and if so, are there any restrictions on their choice? Thanks for giving me more to consider! I would love to hear more about coding in French, as this was not something that I really thought about before.


      • Coding in French has been work in progress – I started 3 years ago with hour of code – one of the tasks was a holiday card, so I had my kids do the coding in English, but the writing in their card had to be in French (let them extend with conversations, recorded audio, etc). This year, I wanted my intermediates to work on procedural writing, and in Scratch, there’s a section where you write instructions for the player of your game – kids who really want to challenge themselves can try switching their coding language to French, but others can keep coding in English (using their problem-solving skills there), but their instructions have to be in French – and that’s a totally separate problem-solving set – how do I choose the right action word? Which form of the verb should I use? The main curriculum expectation we’re working on with this one is writing in different forms, but there’s also some work on reading other students’ instructions, in order to play the game, and give feedback on whether the instructions worked.

        This is a full-class activity – next evolution is to offer it as one option for procedural writing – others might want to try a recipe, or other set of instructions. I want my students to have computational thinking (and in this case, coding) in their tool kit going forward.

        • Thank you so much, Lisa, for sharing what you’ve tried, but also the thinking behind your choices. I haven’t heard of as many people that have tried coding in French, and so I was very curious about what you were doing, but also the curriculum links. I love how you’ve provided different options (e.g., switching the language from English to French), but have also made very explicit curriculum connections. I think that one of the areas where I struggle the most is in the time spent on the “coding” component versus on the curriculum expectations. (Please don’t get me wrong. I know that there is still learning from coding, but when I try to make the links back to the curriculum, sometimes I find that more time is spent debugging than on everything else. I can certainly see the thinking value in debugging, but what about the other learning that I’m hoping to address?) I wonder if others struggle in the same area, and how they find the balance between coding and curriculum (or eventually do the two just merge naturally together)? Does the grade and curriculum area play roles in this? Do we just need to think about curriculum differently to see these links? I’m not sure. Still thinking out loud here, but always welcoming continued conversation! 🙂


Leave a Reply

Your email address will not be published. Required fields are marked *