To me it’s empathy. And memory, being able to remember how it was not understanding something that now seems simple.

  • a_statistician@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Empathy is definitely good. I think the other thing that has been critical to my classes is cultivating an attitude that errors aren’t something to be embarrassed about, they’re something to celebrate - especially when you get a new error - it’s an opportunity to learn something.

    This isn’t a skill, exactly, but I’ve also found that it helps to spend a bit of time teaching them how to identify where/how they’re confused. I’ve loved “The Programmer’s Brain: What every programmer needs to know about cognition” for explaining this and I usually assign a chapter to read from it that basically explains the difference between lack of knowledge, lack of information, and lack of processing power. Essentially, lack of knowledge is not understanding what an operator or function’s purpose is - essentially, unfamiliarity with the syntax. Lack of information is not understanding the inner workings of a method - the details of how the function works are abstracted away and you have to go digging to find them. Lack of processing power is not being able to keep everything necessary to understand a program in your head long enough to see how code works.

    • JaumeI@programming.devOPM
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      The celebration of errors is something I’ve been trying to transmit to students of all ages for years. And they usually look at me as if I’m crazy. They struggle to grasp the concept of, instead of something to be ashamed of, is an opportunity to improve, under the only condition that you have to **learn **from them. I’ll take a look at the book, now that summer comes and I’ll have some free time. I love the differentiation you mention, as it’s something that we may not know intrinsically, but when you think about it, it’s always easier to use as a tool for improvement. Thanks!

      • accuser@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        We learn more from mistakes than from successes - I try and foster an approach that is characterised as ‘fail early, fail often’. The majority of my apprentices have come through an education system that only rewards success, and we spend a few weeks unlearning that, but once they start to get the idea, they are willing to be vulnerable and share code that isn’t working.

        • JaumeI@programming.devOPM
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 year ago

          The majority of my apprentices have come through an education system that only rewards success

          This. In my country there seems to be some change on this perspective in the education system, but then, families and society keep this mindset and most people still think mistakes mean failure.

  • CodeBlooded@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    “If you want to build a ship, don’t drum up people to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.” Antoine de Saint Exupéry