Live data from Hacker News

Project Euler

projecteuler.net

31–40 of 138 posts

Re: Project Euler

#31
post #22

I love project euler, but I've come to the realization that its purpose is to beat programmers soundly about the head and neck with a big math stick. At work last week, we were working on project euler at lunch, and had the one CS PhD in our midst not jumped up and explained the chinese remainder theorem to us, we wouldn't have had a chance.

I feel the same way. It was presented to me as a great way to learn new programming languages. But really it's challenging your ability to design algorithms, and overwhelmingly mathematics-related algorithms. (I'm not saying the site itself claims anything different).

It doesn't heavily challenge you to advance past a most basic level of a programming language. For example, most Project Euler problems are solved in Java most efficiently by using the features of Java that map 1:1 to features in C. You could do pretty much the entire suite of problems without even understanding the motivation of a language like Java.

I did find it better as a tool for learning functional programming languages (like Haskell) however, perhaps unsurprisingly.

Re: Project Euler

#32
post #29

The best technical interview I ever had involved picking a random Project Euler problem in the hundreds and pair-programming our way through it. The CTO wrote his version in Python and I worked in Perl . . . he was astounded mine ran 8x faster. The same company also had regular hack night where everyone drinks a lot of Tecate, agress on a Project Euler problem and a language no one knows, and races. Fun times.

What company was that? Sound like a great place to work!

Re: Project Euler

#33
post #30
post #16

A dozen Project Euler solutions in a given language can be an excellent pre-interview candidate screening technique. Quite simple to check for plagiarism too, within reason.

A dozen ? Perhaps a dozen of the easiest ones that one can do in a few minutes, but even so it seems like a lot of work for a pre-interview screening. But many Project Euler problems require a great deal of thought and are mostly testing mathematical prowess. How much work are you comfortable making your candidates do before they even know whether they're getting an interview?

Yep sure, I'd expect any competent programmer to be able to bash out the first dozen without it being too onerous. Think of it as FizzBuzz-on-steroids. Remember this is only a screen, and it's something many programmers would find to be fun anyway!

Re: Project Euler

#34
post #24
post #23

Earlier quoted context omitted.

In many of them, the naive solution is intractable in terms of time or memory, so some programming skill is required.

This is definitely true. Finding the non-naive solution is still more of a math exercise, though. I've spent a lot of time reading wikipedia articles for algorithms that I don't understand trying to solve some these problems.

I agree. I think the "hard" (and some of the "medium") challenges on codeeval.com are much better in terms of requiring coding ability vs requiring math ability. Math ability won't hurt, but it won't get you quite all the way there.

Re: Project Euler

#35
post #29

The best technical interview I ever had involved picking a random Project Euler problem in the hundreds and pair-programming our way through it. The CTO wrote his version in Python and I worked in Perl . . . he was astounded mine ran 8x faster. The same company also had regular hack night where everyone drinks a lot of Tecate, agress on a Project Euler problem and a language no one knows, and races. Fun times.

When I was conducting quantitative interviews I ended up doing the same thing. One of my favorite problems to give was 267 (http://projecteuler.net/problem=267). It has a few "aha" moments but also requires coding to get it done.

Re: Project Euler

#36
Learning haskell with ProjectEuler right now. It's great and after solving it, one can always look up the forums and improve the own code or learn different ways to implement the solution!

Re: Project Euler

#37
post #33
post #30

Earlier quoted context omitted.

A dozen ? Perhaps a dozen of the easiest ones that one can do in a few minutes, but even so it seems like a lot of work for a pre-interview screening. But many Project Euler problems require a great deal of thought and are mostly testing mathematical prowess. How much work are you comfortable making your candidates do before they even know whether they're getting an interview?

Yep sure, I'd expect any competent programmer to be able to bash out the first dozen without it being too onerous. Think of it as FizzBuzz-on-steroids. Remember this is only a screen, and it's something many programmers would find to be fun anyway!

Our time is still finite, especially when we are in job hunt mode. One party should not expect the other party to invest a lot of time in the process without doing so themselves.

I'm particularly sore because I spent a bunch of time working on learning something domain-specific for a potential employer who verbally indicated the interview process would be proceeding, but then forgot to tell me for a week they had decided to end the process.

Re: Project Euler

#38
post #31
post #22

I love project euler, but I've come to the realization that its purpose is to beat programmers soundly about the head and neck with a big math stick. At work last week, we were working on project euler at lunch, and had the one CS PhD in our midst not jumped up and explained the chinese remainder theorem to us, we wouldn't have had a chance.

I feel the same way. It was presented to me as a great way to learn new programming languages. But really it's challenging your ability to design algorithms, and overwhelmingly mathematics-related algorithms. (I'm not saying the site itself claims anything different). It doesn't heavily challenge you to advance past a most basic level of a programming language. For example, most Project Euler problems are solved in J…

What we need now is more focus towards females. Men are already sufficiently saturated in the maths/CS fields. What we need is to market the idea of maths as fun to more females.

Re: Project Euler

#39
I love project Euler. A nice way to improve programming skills in a new language is to go through others solutions in the same language after you solved a problem. This allows to break bad habits. Say you are a C programmer learning Ruby or Lisp, 'C-ish' approach will often seem the most straightforward, but will rarely be optimal and idiomatic in the new language you are learning.

Re: Project Euler

#40
post #22

I love project euler, but I've come to the realization that its purpose is to beat programmers soundly about the head and neck with a big math stick. At work last week, we were working on project euler at lunch, and had the one CS PhD in our midst not jumped up and explained the chinese remainder theorem to us, we wouldn't have had a chance.

I remember doing the Heighway Dragon one (somewhere in the 200s). Took me quite a while to write code efficient enough to finish in well under a minute. Then I get to the forums, and it's a simple combinatorics question you can solve instantly. It certainly inspires me to learn more maths.
Post reply on HN