site banner

Friday Fun Thread for October 31, 2025

Be advised: this thread is not for serious in-depth discussion of weighty topics (we have a link for that), this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.

2
Jump in the discussion.

No email address required.

I am skeptical of this paper's conclusions. For one, working memory and reasoning skills were twice as relevant as language skills, yet the paper focuses on language skills. Second, the paper contains sentences like "Critically, the existing research provides inconsistent evidence about the relevance of mathematical skills for learning to program" and "At the moment, the way in which programming is taught and learned is fundamentally broken", but the way they checked for mathematical skills was the Abbreviated Numeracy Scale, which is full of questions about specific numbers, like "A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost?". The math skills that are relevant to programming are about symbol manipulation, not numerical calculations. I would be a little surprised if essay-writing skill was a better predictor than probability-calculating skill was, but I would be very surprised if essay-writing was better than graph theory or logic. Third, numeracy was more correlated (albeit barely) than language with writing correct programs, which I would argue is more important than the other two categories (learning speed and the ability to answer quiz questions).

I doubt the study's claim that it "begins to paint a picture of what a good programmer actually looks like". To me it looks like the prose is motivated reasoning trying to obscure the actual data they collected, and the data they didn't collect but should have.

I would be very surprised if essay-writing was better than graph theory or logic.

I would guess logic > essay writing >> graph theory. "Understand the logical flow of this program" and "write a big block comment or internal doc explaining how some janky legacy thing work" both come up pretty much daily for me. I don't remember the last time a graph traversal problem more complicated than bfs/dfs came up in my actual work.

I remember when this paper came out.

There are important linguistic aspects of learning a programing language, duh it's called a language.

It's also completely stupid they they observed fluid reasoning to be the most important factor, then concluded the emphasis on advanced mathematics in introductory computer science is unjustified. Static analysis, like the f(x)=O(g(x)) kind, is related to fluid reasoning much more than arithmetic skills. In sufficiently advanced mathematics you see essentially no numerals or arithmetic. You even see extensive prose in addition to notation for sufficiently advanced mathematics:

Take advantage of the English language - Terence Tao

In classical programing you do the analysis the computer does the arithmetic.

I don't read much into this myself, though for different reasons. Tiny sample size, the methodology for screening screams garden of forking paths.