5 ms·
If the people like Atwood who argue that some people just can't learn programming are to be taken seriously, then by the same argument and same types of evidenc
by edtechdev 14y ago
If the people like Atwood who argue that some people just can't learn programming are to be taken seriously, then by the same argument and same types of evidence, there are some people who can't learn science, or math, or reading, or how to speak or write. Because what the evidence is showing is that some people have difficulties learning some topics or take longer to learn them, and in many cases have misconceptions that make it more difficult to teach the topic to them effectively. And the evidence shows that traditionally taught courses (lecture/memorization based - taught by people not trained in more effective teaching methods like active learning) often do not significantly impact conceptual change of such students.
The Bornat & Dehnadi Goats & Sheep paper is interesting in showing that we can diagnose students who have significant misconceptions or lack of knowledge needed to learn programming (see similar research on concept inventories showing the same thing in a wealth of other subject areas). Beyond that the strongest interpretation would be that students with misconceptions are less likely to succeed in traditionally taught CS courses. Not that such students can NEVER learn the topic and NEVER be a programmer. I wasn't surprised to see their research wasn't published (although it is so easy to get such research published - especially when the peer reviewers aren't trained in educational research and learning theory, either). But a line like this would never stand up to peer review by people who are even remotely familiar with research in computer science education: "change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists." There are decades of studies showing various strategies that DO help more students learn and better understand programming and computer science concepts. Just because Atwood and others are unfamiliar and ignorant of such research doesn't make their opinions more right.
- lusr 14y ago> Beyond that the strongest interpretation would be that students with misconceptions are less likely to succeed in traditionally taught CS courses You don't even have to go that far. When I tutored people in programming (years ago at university I tutored fellow business studies students for 2 years), I found that if I could identify their misconceptions and work through the misconceptions with them that they could indeed resolve their challenges with programming. At best all these papers can say is that these people were unable to build an adequate mental model of programming by themselves (yes they presumably had access to tutors but that doesn't mean the tutors were sufficiently skilled, or that they used the tutors). There is nothing to suggest that spending some time working on their misconceptions with them couldn't have changed that result.
- Jach 14y ago> If the people like Atwood who argue that some people just can't learn programming are to be taken seriously, then by the same argument and same types of evidence, there are some people who can't learn science, or math, or reading, or how to speak or write. The fact that there exists some Person who cannot learn X, an element of learn-able things, does not imply that for all X_i in the set of learn-able things there exists some Person who cannot learn X_i. I agree it's easy to give up on people who just need to see from another perspective to "get it". But I'll donate $20 to a charity of your choice if you can find me someone with a measured IQ of <= 80 who's also a decent programmer. ($10 for <= 90.)
- ebiester 14y agoLet's operationalize programming, of course. I will take your bet that I can teach someone at IQ 85 how to do hello world, and I can probably bring them through for loops and basic flow. I don't know about them being able to solve real problems, though.
- Jach 14y agoAh, that's a different bet than what I had in mind. I don't want to take that one. Though I'm curious to know what test you're going to apply to make sure they know what you intend to teach. If it's just a prompt "write hello world", I bet someone could teach a chimpanzee (or, if he was still alive, Alex the parrot) to do that on prompting and it doesn't seem very remarkable. (Now solving FizzBuzz when prompted, without them having ever seen the complete solution before, would be remarkable.) My bet is finding a "decent programmer" with such an IQ, whether you teach someone with such an IQ to be a decent programmer or find one at some company doesn't matter, so long as they're decent. I'll charitably define a "decent programmer" as one who in principle could get hired (or has been hired) at any company doing programming and related tasks and not get (or have been) fired for incompetence at programming. So solving "real problems" is kind of a requirement, which I'll cop-out and define them as "problems the manager asks to be solved". They shouldn't be complicated but the most mediocre of currently employed junior or intern programmers across the world should be able to accomplish them. Also charitably, gluing code blocks written by other people shall count as programming and solving a real problem. I think there's someone out there with an IQ of 97 doing such a job, but 85? I really need to see it to believe it...
- rumcajz 14y agoHow would you explain the double-hump distribution of grades then?
- goldfeld 14y agoI don't know if I agree about "never being able to learn programming," maybe with the right intense tutoring those people could. But double-humping is easy to explain: some people embrace the mindset and problem solving approach of programming naturally, or with minor counsel; while some people simply approach their programming assignments as a bunch of solutions they have to memorize so they can replicate them on the exam. It's quite similar to the approach I've seen most engineering students take to Calculus and Physics when I was doing Engineering. Obviously, wanting and liking to learn programming also plays a major role here, and I'd say that even within computer-related degrees many people end up avoiding programming courses, on the grounds they can still work in the field by going the IT route.
- dbaupp 14y agoThe parent isn't denying that currently there are groups of people who don't learn CS very well, it is merely saying that CS is just like every other field, in that most people can learn it, but more slowly, or need some more help to do so properly.