Programming Without Math

Programming without math may seem to be a crazy idea, but according to a recent study math ability is not a strong predictor of how quickly an individual can learn how to program. The study was published online in Scientific Reports on March 2nd. While the study was small (limited to 3 dozen individuals) the findings are interesting.

The study consisted of assessing the participants for various aptitudes ranging from numeracy, language aptitude, memory retention, and problem solving capabilities. The assessment also included an electroencephalography scan to record the electrical activity of their brain in a relaxed state.

Finally, the participants took 10 45-minute online training sessions in Python via CodeAcademy. During the training sessions, a researcher was able to follow along and assess the participant’s learning rate, programming accuracy, and declarative knowledge. The results are represented on this graph.

What jumps out from the data is that the biggest predictor of the participant’s learning rate was the individual’s language aptitude. The biggest predictor of programming accuracy was general cognition, and it appears no strong predictor was found for the participant’s declarative knowledge of Python.

The other item that jumps out of the data is that a participant’s knowledge of numeracy only factored into his/her learning rate, and it was the smaller than the other identified predictors.

Education Puts a Strong Emphasis on Math

While this is just one small study, it does beg the question, why do traditional universities put such emphasis on math skill in Computer Science curriculums? As an example, I was able to check out the homework packet for CS 173 at the University of Illinois for the Spring 2020 semester. This is a required course for studying CS and is typically taken by freshman (being a 100 level course).

After the first, introductory chapter, the course moves onto Number Theory. And here are a sample of some of the example problems.

Sample CS homework questions for students in the second week, second semester

Maybe you read those questions and are not put off by them at all. If you’re like me, then you’re glad that your school days are long gone. If numeracy is such a bad predictor of how quickly students learn how to program and of how accurate students can make their programs, then why is it stressed at the college level to such a degree?

Wrap Up

This is anecdotal, but I can share that after 20 years making a living by writing software, I have never once had to solve a programming problem that relied on this kind of knowledge.

I do not think that putting this kind of math emphasis in the curriculum is helping people learn how to program, and I strongly suspect that it scares many of them out of the major. Which is unfortunate, because technology is going to keep growing, companies are going to keep looking for more people that can create software, and I know that you can add a lot of value to this world by building software solutions without any of this knowledge.

Leave a comment