Live data from Hacker News

Can a simple algebra test predict programming aptitude?

codeup.com

141–150 of 216 posts

Re: Can a simple algebra test predict programming aptitude?

#141

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.

I'm seeing stack overflows (not a problem with tail-call optimization) as the biggest problem here. There are equally dangerous problems, though. Buffer overflows are a very real concern, especially in embedded software; but that doesn't mean that people don't ever use pointers. Everything about software has risks. Yes, they probably shouldn't have used recursion there in that car; but honestly, it's just a stack. Enough calls and some state could have been frozen. They should have put mitigations in place to stop the potential for a stack overflow to have actual, detrimental results. Do you refuse to ever make a function call for fear that you might be at the top of the stack somehow? After all, how can you know that you haven't accidentally created a state machine with function calls and are at the peak of it now, and end up causing the same problem. Recursion may have been the final manifestation, but it's certainly not the only place that failed.

I argue against your thought that recursion is useless, as well. It's a natural and intuitive solution for a lot of problems. The very concept of a dynamic programming solution starts with a recurrence relationship. It starts with recursion. Sorting algorithms are intutively recursive in many cases, Quicksort and Mergesort are just two examples.

And, 'dangerous' is an interesting term. I understand you've worked in embedded systems and hardware, and so those things are often critical systems that have to be super secure and completely bug free. Not every system is like that, though.

I want to understand why you believe that recursion is both useless and dangerous. Could you give some broad examples of the dangers of recursion from your years of experience?

Re: Can a simple algebra test predict programming aptitude?

#142

Earlier quoted context omitted.

Codeup CEO here. We actually did some brief testing with classical IQ tests and saw two problems: 1) IQ tests are really long and expensive, so difficult to implement 2) They didn't correlate with performance as well as algebra.

I remember reading about a similar but different test that had good results. I can't find the source so this is just from what I remember. Before starting a course the students were shown short snippets of code and asked simple questions about it. They found that consistent answers were a predictor of who would do well. The theory was that people who are able to construct a mental model for the problems ended up bein…

I think you're remembering some papers from Dehnadi and Bornat, starting with http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Re: Can a simple algebra test predict programming aptitude?

#144

For an article about math, they seem surprisingly weak at differentiating between causation and correlation. It’s fairly common for incoming Computer Science majors to ask the question, “Why do I have to learn all this math if I just want to learn to program?” The correlation above suggests a possible answer: The ability to understand basic mathematics is likely correlated with the ability to “think algorithmically,”…

Your quote doesn't prove your point that they're confusing correlation and causation. In fact, it even uses the word "correlation" in it.

Re: Can a simple algebra test predict programming aptitude?

#145
All of this is predicated on the idea that programming is solving sexy math problems.

Reality is that most programming is taking bits out of one bucket, combining them, and dropping them into some other bucket. It's the digital equivalent of shovel work.

Re: Can a simple algebra test predict programming aptitude?

#146

Earlier quoted context omitted.

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.

In 35 years of programming across platforms and languages covering embedded to web applications it is my opinion that recursion is dangerous and useless. There is no way I would use recursion to evaluate how good a programmer might be. To quote the movie: "Frankly dear, I don't give a damn".

Recursion is a tool. It can be misused, but it is just a tool. And sometimes it can be very useful.

Re: Can a simple algebra test predict programming aptitude?

#148
post #114

Earlier quoted context omitted.

Dude you went to MIT? That's rad. EDIT: why downvote someone for complimenting them on their top schooling?

Because it is noise (do you really think that either the poster or the rest of HN need to hear that you are impressed by MIT?), and also because it isn't even stated that he did go to MIT.

Of course they don't need to hear that; it's pretty much a given. Their superiority is well-established at this point.

Re: Can a simple algebra test predict programming aptitude?

#149
post #109

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…

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.

Re: Can a simple algebra test predict programming aptitude?

#150

Earlier quoted context omitted.

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.

In 35 years of programming across platforms and languages covering embedded to web applications it is my opinion that recursion is dangerous and useless. There is no way I would use recursion to evaluate how good a programmer might be. To quote the movie: "Frankly dear, I don't give a damn".

Do you imply that functional programming in general is dangerous and useless?

And what's your standing regarding the total languages? How dangerous is, say, Agda2? How useless is HOL?

Post reply on HN