Live data from Hacker News

Can a simple algebra test predict programming aptitude?

codeup.com

51–60 of 216 posts

Re: Can a simple algebra test predict programming aptitude?

#51
post #18

The scatter plots don't show that strong a correlation. From the test questions, this isn't an "algebra test". It's a word problem decoding test. That's appropriate to programming, where you have to go from an informal specification of the problem to a formal one.

Yes it is algebra. Take second problem for instance. X + (x + 1) + (x+ 2) = 69. Solve for x.

Except you are also testing one's ability to set up that problem which is a major key to problem solving ability in the first place? I might agree with you if the problems were already formatted and it was simply plug and chugging algebra and not deciphering word problems.

Re: Can a simple algebra test predict programming aptitude?

#52

I really don't want to sound rude, but this sounds like a classic case of correlation not causality, and I could see the consequences really hurting some people. I am REALLY terrible at algebra (to the extent that I am borderline LD in math), and I have completed a degree in CS and hold a steady job as a software engineer. And I am definitely not the only one. Ask a room full of developers how many are bad at math, a…

> If they didn't get a java intro class, how do you think they would have done with something as algorithmic as an assembly language, a functional language, or understanding the nuts and bolts like Turing machines and automata?

I would argue that your last several examples (functional languages on) are more likely to be understood by people really good at math than Java is, and that Java isn't especially predictive in that regard.

Functional programming languages are closer in their structure to the way that math is structured than Java itself is, while Turing machines and automata are pretty much just outright math. (Especially when you start talking about the computational power of automata versus Turing machines and the equivalence between some kinds of grammars and automata.)

I expect you listed these because they're "hard" computer science, but I'd argue that you think they're "hard" computer science because they're mathy and not your forte.

I, for one, had much less trouble with Turing machines, autoamta, formal languages, computability, etc than I did with learning Java.

Re: Can a simple algebra test predict programming aptitude?

#53

Earlier quoted context omitted.

I don't think the author claimed causality. He's interested in prediction, for which correlation is perfectly well-suited. Also, nobody is claiming that the correlation is perfect. You can perfectly well see outliers in his graphs, but outliers don't disprove the correlation.

Fair point, but showing these graphs complete with the outliers gives a very poor platform to base handing out algebra tests in interviews without establishing causality.

> very poor platform to base handing out algebra tests in interviews without establishing causality

Why?

It probably shouldn't be your only criterion, but if it has a high correlation, why wouldn't that be sufficient for handing out algebra tests?

A high correlation corresponds to predictive power, even if it's not a causal relationship.

Re: Can a simple algebra test predict programming aptitude?

#54
post #35

Appreciate the idea behind the article which may have value, but the data types seem ordinal? 1.0-4.0? is that trying to mirror US GPA system. Normalized based on what? p-values are an archaic only useful for MBAs and Med students.

We presumed and used a normal distribution for each class. The numbers were arbitrary. Just what felt easier to understand for the staff.

Normality on ordinal scale data. You've done the equivalent calling functions expecting numeric input with ordinal data. https://en.wikipedia.org/wiki/Ordinal_data

Re: Can a simple algebra test predict programming aptitude?

#55

I really don't want to sound rude, but this sounds like a classic case of correlation not causality, and I could see the consequences really hurting some people. I am REALLY terrible at algebra (to the extent that I am borderline LD in math), and I have completed a degree in CS and hold a steady job as a software engineer. And I am definitely not the only one. Ask a room full of developers how many are bad at math, a…

There is a difference between “algebra with numbers” and “algebraic manipulation”. You do the latter all the time with code when you observe and use equivalences like this:

    if a then
      return b
    else
      return c

    ===

    return (if a then b else c)
I.e., “return” is distributive over the branches of the “if” expression, so you can factor it out.

When you see “bad” programmers redundantly specifying Boolean expressions like “x == true” instead of “x”, it’s because they haven’t internalised the fact that “if” takes any algebraic expression denoting a Boolean, not just a special sort of expression with “&&” and “||” and “==” and “Beginning programmers often struggle with learning the elements available in a language and how they can be composed—and that is exactly what an algebra is. I would be very surprised if an aptitude for algebra did not correlate with an aptitute for programming.

Re: Can a simple algebra test predict programming aptitude?

#56
Basic algerbra is used all the time in programming. It's part of a programmer's fundamental skill set. Of course, somebody who already has that particular skill will definitely have the advantage in a short programming course. It's like starting a 100m sprint with a 3 second head start. It says nothing, however, about who will be the better programmer over the long term. So I don't think their test is a good predictor of programming aptitude.

Re: Can a simple algebra test predict programming aptitude?

#57

I really don't want to sound rude, but this sounds like a classic case of correlation not causality, and I could see the consequences really hurting some people. I am REALLY terrible at algebra (to the extent that I am borderline LD in math), and I have completed a degree in CS and hold a steady job as a software engineer. And I am definitely not the only one. Ask a room full of developers how many are bad at math, a…

> If they didn't get a java intro class, how do you think they would have done with something as algorithmic as an assembly language, a functional language, or understanding the nuts and bolts like Turing machines and automata? I would argue that your last several examples (functional languages on) are more likely to be understood by people really good at math than Java is, and that Java isn't especially predictive i…

I think I would agree with you more if we were talking about Java on a full implementation basis (actually using the nuances of the language at a high level vs just learning the basic concepts such as variables and control structures common to most languages).

I also found Turing machines and automata much easier than conventional math classes. The point I was making was not that they are necessarily harder, but rather that they require a different type of mathematical thinking than your typical algebra based math. I would wager the same true for discreet math.

As for functional languages, I admittedly have never programmed in one and perhaps spoke out of personal ignorance. I have, however, heard from colleagues that back my original statement. It's basically hearsay, so take it or leave it.

Re: Can a simple algebra test predict programming aptitude?

#58
post #48

I am not great at higher level Math (calculus) and I'm good with algebra but I do not think I'd consider those good predictors. I feel like what allows me to program is strong spatial reasoning. Doing a quick google search I found this: http://www.quora.com/Whats-the-nature-of-the-relationship-if... Probably just anecdotal but curious to know what others feel about spatial reasoning? I think specially with object ori…

Spatial reasoning is very helpful for me, particularly when designing data structures and algorithms. When reasoning through a problem, I can often be found making shapes in the air with my hands. Easier than getting up and walking to the whiteboard. :)

Re: Can a simple algebra test predict programming aptitude?

#59

I really don't want to sound rude, but this sounds like a classic case of correlation not causality, and I could see the consequences really hurting some people. I am REALLY terrible at algebra (to the extent that I am borderline LD in math), and I have completed a degree in CS and hold a steady job as a software engineer. And I am definitely not the only one. Ask a room full of developers how many are bad at math, a…

I completely agree. My roommate is amazing with math, he has taken every math class available at Drexel for undergrads, but he can not code. He took a intro to programming class and did not pass. I on the other hand am okay at math, including algebra, but I can code. It is easy for me to understand, but it is impossible for him to understand. I think it goes down to Algorithmic thinking but also logical as well. That's the difference I see between my roommate and I.

Re: Can a simple algebra test predict programming aptitude?

#60

Earlier quoted context omitted.

Fair point, but showing these graphs complete with the outliers gives a very poor platform to base handing out algebra tests in interviews without establishing causality.

> very poor platform to base handing out algebra tests in interviews without establishing causality Why? It probably shouldn't be your only criterion, but if it has a high correlation, why wouldn't that be sufficient for handing out algebra tests? A high correlation corresponds to predictive power, even if it's not a causal relationship.

> A high correlation corresponds to predictive power...

That's a bold statement. And one that is unfortunately often times false. Spurious correlations pop up everywhere. They can be notoriously bad at predicting things, and care must be taken not to take rash actions based on correlations that may have no actual clout. I'd say denying someone a job based off of an algebra test is sufficiently rash.

Post reply on HN