12 ms·
> I don’t think everyone can understand computer science. This is a bold claim. None of us are special for working in tech. Our life has presented us the opp
by benrbray 5y ago
> I don’t think everyone can understand computer science.
This is a bold claim. None of us are special for working in tech. Our life has presented us the opportunity and passion to invest ourselves deeply in the field, often at great opportunity cost.
Saying that a bad teacher makes no difference in student outcomes is equally ridiculous as saying an excellent teacher makes no difference in student outcomes. If that's the case, we should be able to replace professors with cardboard cutouts, no? I was a student and TA long enough to witness directly the impact that a thoughtful curriculum can have on students.
- syops 5y agoThe person you responded to didn't make any claims about bad teachers or good teachers. The claim is that not everyone can understand computer science. As an extreme example do you think a person who is mentally disabled can understand computer science? From my perspective it's clear to me that not everyone can understand computer science and the same applies to many academic areas.
- judge2020 5y agoNot everyone can understand computer science, but I think the OP meant that your socioeconomic status matters more - gradual learning from age 10 makes college-level education a breeze compared to being disadvantaged well into high school and only using computers in order to live and use essential services. I agree that the whole bad vs. good teachers thing is off-topic, though.
- benrbray 5y agoThe grandparent comment was about teaching, so I interpreted the parent comment to mean that "innate ability matters much more than good teaching", which my personal experience teaching people disagrees with. And sure, the statement "not everyone can understand computer science" is technically true if you include people with mental disabilities. But in reality, some people draw the line a lot higher as a form of gatekeeping. I've known a number of professors who let themselves off the hook this way too: Poor student performance couldn't possibly be a failure of their teaching--the students must not be smart enough!
- josephg 5y agoI've spent about 2.5 years teaching programming. Students really do seem to have some innate programming difficulty slider, which absolutely matters. Some of my students worked their absolute butts off to learn programming, and asked for help constantly (which I gave gladly). And they still barely scraped by. Other students seem to learn programming extremely easily. I would show them something one day, and the next day they've already used what I showed them in their code. I'm open to the hypothesis that its my fault that some of my students failed to learn programming. I certainly felt terrible for them when they worked really hard and still failed. But I don't think its all me. I certainly can't take equal credit for the students who did very well. My star students seemed like they barely needed me to teach them anything at all. And for what its worth, the perspective that talent doesn't matter is an awful thing to teach struggling students if its wrong. Students hear that as "If I struggle at programming it must be my fault". I don't think it is. I think some people just have brains wired to make programming easier or harder to learn. There's no shame in encouraging some people to pick a different career. If programming really isn't right for someone, the sooner they swap to something else, the better.
- benrbray 5y agoI don't disagree with a lot of what you said. Practically speaking, some students are simply "behind" where they should be, at it might be too much effort to catch up, so the pragmatic choice is to pursue something else. I guess it's usually that I attribute their struggle more to external factors than internal factors. * The student might have other stuff going on in their life at the time. Heavy course load, personal drama, etc.. * The student might have other interests, so they don't devote as much time to studying as they should. * The student might not yet have had a good math education, so their abstract reasoning skills lag behind. I think it can still be learned, but someone in a college compsci course just doesn't have time to catch up. I've been an undergrad/grad TA as well as a tutor for high school students in math/programming. My own experience tells me that learning is very "path-dependent". Students will be more receptive to my way of teaching if their background is similar to my own. Part of my job as a teacher is (was) to try to recognize the gaps in their background, but sometimes I do have a lot of trouble understanding what path a student took before coming to me, so it's harder for me to help them.
- wyager 5y ago> None of us are special for working in tech Computer occupations as a whole have a median intelligence at least 1stddev in excess of the population median. https://www.gwern.net/docs/iq/2002-hauser.pdf https://www.gwern.net/docs/iq/2002-hauser.pdf I have to imagine that programmers in particular are even higher.
- wutbrodo 5y agoI've always felt like a good data point in favor of IQ playing a non-trivial role in suitability for programming is the fact that anti-credentialist moves like 10-week coding bootcamps have been so incredibly successful. Bootcamps took off shortly after I graduated from my top-ranked CS program, and I remember being extremely dismissive of their value: there was no way that you could fit the four years of my CS degree into ten weeks. I've since realized that being good at Computer Science grossly overqualifies you for many programming jobs, and that bootcamps do a great job of giving reasonably smart people an on-ramp to these jobs. I know three separate people who jumpstarted six-figure careers from scratch after attending a bootcamp: one was a waitress, one an artist, and one's entire career thus far consisted of a decade of changing tires at Costco. One of the three wasn't college-educated, and two were first-generation Mexican immigrants (as children) from working-class families, belying the assumption that privilege and educational access fully explains programming ability. Unsurprisingly, all three are fairly intelligent people. I can't think of another industry that has a similarly egalitarian entry path, and I think a very plausible explanation is that suitability for these types of entry-level programming jobs is little more than a test for high IQ (relative to the population norm). This is my experience as well. During an ill-advised foray into building the tech org for a mediocre startup with a poor candidate pipeline, the quality of candidates we got was so poor and the work we were hiring for so easy that I pretty immediately found myself dropping every requirement except for knowledge of basic programming + intelligence. This worked pretty well: The no-experience, very-smart guy that I strongly recommended hiring became the capable workhorse of the eng team, and the dumb guy with a decade of experience that the founders hired over my objection was an absolute dumpster fire, unable to work with any autonomy and bounced from area to area in an effort to find a place where he would do the least damage.
- 5y ago
- deleted 5y ago[deleted]
- lelanthran 5y ago>> I don’t think everyone can understand $RANDOM_DISCIPLINE. > This is a bold claim. I disagree. What makes computer science so special that it can be understood by everyone, while it is generally accepted that other disciplines cannot? After all, saying "Not everyone can understand chemistry" doesn't draw the same ire.
- xmprt 5y agoThe bar for getting stuff done with programming is much lower than the bar for chemistry. While I do agree that not everyone can or will be a full time software engineer, I think that most people can incorporate programming into some aspect of their lives. Whether they want to is another thing but that shouldn't stop us from teaching at least the basics even if it means the most they'll do is write conditional excel sheets or figure out how to build their own iPhone shortcuts.
- TheOtherHobbes 5y agoI suspect many people on HN have an unrealistic view of how most of the population operates. People who can do any version of STEM with some minimal basic competence are unusual. They're not exceptionally unusual, but they're certainly not the population median. Media numeracy is around Level 3 on this list. Numeracy in the US is lower than the OECD median and is somewhere between Levels 2 and 3. https://www.nationalnumeracy.org.uk/about/what-numeracy/what-do-adult-numeracy-levels-mean https://www.nationalnumeracy.org.uk/about/what-numeracy/what... I'd estimate you need Level 4 for programming to make any sense at all and maybe get you started with very simple programming tasks, Level 5 to be able to do basic code construction on a daily basis, and Level 6 to be a competent senior with some useful modelling skills. Level 5 is maybe 20-25% of the population. Level 6 is probably less than 10%.
- MathYouF 5y agoA very unrealistic view of the programming and mathematical abilities of the average person, even the average college educated, employed, under 40 person, is the main source of contention I find whenever this argument comes up in my social circles as well. Those who think anyone can learn programming should pick an acquaintance ages 25-45 who has sufficient time, and attempt to teach them to program, and see the results. Or inquire about the actual success rates of coding bootcamps (which are already self selected groups and have filters themselves, far from the average population to begin with). I've done the above with very mixed results, it's pretty clear that for a litany of reasons the average person is functionally incapable of being a useful programmer. I don't see the average citizen coding a lot in the next few decades, even casually.
- zozbot234 5y agoIt's a bold claim, but it's been largely proven by the famous "The Camel Has Two Humps" article that one basic prereq for learning CS/programming effectively is understanding that one is dealing with a formal system that's following consistent rules, even if it's not always clear what these rules might be. It seems to be quite hard to teach this understanding precisely to those who haven't internalized it, but it's a key part of the tacit knowledge one would need to work in the field.
- dfabulich 5y agoThe author of "The Camel Has Two Humps" has retracted it. https://retractionwatch.com/2014/07/18/the-camel-doesnt-have-two-humps-programming-aptitude-test-canned-for-overzealous-conclusion/ https://retractionwatch.com/2014/07/18/the-camel-doesnt-have... "That document was very misleading and, in the way of web documents, it continues to mislead to this day. I need to make an explicit retraction of what it claimed. Dehnadi didn’t discover a programming aptitude test. He didn’t find a way of dividing programming sheep from non-programming goats. We hadn’t shown that nature trumps nurture. Just a phenomenon and a prediction."
- zozbot234 5y agoThat's too bad, then. A good paper should not be retracted simply because of so many misinterpreting what it's talking about and creating some pointless controversy about it. The underlying "phenomenon and prediction" (namely, the bimodal distribution of proficiency in basic CS) stands up to scrutiny.
- thrower123 5y agoI dislike the way that so many people have a burning desire to belittle the difficulty of what we do. The fact of the matter is that most people cannot do it, and pretending otherwise is not helpful.