Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Education Programming Technology

Brain Teasers for Coders? 109

calvinandhobbes asks: "There are about 200 people working on different projects and most of them do programming without having an idea of what they actually do. they have little understanding of OS internals and primitive hacking skills. I want to enthuse them by providing some challenges by which they touch upon complex computing concepts, while solving the problem. Does anyone know of a set of C-based hacks or puzzles with which I can enthuse these budding programmers and testers?"
This discussion has been archived. No new comments can be posted.

Brain Teasers for Coders?

Comments Filter:
  • by DavidNWelton ( 142216 ) on Tuesday August 02, 2005 @11:25AM (#13222069) Homepage
    If you've already been exposed to programming, and haven't got the desire to carry on learning on your own, I don't know that any amount of brain teasers will give you that spark. More likely, they'll just regard it as another pain in the ass to be dealt with.
  • Re:RSA (Score:3, Insightful)

    by Paul Crowley ( 837 ) on Tuesday August 02, 2005 @12:50PM (#13222930) Homepage Journal
    * RSA Factoring Challenge - because nobody has found a "magic" formula for instant factoring.

    You're funny. It's very unlikely that a breakthrough in factoring is going to come from the tinkering of a bored coder. It's more likely to come from someone who has already mastered advanced number theory, algebraic number theory, elliptic curves and finite fields, the CFRAC method, the quadratic sieve, and the special and general number field sieves.

    And no-one's ever proven that you have to factor large numbers to solve the RSA problem. Indeed, it's now believed that no such relation will ever be found.
  • Re:Good C line (Score:3, Insightful)

    by dark404 ( 714846 ) on Tuesday August 02, 2005 @01:04PM (#13223066)
    And if they respond with anything other than "Anyone who writes something like that should be fired." Fire them.
  • by EdelFactor19 ( 732765 ) <adam.edelstein@nOSpAM.alum.rpi.edu> on Tuesday August 02, 2005 @01:49PM (#13223531)
    that is precisely what he is NOT looking for or asking for.. which part of complex computing concepts and OS internals did you fail to grasp? a bank account program / class (if done in c++) is merely another silly and trivial program to write. Heck i've had do write one in just about every other lower level CS class i've ever taken. it doesnt involve whats really going on with the computer and it has nothing to do with a hack, OS internals, or any of that good stuff.....

    chapter exercises? are you kidding me? thats like responding to "im looking for some complex math puzzles" and you say pick up your calc book and do the section reviews... 99% of the time they arent challenging, interesting or of any more value than any other mundane problem in the section of the books exercises.

    next time, rtfa and then rtfa again.
  • by Shaper_pmp ( 825142 ) on Wednesday August 03, 2005 @11:37AM (#13230853)
    TBH, even then the reward is the prize, and not the programming.

    There are two types of programmers in the world - hackers and code-grinders.

    Hackers live for interesting problems, matching their wits and expertise against the hardest and most intracable problems they can find, and smash through complexities that would make anyone else's your brain bleed with a gleeful laugh [paulgraham.com]. No reward you can offer them is better than a selection of interesting challenges, adequate pay and freedom from drudgery.

    Code-grinders code because they have to, not because they like it - it's a job, nothing more. Nothing you can do will make them love it, or they'd be hackers, not code-grinders. You can try to improve morale with rewards, incentives and fun games, but you'll only be teaching them to work hard for extra rewards, not to love what they're doing or to do their best work.

    On the upside, code-grinders don't do their jobs for fun or stimulation, so you can give them the shittiest, most boring problems and make them work under the most unnecessary, arbitrary restrictions, just as long as you also keep giving them the paycheques with the other hand. After all, that's the only reason they're there.

    If you're lucky, you've got a room full of hackers, and your productivity will be enormous as long as you don't do something stupid like giving them drudge-work, putting a non-hacker manager in charge of them or needlessly forcing them to follow a non-optimal solution.

    If you're unlucky (as it sounds) you've got a room full of code-grinders. You'll never motivate them to enjoy their jobs, only to tolerate them better.

    Against this background I'd advise you not to bother tring to awaken their interest in programming - if they ever had one it would have sparked the second they first tried coding, and if it didn't, it ain't there.

    Instead, focus on perks, pay and working conditions, to make their job more tolerable.

    Ok, so I'm generalising a bit here, but I've found it broadly to be true - either you live to code, or code to live, and people don't really change that much.

Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

Working...