Live data from Hacker News

Can a simple algebra test predict programming aptitude?

codeup.com

151–160 of 216 posts

Re: Can a simple algebra test predict programming aptitude?

#151

Earlier quoted context omitted.

Why?

Just in case this is what you were trying to understand: https://www.google.com/search?q=recursion+is+dangerous&rlz=1... http://m.slashdot.org/story/198499 You can certainly dig up more information. For me, and this is just my opinion based on 35 years of software and hardware engineering, recursion is a neat academic idea but in the real world it is useless and dangerous.

And how exactly it is related to recursion? You should have said "memory leaks are dangerous", and everyone would agree.

Re: Can a simple algebra test predict programming aptitude?

#152
post #109

Earlier quoted context omitted.

I disagree with many of your points. First, the algorithmic part of programming is a lot like doing algebra. So much so that algebra is an important part of any serious CS syllabus. Clearly "writing a function or a class" is not the skill they are testing here, but problem-solving. Knowing how to solve simple algebraic problems engages your "problem solving" skills in a similar way as solving something by writing a p…

IMO, what algebra and programming have in common is simply abstraction, so people in the mindset of recognizing patterns to which abstraction can be applied tend to do better as programmers / automation engineers in general.

Algebra and programming are very, very similar. Algebra [1] deals with formal languages and their rewrite rules in general. Programming is dealing with a certain (but yet very wide) class of formal languages and an extremely wide variety of rewrite rules (i.e., algebras).

It does not matter that nobody is using, say, a term "refactoring algebra", but it is still, essentially, an algebra.

[1] Here I'm referring to a generic meaning of "algebra", as in https://en.wikipedia.org/wiki/Universal_algebra

Re: Can a simple algebra test predict programming aptitude?

#153
post #61

If there is one thing that has always bothered me, is people evaluating student's prowess in "Computer Science" (which is not programming, shame on you) by having them learn your normal run-of-the-mill programming language/paradigm like Javascript, Python, PHP and whatnot and then claim they are not apt to program because they cannot solve problems or handle variables, mutability, etc etc. There are A LOT of differen…

Recursion is as hard as mutable state to grasp if not harder. We might find a few people who can do one thing sligtly better than the other one, but not complete blanks.

maybe the initial concept, but what is easier to debug afterwards?

So much teaching material for beginning programming is tainted by the cult of mutability that I have coworkers writing for loops instead of maps or the like for relatively trivial tasks. The end result is I have a harder time reading code, and the amount of possible bugs grows.

Re: Can a simple algebra test predict programming aptitude?

#154
post #11

Does a "simple algebra test" correlate with IQ? Does "programming aptitude" (whatever the hell that is meant to be) correlate with IQ? The headline would then follow. I know this is a socially unacceptable opinion but I think those correlations exist.

Not quite. X can correlate with Y, and Y can correlate with Z without X and Z having a correlation. As a simple toy example let X and Z be independently taken from the standard uniform distribution, and let Y = X + Z.

fwiw, correlation actually is transitive if strong enough. This is obvious if corr(x,y) = 1 and corr(y,z) = 1, then corr(x,z) = 1. More generally, you can get this constraint by looking at the minimal value a for which the matrix [[1, corr(x,y), a], [corr(x,y), 1, corr(y, z)], [a, corr(y,z), 1]] remains positive semidefinite to find the minimal correlation of x and z given that of (x,y) and (y,z). I mention this because in this case the correlations may be strong enough so that the minimal a is positive, and because it's important to understand exactly when our intuition about transitivity of correlation breaks down.

For example, when x,y and y,z are perfectly correlated, we can see that corr(x,z) must be greater than 0.9 from: http://www.wolframalpha.com/input/?i=%5B%5B1%2C1%2C0.9%5D%2C...

Re: Can a simple algebra test predict programming aptitude?

#155
I'd be interested to see more questions from the test, but from the examples given I'd say s/algebra test/problem solving test/ is in order.

In that light, the findings become less surprising---still interesting though, since we can test math-word-problem-solving ability quite easily with pen and paper. Could this mean my KhanAcademy math achievements are a better hiring signal than my github?

In terms of hiring, it certainly makes more sense for candidates to pass a 1h test rather than expect them to "prove themselves" by solving a week-long coding challenge...

Re: Can a simple algebra test predict programming aptitude?

#156

Why do you care about it in the first place? Also what is your definition of good programmer? Just make a function? Make a class? Make a big app? IMO you don't need to learn too much math before programming to be a good programmer. Basic operations are good enough, if you need more you learn as you go, you'll never know what you need. Lazy learning, like lazy variable loading. The test you are making are more like pr…

The thing is that they aren't saying that algebra learning causes good programming. They're saying it predicts it. They don't delve into underlying factors, but general mental ability is certainly implied.

In other words, an algebra test just acted as a noisy, imprecise measurement of general mental ability.

Re: Can a simple algebra test predict programming aptitude?

#157
So I guess the real underlying message they are trying to say is, if a student can't pass an algebra test, they probably can't learn to program, so don't even bother trying to teach it to them. A more generalized form of the hypothesis is that: most people can't learn how to program.

Both forms of the hypothesis are pretty easy to refute and have already been refuted. See http://code.org and http://madewithcode.com for example. I just taught 2nd graders programming yesterday who don't even know how to divide, let alone any algebra.

And of course, there's always the radical idea that maybe you could actually teach them some algebra skills in the context of programming tasks. Just like some calculus students may need some remedial instruction and support.

Luckily, there's a whole field of research with several articles on this very topic. The field is called computer science education. See SIGCSE, for example: http://www.sigcse.org/

In fact, the field has already researched and debated this issue before, as well. There was a controversial article called "The camel has two humps" in 2006 that made the same claim as this post that a simple aptitude test could predict whether someone could learn how to program or not. The article (which was never even officially published) was later retracted: http://retractionwatch.com/2014/07/18/the-camel-doesnt-have-...

Re: Can a simple algebra test predict programming aptitude?

#158
post #63

Earlier quoted context omitted.

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

Or just recognize that three consecutive numbers mean you divide by three and get the median of the three numbers. So 69/3-1, 69/3, 69/3+1, giving 22, 23, 24. No algebra involved, you just need to interpret the problem and build a tiny model in your head. Exactly like (some kinds of) programming.

Found that approach creative and well structured. Point free mathematics :)

Re: Can a simple algebra test predict programming aptitude?

#159

I'll reply to a specific comment already made as a subcomment here, to comment about the larger issues that have come up in several top-level replies in this thread. I don't think such a hypothesis is awkward but I doubt high IQ as an excellent predictor for an individuals performance in tasks that are not IQ tests. As a layman when it comes to psychology I think IQ measures some things but the way the brain works, n…

  there is a HUGE body of research to show that the 
  single best hiring process you can use for hiring 
  a worker
The best process, assuming you have to use a single process for every job in the world? Or the best process even when hiring for a specific role?

I can understand IQ being the best choice if you had to judge poets, plumbers, town planners, golf instructors, programmers, salespeople and warehouse workers using the same process. But surely if you're exclusively hiring for one of those roles, you'd want to test their domain-specific knowledge?

Re: Can a simple algebra test predict programming aptitude?

#160

So I guess the real underlying message they are trying to say is, if a student can't pass an algebra test, they probably can't learn to program, so don't even bother trying to teach it to them. A more generalized form of the hypothesis is that: most people can't learn how to program. Both forms of the hypothesis are pretty easy to refute and have already been refuted. See http://code.org and http://madewithcode.com f…

I don't think that's the message.

We are focused on making people professional, employable programmers. While I agree that everyone can play with scratch or build a basic webpage, that's different than the programming skills required to be employed in most dev jobs today.

(Codeup CEO here.)

Post reply on HN