This is my third blog post in a series inspired by a thread in the SIGCSE-Members list and by the Slate article which argued that “Practice doesn’t make perfect.” Macnamara et al did a meta-analysis of studies of expertise, and found that a relatively small percentage of variance in expertise can be explained through hours of practice. The Slate authors argue that this implies that genetics explains the rest of the variance.
- In the first post (see here), I argued that the practice+genetics is too simple to explain expertise. First, practice can be deliberate, lazy, or teacher-led. Second, there is experience that leads to expertise which is between genetics and practice. The most significant flaw of both Macnamara et al. and Ericsson et al. is ignoring teaching.
- In the second post (appearing yesterday in Blog@CACM), I addressed a claim in the SIGCSE-Members list that programmers are “wired” differently than others. Most CS teachers agree with the Slate authors, that students can NOT be more successful with more work. The evidence that better teaching leads to better learning is overwhelming. In fact, there is significant evidence that teaching can even overcome genetic/innate-ability differences.
Lots of CS teachers believe in the Geek Gene Hypothesis, and for good reason. It’s frustrating to have seemingly no impact on some, especially the lower-end, students. Even the award-winning Porter, Zingaro, and Lister paper points out that the earliest assessments in the class they studied correlate very highly with the final grade. Gas Station without Pumps voiced a similar sentiment in his blog post in response to the Slate article:
But the outcomes for individual students seem to depend more on the students coming in than on what I do. Those students who come in better prepared or “innately” smarter progress faster than those who come in behind, so the end result of the teaching is that differences among the students are amplified, not reduced. Whether the differences in the students coming in are due to prior practice, prior teaching, or genetics is not really knowable, but also not really relevant.
I agree. It’s not really knowable where the difference comes from and it’s not really relevant. The point of my Blog@CACM post is: we can do better. If we can teach spatial ability and subitizing, two skills that have a much stronger claim to being innate than programming, then we can certainly teach people to program better.
If we follow common practice and it’s unsuccessful, it’s not surprising that we think, “I tried. I explained carefully. I gave interesting assignments. I gave good feedback. It’s got to be an innate trait. Some students are just born wired to program.”
I watch my children taking CS classes, along with English, Chemistry, Physics, and Biology classes. In the CS classes, they code. In the other classes, they do on-line interactive exercises, they write papers, they use simulations, they solve problems by-hand. Back in CS, the only activity is coding with feedback. If we only have one technique for teaching, we shouldn’t be surprised if it doesn’t always work
Here’s a reasonable hypothesis: We get poor results because we use ineffective teaching methods. If we want to teach CS more effectively, we need to learn and develop better methods. If we don’t strive for better methods, we’re not going to get better results.
A first step is to be more methodical with how we choose methods. In a 2011 paper by Davide Fossati and me (see here), we found that CS teachers generally don’t use empirical evidence when making changes in how we teach. We act from our intuition, but our students aren’t like us, and our intuition is not a good indicator of what our students need.
Next, we need to experiment with more methods. We want to get to a place where we identify known problems in our students’ understanding, and then used well-supported methods that help students develop more robust understandings. We probably don’t have a wide range of different techniques for teaching assignment, iteration, recursion, and similar concepts? We should try well-supported techniques like pair programming, peer instruction, or Media Computation (see CACM article on these). We should try to expand our techniques repertoire beyond simply grinding at code. We could try techniques like worked examples, Problets, CodingBat, games with learning outcomes like Wu’s Castle, multiple choice questions like in Gidget, the Parson’s Problems in the Runestone Interactive ebooks, or even computing without computers as in CS Unplugged.
We do not make it easy for CS teachers to pick up new, better, more proven methods. Sure, there are the SIGCSE Symposium proceedings, but that’s not a systematic presentation of what to use when. This is on the CS education research community to do better. But it’s also on the CS teaching community to demand better, to seek out better methods and studies of techniques.
If we taught better, there are a lot of problems in CS that we might impact. We might bring in a more diverse group of students. We might make our current students more successful. We might change attitudes about computing. Perhaps most importantly, maybe we as teachers will come to believe that we can teach anyone to program.
A recent article in Slate (see here) suggests that practice may not lead to expertise, that the “10,000 hour rule” is wrong. The “10,000 hour rule” was popularized by Malcolm Gladwell in his book Outliers (see excerpt here), but really comes from an important paper by K. Anders Ericsson and colleagues, “The Role of Deliberate Practice in the Acquisition of Expert Performance.” Ericsson claimed that 10,000 hours of deliberate practice results in expert-level performance.
The Slate article is based mostly on a new meta-analysis (see here) by Macnamara, Hambrick (also a co-author on the Slate article), and Oswald which reviewed and combined studies on expertise. They found that practice always was positively correlated with better performance, but did not explain all of (or even most of) the difference in expertise between study participants. The Slate article authors suggest, then, that deliberate practice is not as important as genetics or innate talent.
Deliberate practice left more of the variation in skill unexplained than it explained…There is now compelling evidence that genes matter for success, too…What all of this evidence indicates is that we are not created equal where our abilities are concerned.
The paper and article make two big mistakes that leave the “10,000 hour rule” as valid and valuable. The first is that practice is not the same as deliberate practice, and the second is that the fallback position can’t be genetics/innate talent. In general, their argument hinges on practice hours all being of equal value, which shows a lack of appreciation for the role of teaching.
Practice is not the same as deliberate practice
Ericsson was pretty clear in his paper that all practice is not created equal. Deliberate practice is challenging, focused on the skills that most need to be developed, with rapid feedback. (Here’s a nice blog post explaining deliberate practice.) Simply putting in 10,000 hours of practice in an activity does not guarantee expertise. Ericsson and the Slate authors would be in agreement on this point.
I’m sure that we’ve all seen musicians or athletes (and if we’re honest, we’ve probably all been like those musicians or athletes) who sometimes just “phone it in” during practice, or even during a game. I used to coach my daughters’ soccer teams, and I can absolutely assure you that there were hours in games and rehearsals where some of my players really didn’t make any progress. They found ways of getting through practice or games without really trying.
In the Macnamara paper, whether practice was “deliberate” or not was determined by asking people. They collected practice logs, surveys, and interviews. The participants in the studies self-reported whether the practice was deliberate. Imagine someone telling the interviewer or writing in their log, “Yeah, well, about 5,000 of those 10,000 hours, I was really lazy and not trying very hard.” It’s impossible to really distinguish practice from deliberate practice in this data set.
The bottom-line is that the Macnamara study did not test Ericsson’s question. They tested a weak form of the “10,000 hour rule” (that it’s just “practice,” not “deliberate practice”) and found it wanting. But their explanation, that it’s genetics, is not supported by their evidence.
Genetics/Innate starts at birth, no later
The Slate authors argue that, if practice doesn’t explain expertise, then it must be genetics. They cite two studies that show that identical twins seem to have similar music and drawing talent compared to fraternal twins. But that’s correlation and doesn’t prove causation — there may be any number of things on which the identical twins aren’t similar. (See this great Radiolab podcast exploring these kinds of miraculous misconceptions.)
If you’re going to make the genetics/innate argument, you have to start tracking participants at birth. Otherwise, there’s an awful lot that might add to expertise that’s not going to get counted in any practice logs.
I took classes on how to coach soccer. One of the lessons in those classes was, “It’s a poor coach who makes all practices into scrimmage.” Rather, we were taught to have students do particular drills to develop particular skills. (Sound like deliberate practice?) For example, if my players were having trouble dribbling, I might have them dribble a ball in a line around cones, across distances, through obstacles.
Can you imagine a child who one day might play in a soccer team with official practices — but before those practices and perhaps even before joining a team might dribble a ball around the neighborhood? Wouldn’t that be developing expertise? And yet, it wouldn’t be counted in player logs or practice hours. A kid who did lots of dribbling might come into a team and seem like a superstar with all kinds of innate talent. One might think that the kid had the “Soccer gene.”
To start counting hours-towards-expertise anything later than birth is discounting the impact of learning in the pre-school years on up. We know that pre-school years make a difference (see this website that Diana Franklin sent me, and the argument for pre-school in this recent Freakonomics podcast). A wide variety of activities can develop skills that can be influence expertise. If you don’t start tracking students from birth, then it’s hard to claim that you’ve counted in the practice log everything that’s relevant for expertise.
The claim that expertise is determined at birth is a common claim among CS educators. Most CS teachers to whom I’ve asked the question are convinced some people “can’t” learn to code, that it’s genetic or innate to learn programming. That’s where the myth of the “Geek Gene” came from (Raymond Lister has written several times on that). Couldn’t it be that there are dribbling-around-the-neighborhood activities that lead toward CS expertise? Consider the famous pre-programming activity of writing the instructions out for making a peanut-butter-and-jelly sandwich (like here). If we believe that that kind of practice helps to develop CS expertise, then other “writing instructions out” activities might lead towards CS expertise. Maybe people who seem to have genetic/innate ability in CS just did a lot of those kinds of activities before they got to our classes.
The clock on developing expertise doesn’t start when students walk through our door.
Bigger than P=NP: Is teaching > genetics?
In the end, it’s very difficult to prove or disprove that genetics accounts for expertise in cognitive skill. I don’t think Macnamara et al. settled the score. But my point about deliberate practice actually points to a much bigger issue.
Teachers Matter is the two word title of a 2012 OECD report (available here). There is a difference between great teachers and poor teachers, and the difference can be seen in terms of student performance. If you believe that (and there’s gobs of evidence that says you should), then it seems obvious that all practice is not created equal. Hours spent in practice with a good teacher are going to contribute more to expertise than hours spent without a teacher. Look back at that definition of “deliberate practice” — who’s going to pick the activities that most address your needs or provide the immediate feedback? The definition of deliberate practice almost assumes that there’s going to be teacher in the loop.
An open question is just how far we can get with excellent teaching. How much can we use teaching to get beyond genetic disparities? Is teaching more powerful than genetics? That’s an important question, and far more important than the classic CS question whether P=NP. I believe that there are limits. There are genetic problems that teaching alone can’t address. But we don’t know what those limits are.
We certainly have evidence that we can use teaching to get past some differences that have been chalked up to genetics or being innate. Consider the fact that men have better spatial skills than women. Is it innate, or is it learned? It’s not clear (see discussion on that here). But the important point is: it doesn’t matter. Terlecki, Newcombe, and Little have found that they can teach women to perform as well as men on visual skills and that the improvements in spatial ability both transfers and persists (see the journal article version here). The point is that spatial skills are malleable, they can be developed. Why should we think that other cognitive skills aren’t? The claims of the Slate authors and Macnamara et al ignore the power of a great teacher to go beyond simple rote practice to create deliberate opportunities to learn. The words teach, teacher, and teaching don’t appear in either article.
Here’s my argument summarized. The Slate authors and Macnamara et al. dismiss the 10K hour rule too lightly, and their explanation of genetic/innate basis for expertise is too simple. Practice is not the same as deliberate practice, or practice with a teacher. Expertise is learned, and we start learning at birth with expertise developing sometimes in ways not directly connected to the later activity. The important part is that we are able to learn to overcome some genetic/innate disparities with good teaching. We shouldn’t be giving up on developing expertise because we don’t have the genes. We should be thinking about how we can teach in order to develop expertise.
In my most recent recent Blog@CACM post on last month’s ACM Ed Council meeting, I mentioned that I gave a talk about the differences between computing education research and engineering education research (EER) and physics education research (PER). Let me spell these out a bit here.
The context was a panel on how to grow computing education research (CER). We were asked to consider the issue of getting more respect for computing education research (an issue I’ve written on before). I decided to explore the characteristics of CER that are important and that are not present in EER or PER. Engineering Education Research (EER) and Physics Education Research (PER) are better established and more well-respected in the United States. But I’ve come to realize that CER has characteristics that are different from what’s in EER and PER.
Engineering Education Research
I came to a new understanding of EER because of a cross-campus STEM Education Research seminar that we’re holding at Georgia Tech this semester. It’s given me the opportunity to spend a couple hours each week with people who publish in Journal of Engineering Education (see here), review for them, and edit for them. JEE is generally considered to top EER journal.
If you’re not familiar, engineering education research is a big deal in the United States. There are well-funded engineering education research centers. There are three academic departments of EER. It’s well-established.
In one of the early sessions, we talked about the McCracken Study (Mike McCracken has been coming to the sessions, which has been great), where an experimental assignment was used in five classes in four countries. Are there similar studies in EER? Our EER colleagues looked at one another and shrugged their shoulders. For the most part, EER studies occur in individual classes at individual institutions. Laboratory studies are rare. International collaborations are really rare.
I started digging into JEE. The last issue of JEE only had papers by American authors from American institutions. I’m digging further back. My colleagues are right — international authors and collaborations are unusual in JEE.
In contrast, I don’t think that the ACM Transactions on Computing Education has ever had an only-American issue. Our ICER conference is not even American-dominated. The ICER 2014 best paper award went to a paper by Leo Porter (American) who worked with Raymond Lister (Australian) using data collected from Daniel Zingaro’s classroom (at U. Toronto in Canada) to address a theory by Anthony Robins (New Zealand). We use classroom studies, laboratories studies, and frequently use multi-institutional, multi-national (MIMN) collaborative studies (and study how to conduct them well).
Physics Education Research
At the January workshop on CER that Steve Cooper organized (paper to appear in CACM next month — it’s where Eric Roberts gave a keynote that I wrote about here), Carl Wieman was the opening keynote speaker. He talked about the hot issues in physics education research.
After his talk, he was asked about how physics education researchers were dealing with the gender skew in physics and about improving access in K-12 to quality educational opportunities. If you look at Brian Danielak’s visualization of AP CS test data, you’ll see that CS is the most gender-skewed, but Physics follows closely after. (Click on the picture to get a bigger version, and look at the lower left-hand corner.)
Carl said that gender diversity just wasn’t a priority in PER. I dug into the PER groups around the US. From what I could find, he’s right. Eric Mazur’s group has one paper on this issue, from 2006 (see here). I couldn’t find any at U. Washington or at Boulder. There probably is work on gender diversity in physics education research, but it certainly doesn’t stand out like the broadening participation in computing effort in the United States (see papers listing from Google Scholar). The January workshop really brought home for me that a key characteristic of CER, particularly in comparison with PER, is an emphasis on broadening participation, on social justice, on improving the diversity of the field, and guaranteeing access to quality educational opportunities for all.
I don’t have a deep bottom-line here. It was only a few minute talk. My exploration of EER and PER gave me a new appreciation that CER has something special. It’s not as big or established as EER or PER, but we’re collaborative, international, working on hard and important problems, and using a wide variety of methods, from in-classroom to laboratory studies. That’s pretty cool.
April Heard at Georgia Tech built this map for us about where AP CS is taught in the state of Georgia. Some of it is totally to be expected. Most of the schools are in the Atlanta region, with a couple in Columbus, a handful in Macon, and a few more in Augusta and Savannah area.
But what’s disappointing is that huge swath in the south of the state with nothing. Not a single school south of Columbus and west of Brunswick. In terms of area, it’s about 1/3 of the state. Albany is home to Albany State University, the largest HBCU in Georgia. No AP CS at all there. And Georgia is one of the top states for having AP CS.
Sure, there might be some non-AP CS teachers in South Georgia, but we’re talking a handful. Not double, and certainly not a magnitude more than AP CS.
I suspect that much of the US looks like this, with wide stretches without a CS teacher in sight. April is continuing to generate these maps for states that we’re working with in ECEP. Here’s California, with big empty stretches.
Tom McKlin just generated this new map, which overlays the AP CS teacher data on top of mean household income in a school district. The correlation is very high — districts with money have AP CS, and those that don’t, don’t.
A few months ago, I wrote a post on Constructionism for Adults. I argued that we want constructionist learning for adults, but most constructionist learning environments are aimed at children. I suggested that adults have three challenges in constructionism that adults don’t have:
- Adults have a “face” (in the Goffman sense) that they want to preserve.
- Adults don’t necessarily have expertise in an area, but as adults, they are presumed to have expertise.
- Adults have less free time and more responsibilities than children.
I mentioned in that post that I was learning to play the ukulele, and that that experience was leading to new insights for me about adult education. I’m going to continue to use my ukulele learning to suggest a way to create constructionist learning opportunities for adults.
Legitimate Peripheral Participation for Adult Learning
From this point of view a very remarkable aspect of the Samba School is the presence in one place of people engaged in a common activity – dancing – at all levels of competence from beginning children who seem scarcely yet able to talk, to superstars who would not be put to shame by the soloists of dance companies anywhere in the world. The fact of being together would in itself be “educational” for the beginners; but what is more deeply so is the degree of interaction between dancers of different levels of competence. From time to time a dancer will gather a group of others to work together on some technical aspect; the life of the group might be ten minutes or half an hour, its average age five or twenty five, its mode of operation might be highly didactic or more simply a chance to interact with a more advanced dancer. The details are not important: what counts is the weaving of education into the larger, richer cultural-social experience of the Samba School.
So we have as our problem: to transfer the positive features of the Samba School into the context of learning traditional “school material” — let’s say mathematics or grammar. Can we solve it?
— Seymour Papert, “Some Poetic and Social Criteria for Education Design” (1975)
What Seymour was seeing in Samba schools is what Jean Lave and Etienne Wenger called a community of practice. My colleagues Jose Zagal and Amy Bruckman have a wonderful paper describing how Samba schools are a form of a community of practice, and how that model appears in the Computer Clubhouses that Yasmin writes about in her new book. In their influential 1991 book Situated learning: Legitimate Peripheral Participation, Lave and Wenger described several examples for how learning occurs in everyday settings, often with adults. Lave and Wenger point out
- There are the midwives who train their daughters who start out just going-along to help mother at births.
- There are the tailors who start out by delivering fabric and pieces between shops, and in that way, get to see many shops — without actually doing tailoring but still doing something useful to being a tailor.
- There are the attendees at Alcoholics Anonymous meetings who learn to tell their stories through listening to role models and getting feedback from others.
There are some key elements to these stories:
- Newcomers start out doing something useful, but on the periphery of the community — hence, legitimate peripheral participation. Jose and Amy point out that successful Samba schools are flexible to outsiders (anyone can become a newcomer).
- Everyone sees practice (story-telling, being a tailor, helping a birth, dancing at Samba school) at different levels. Jose and Amy talk about having a diversity of membership (socio-economic, age, race, and expertise) and that there are events for public to exhibit practice.
- There are some members of the community of practice who are clearly at the center. They serve as role models for others. From the newcomers to those practicing but not yet central, everyone strives to learn to become like those at the center of the community of practice.
Ukulele Meet-up As Samba School and Community of Practice
In my quest to learn to play ukulele, I’ve joined the Southeast Ukers, a group of ukulele players in Atlanta. I was fortunate to know a Uker who invited me to a meet-up. A meet-up is the experience I’ve had that is closest to how I understand a Samba school.
The meet-up is held at a local Hawaiian BBQ restaurant at 2 pm on the 1st and 3rd Sunday’s in a month. Ukers show up with a couple of Ukulele songbooks with literally hundreds of songs. (I happened to have one of them on my iPad when I first went, and had both by my second meet-up.)
For the first 90 minutes, it’s a “strum-along.” The leader calls out a page number, then after a count off, everyone plays the same song and sings along. This is a remarkably successful learning activity for me as a newcomer.
- It’s completely safe. If I can play along, I do. If I can’t, I just sing, or just watch. If I can play the chords but more slowly, I catch up on the second or third strum of a measure. I can immediately hear if I’m getting it right (right chord, right rhythm) or if I made a mistake. The people right next to me can hear me and can comment on my playing, but only those — it’s a big group.
- It’s a public opportunity for learning. I know what chords everyone is playing. I can look around and see how everyone else plays it.
- While everyone is strumming, the really good players are picking individual notes, or doing tricky rhythms. I can hear those, and watch them do it, and develop new goals for things I want to learn.
The gaps between the songs are when a lot of the learning happens for me. I get coaching (e.g., “You are doing really well!” or “I heard you stammer in your rhythm on that hard chord change”). I can ask specific questions and get specific advice. I’ve received tips on how to make D7 chords more easily, and different ways to do barre chords.
After 90 minutes, it’s open-mic time. Individual ukers sign up during the strum-along, and then go up to the corner stage to perform (a quality setup, with separate mics for singing and for playing and someone at a sound board). Here’s where we get to see those on their way or at the center of the community of practice. Those at the center of the community of practice reference other meet-ups and other performances, and often play their own compositions.
As a newcomer, I stare slack-jawed at the open-mic performances. They create music that I didn’t know could be made on a ukulele. Slowly, I’m starting to imagine myself playing at open-mic, even writing my own music. I’m starting to set a personal goal to become more central to this community of practice.
At a meet-up, I talk to my fellow ukers and get a sense of how much effort does it take to develop that level of expertise. I start to get a sense of how much effort it will take me to reach different levels of expertise. There’s no expectations set on me, and no presumption of expertise. I can decide for myself on how good I want to get and how much effort I can afford to put in. I can set my own pace for when I might one day sign up for an open-mic performance, and maybe even try to compose my own music. (But it won’t be soon.)
Creating a Computing Samba/Meet-Up Culture
Could we create an experience like the Samba school or like the meet-up for learning computing by adults, like undergraduates, end-user programmers, and high school teachers? What are the critical parts that we would need to duplicate?
It must be safe. People should be able to save face at the meet-up. Participants need to be able to talk with one another privately, without overhead (e.g., learning some complicated mechanism to open a private chat line). Newcomers need to be able to participate without expectation or responsibility, but be able to take on expectation and responsibility as they become more central to the community.
There must be legitimate peripheral participation. Newcomers have to be able to participate in a way that’s meaningful while working at the edge of the community of practice. Asking the noobs in an open-source project to write the docs or to do user testing is not a form of legitimate peripheral participation because most open source projects don’t care about either of those. The activity is not valued.
Everyone’s work must be visible. Newcomers should be able to see the great work of the more central participants just by looking around. This is probably the trickiest part. We tend to confuse accessibility with visibility. Yes, on an open source project, everyone’s contributions are accessible — if you can figure out github, and figure out which files are meaningful, and figure out who contributed which. Visible means that you can look around without overhead and see what’s going on.
I must be able to work alone. Everyone needs a lot of hours of practice to develop expertise. It can’t happen just in the meetup. There needs to be a way to develop one’s work alone, and share it in the meetup.
A Proposed Computing Meet-Up Context
Here are some early thoughts on what it might be like to create an environment for learning computing the way that the ukulele meetup works.
Years ago, the Kansas environment was implemented in the programming language Self. Kansas was remarkable. It was a shared desktop where all participants could see each other, see their cursors, and see their developing work.
Lex Spoon created a version of Kansas for the Squeak programming language called Nebraska (for another “large, flat, sparsely-populated space”). Nebraska in Squeak is particularly interesting for a meet-up because all the rich multi-media features of Squeak are available in both a programmable and a drag-and-drop form.
Here’s a sketch of what I propose, using a shared space like Kansas or Nebraska:
- Participants come to a physical space with their laptops. Physical co-location is key for safe and easy peer communication. Anew journal article on co-located viewing of MOOCs suggests that co-location may dramatically improve learning.
- The participants log on to a shared Kansas/Nebraska server, which is displayed an ultra-high resolution display.
- The participants work together to create a multimedia show.
- Newcomers can build the graphical or audio elements (perhaps some developed at home and brought to the meetup). Building can start in drag-and-drop form, but can develop into code elements. If something doesn’t work, it might not make it into the show, but it’s a contribution to the shared space, and it’s visible for comment and review.
- All participants can watch others work, and can walk over to them to ask questions.
- Participants can specialize, by focusing on different aspects of the performance (e.g., music, graphics, layout, synchronization).
- Those more central to the community can assemble components and choreograph the whole performance (much as in a Samba school).
Would this kind of meet-up be a way for adults to learn computation in a constructionist manner?
Interesting question: When do toys lead to changes in stereotypes, and when don’t they?
Why is including female scientists in toys for young kids so important? Because children begin making stereotypical assumptions of what a scientist looks like early in elementary school, and these stereotypes become more firmly implanted year-by-year. Starting in 1957, several research groups have asked school children to “draw a scientist” in order to probe these stereotypes. Normally, when someone is asked to draw a generic person they will draw a person of their own gender. This is not true when children are asked to draw scientists. In study after study, the vast majority of students of both genders draw a scientist as a white man in a lab coat.What is really fascinating is that several studies—although not all—have found that these stereotypes can be changed by simply exposing children to female and/or minority scientists. After interacting with diverse examples of scientists, children made more realistic images of scientists—portraying them without dangerous, smoking test tubes for example—and were more likely to draw female and minority scientists.
Fun and interesting blog addressing the belief that mathematics is necessary for programming, a misconception that Nathan Ensmenger claims has reduced the percentage of women in computing. Sarah Mei goes into some depth addressing (and dispensing with) each of the three claims below
Specifically, learning to program is more like learning a new language than it is like doing math problems. And the experience of programming today, in industry, is more about language than it is about math.And my next thought, of course, was why doesn’t anyone else think this? Why do we still have this idea that math skills indicate programming potential, while language skills mean you should go into poli sci?Well, when I feel out of my depth, I usually start by looking for “official” opinions. So I looked for relevant academic research.
I found absolutely none, which is pretty flabbergasting. I found a lot of opinions, both from computer science educators, and from people in industry. Perhaps within academia, the link between math and programming is considered such an obvious truth that it isn’t worth confirming with research.It seems more likely, though, that this research exists, but not under the search terms I tried. Please let me know if you are aware of relevant papers.In the meantime, if we can’t have data, we can at least examine the conversations people have on this topic. Here are some things people often say when asserting that people must be good at math to be good developers.Generally, they fall into three categories:
1. “You need to know math to be a good programmer.”
2. “You need to learn math to get the skills you need for programming.”
3. “Plenty of programming is still math!”