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.
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!
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.
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.
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.
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!
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.
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.