5
$\begingroup$

After reading How to build a class based on Project Euler? I was inspired to suggest some work on Project Euler over the summer as part of an ad-hoc math/programming club. It looks like I will be able to put together a small audience for the project and need to start organizing soon.

I'm looking for any speculation on how well this might go, from people who have some experience with Project Euler problems (I have no such experience).

Imagine five to six students meeting with pizza and a goal to complete a few Euler problems in a collaborative setting. What are some pitfalls or possible issues I should avoid? Is there really any room for collaboration at all? The students are very good and are unafraid of programming.

$\endgroup$
  • $\begingroup$ Keep a backup with easier problems. Have a few places with interesting expositions handy. Don't get locked into any particular path, you can't know if in the end the "solve hard problems" or "check out this cool trick" or even "let's discuss this open problem" track gets most traction (or even if you need a mix of the above). $\endgroup$ – vonbrand May 13 '14 at 0:42
3
$\begingroup$

You probably know how much math/programming skills the students would bring along with the pizza.

With that in mind, you should select and solve a few problems matching this skillset so that you can lend a hand or provide a bit of technical advice in case of need.

If all else fails, make good use of the "google euler 38 python" problem mentioned in the other question and teach the students how to read, understand, critique foreign code.

$\endgroup$
0
$\begingroup$

Now that my club has been running for a few weeks, I feel qualified to answer my own question. Here are some points I suggest:

  • Create one account for the whole group. This allows students to be more invested in each others' solutions and creates a feeling of shared progress. It also makes it more natural for students to split up on different problems.

  • Decide in advance which programming language you will foist on students who have little or no programming experience. Seasoned programmers will use whatever they are comfortable with, but it is completely possible for smart people with no formal programming training to jump into programming with these problems. I of course recommend Python, but if you go with JavaScript you don't even need to install anything (they have a web browser)! To complete the first problem, all they need is a modulus function, a loop, and an if statement. Be ready to walk through those three pieces with newbies.

  • When someone completes a problem, announce the success to everyone and get everyone to cheer.

  • Don't try to hide the fact that the solutions are posted online. The students know this is likely true. This is a great time to lead by example: that looking up the solutions would be extremely silly.

  • Let students choose terrible strategies for their programs. If the strategy is headed for a complete dead-end, then save them -- but if it will work in a terrible way, let them complete it the terrible way! It feels awesome when they get the answer.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.