Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's funny, because I have completely the opposite view: stop telling people stuff is difficult! If people think what they're about to learn is supposed to be "hard", they're going to give up faster and be intellectually lazy. "Oh, I just can't figure it out because it's hard."

I've found this to be particularly important with things that are fundamentally simple but very abstract. You can teach people quite a bit of advanced mathematics if you don't tell them it's supposed to be difficult; but if you start out by mentioning that it's graduate-level algebra or something, they just shut down and don't even try.

I think this is a big part of the "monad problem", coincidentally. People don't understand monads because everyone says they're impossible to understand. When I came at them, I expected something complex and obscure. I couldn't see their actual simplicity—they have a tiny definition, after all—because of my expectations. On the other hand, when I went to learn about arrows, which are a similarly abstract concept, I didn't have nearly the same difficulties because I wasn't expecting anything and could take the definition as it is. I had a decent understanding of arrows before a decent understanding of monads, which is a shame because I don't really like arrows!

Now, I suppose that this doesn't mean you should call everything "easy", but you should definitely not perpetuate the idea that things are difficult! (Unless, I suppose, you want to intimidate people rather than teach them.)



I have completely the opposite view

agreed. There's also evidence to back that up.

source: Get Anyone to Do Anything (David Lieberman, Ph.D. Psychology)

The second factor in making sure that you are understood has to do with expectation. Numerous studies show the powerful role that expectation plays in understanding and include such finding as (a) girls who were told they would perform poorly on a math test did so; (b) assembly line workers who were told that the job was complex was and difficult performed less efficiently at the same task than those who were told that is was easy and simple; and (c) adults who were given fairly complex mazes solved them faster when told that they were based on a grade-school level


Having taught ~200 adults to program, a teacher should avoid the "difficult/easy" dichotomy entirely, which is closely related to the "stupid/smart" dichotomy. SQL is "easy" if you come from a job where you've used Excel all the time, but hard if you've never had to think that way.

Much more valuable is giving people the tools to (1) understand why something exists, (2) what problems it was designed to solve, (3) why it is designed the way it is vs. other possible ways, and so on. Everything is "easy" once you've viscerally experienced the problem yourself and spent some time tinkering with possible solutions.

Monads are "hard," for example, not because they're technically complicated. Their definition is not so much abstract as austere, as you point out. Rather, they're hard because the beginner doesn't see how they are an attempt to solve certain problems with side effects in a purely functional language which prioritizes referential transparency.

Both "easy" and "difficult" are dangerous words because the student quietly elevates them to statements about their own intellect. If this "easy" but I can't do it, I am stupid. If this is "difficult" but easy for me, I am smart — smarter than those other students who are having a hard time.

IMO, it's really the fixed mindsets we need to combat, not one particular axis of fixed thinking.


I think you might in fact be in agreence on the deeper point, 'easy' and 'hard' are relative terms, what is 'easy' for you may be hard for me and vis-versa. I would agree that in teaching it's best to avoid or greatly use both words in lazy everyday speech.


You should perpetuate neither. Just try to be empathetic and look at it from the perspective of the student.


It's my experience that you should tell the students that the topic is challenging. Not difficult. And if it's easy, there's no point in bringing that up either.

I believe the use of both of these terms comes from inexperience, or as you suggested, the desire to intimidate.


People don't understand monads because they don't write code with monads. Instead, they read abstract tutorials about how a monad is like a burrito full of kittens, get scared, and then don't actually reach the stage of learning by doing.


Usually that's a sign that the person learning doesn't have the right "toolbox" yet.. It requires stepping into their shoes and trying to build up smaller pieces which they can grasp, then allowing them to step through them first semi-guided, and then again on their own. After a while, the student can grasp that this is the way to attack a seemingly "impossible" problem - well, all these pieces I've been learning must fit in here somewhere.. what's the simplest bit I know which puts me at least a step in the right direction?

Learning how to learn is a lifelong thing, and many people simply don't have the chance to be led through in this way to the point where they can do it themselves.

edit: in regards as to what's "the right thing" to say - I'd start with "Well, let's look for something easy first"..


I think context matters here. Let's take two different use cases as examples:

Case A: The student has a genuine interest in the material. The student wants to be successful, and has worked tirelessly to configure and/or understand a given problem or task. The last thing the student in Case A needs to hear is "It's easy". Obviously the problem, to said student, is not easy. This can hurt overall student moral.

Case B: The student has not a complete devotee to the material. The student is "trying it out". The student thinks the material could be achieved without professional education or training. The student in Case B may need a bit of convincing. Telling that student that something like this is "easy" could be beneficial in this case. The student will believe that understanding of the material is at least achievable.


That's not "opposite" that's the other side of the same coin. Don't say things are hard or easy, just teach them.

Saying things are difficult sets up negative expectations, saying things are easy means disappointment when we have unrealistic expectations.

I still think it's fine to say that most people seem to find X harder than Y…


What's the opposite of "heads"?


A thought that keeps me motivated when studying is this:

"Somebody somewhere figured this out. If I sweat it, I can too."

Of course, it won't work all the time[1] but the attitude serves me well I think.

[1]: I will never become a great painter because of: physical capacity, interest and willingness to devote my time to this.


What I've learned with my kids: it depends on the person.

Last I heard, the best approach is supposed to be telling kids they got the right answer because they are working hard. Well, I've had that one backfire. "This is too hard!!!!"


Please provide a citation. Yo are misremembering.



everything is easy in context. what you are supposed to be teaching is not "what is easy", but how to put something in context to make it so. this typically means eliminating degrees of freedom--most of what you learn in school makes you smarted by limiting your cognitive overhead. the actual calculations are 1/10th of the cognitive load; that is why experience and not aptitude are valued later on. "hard" for someone with no experience is almost always not "intellectually difficult", its simply befuddlement.


When I read the post, I had the exact same thought you just wrote (experiencing too much of this first hand with my eldest boy atm). Took the words right out of my mouth.


I've always gotten a lot of satisfaction from learning and mastering something that was initially presented as being difficult.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: