CodeinWP CodeinWP

Book Giveaway: Think Like a Programmer

The folks over at No Starch press were kind of enough to give me a review copy of one of their new releases Think Like a Programmer by V. Anton Spraul.

Since I didn’t think I could read the book and write a review any time soon, to help them promote what I believe is a valuable book for anyone who solves problems with code, I offered to give away two copies on my site, and they gladly agreed.

Think Like a Programmer

Book Description

(The description below is taken from the book’s product page on No Starch Press)

The real challenge of programming isn’t learning a language’s syntax—it’s learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You’ll also learn how to:

  • Split problems into discrete components to make them easier to solve
  • Make the most of code reuse with functions, classes, and libraries
  • Pick the perfect data structure for a particular job
  • Master more advanced programming tools like recursion and dynamic memory
  • Organize your thoughts and develop strategies to tackle particular types of problems

Although the book’s examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

And as a relevant side point here, the book has a 4½-star rating on Amazon. If you don’t win the contest and would like to buy the book, if you purchase the print version of the book directly from No Starch Press, you’ll get a free copy of the E-Book version with your purchase (EPUB, MOBI, and PDF).

2 Prizes: Print+E-Book and E-Book only

The contest has two copies up for grabs. To the first winner, No Starch Press will mail (with free shipping) a print copy of the book plus access to the e-book version, which includes EPUB, MOBI, and PDF versions. The winner of the second prize will get only the E-Book version.

The print copy will be mailed directly by No Starch Press, and both E-Book versions will be made available via creating an account for the winners on the No Starch Press website.

How To Win

To qualify to win a copy of the book, you need to do the following:

  1. Tweet about this post and include a link to your tweet in your comment. The tweet needs to include the title of this post (“Book Giveaway: Think Like a Programmer”) plus a link to this post (, which can be a shortened link
  2. Post a comment below and tell me something funny about programming. It can be whatever you want. Something you made up, a joke, a limerick, a riddle, even a link to something funny — anything (without being vulgar or obscene!)
  3. Include a valid email address when you post your comment. Your email address will not be published, it’s just so I can contact you if you win

The winners will be the two most creative/interesting/funny comments, and I will be the final judge as to who wins. And of course, you have to include the link to your tweet so I can verify that you did in fact tweet the article.

The contest will remain open until midnight EST on September 30, 2012.

27 Responses

  1. Deborah says:

    How many Unix hacks does it take to change a light bulb? As many as you want; they’re all virtual, anyway.

  2. bdely says:

    1) There are only 10 kinds of people in this world: those who know binary and those who don’t..

    2) All programmers are playwrights, and all computers are lousy actors.

    This was me in school [PIC]

  3. augusto says:

    is amazing how opposite is a programmers mind (always structured, looking for perfect solutions) and his living environment like his desktop, car, house (always a mess!)

  4. Adam Conrad says:

    Two bytes meet. The first byte asks, “Are you ill?” The second byte replies, “No, just feeling a bit off.”

    *cymbol crash*

  5. Maggy says:

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  6. This may not be funny, witty, or even interesting but I must admit, to my shame, that fiddling around with code has driven me back to smoking cigs 5 years after quitting! True I lost some weight, but not enough to make a impressive difference – did I finally get the results I wanted from my “fiddling?” You bet, but ohhhhhh the beating my mental health took!

    Hope some deserving peeps get this book, some good jokes above – and looking at the description page the book looks like a winner!

    Enjoy all that life has to offer folks

  7. komiska says:

    The human mind ordinarily operates at only ten 10% of its
    capacity, the rest is overhead for the operating system.

  8. Andrew D says:

    Why do all Java Developers need glasses?
    Because they don’t see sharp (C#)! =)

  9. Yoav says:

    “in the old days, if you reinvented the wheel, you would get your wrist slapped for not reading. But nowadays people are reinventing the flat tire” Alan Kay

  10. Valentin says:

    A programmer’s wife sends him to the grocery store with the instructions, “get a loaf of bread, and if they have eggs, get a dozen.” He comes home with a dozen loaf of bread and tells her, “they had eggs.”

  11. Navid says:

    Programming is a lot like sex. One mistake and you’re providing support for a lifetime!

  12. Malte Baden Hansen says:

    My littlesister asked me what my education was called, and i told her “AP Degree in Computer Science”. She just looked at me and said, okay. you have a degree in geek. I didn’t object :)

    Twitter link:

  13. leonarce tan says:

    How many programmers does it take to change a lightbulb? none, coz it’s hardware problem.

  14. Sergio says: I’m not good with art, but I like to program, and I can say that I paint like Picasso with my application code. :) I think.

  15. if(WinBook($1)) {
        this.Perfection += 1*STEP; 
        Assert.IsTrue(this.Perfection <  JeffAtwood.Perfection);
  16. refalfiao says:

    I hate programming!! Because I usually do it in VBA in Office… then I don’t program

    Really I love programming when I do it for myself.

  17. Berny Cantos says:

    Often we need people around to remind us how to think like a non-programmer

  18. Julio says:

    A doctor, an engineer and a programmer are talking about which of their jobs is the oldest one. The doctor begins:

    – Look, the Bible says God made Eva from an Adan’s rib, and this obviously requires of cirugy, so medicine is the oldest profession.

    The engineer replies:

    – Yes, well, but before that, the Bible says God separated order and chaos, and this was obviosly an engineering work.

    The programmer pulls back on the chair and says smiling:

    – Yes, but how do you think God made the chaos?

  19. aralmo says:

    I’m on rehab, was hoping to be able to quit coding forever but those cd’s patches doesn’t work half as good as nicotine ones do to quit smoking…
    Bah! i won’t quit anyway, so give me the book before i get deprecated!!

  20. “Think of a treehouse. You can build a treehouse that is functional and has a trapdoor and is stable. But everybody knows the difference between a treehouse that is simply solidly built and one that is beautiful, that takes creative advantage of the tree. It’s a matter of combining art and engineering. This is one of the reasons programming can be so captivating and rewarding. The functionality often is second to being interesting, being pretty, or being shocking.”
    ~ Just for Fun: The Story of an Accidental Revolutionary, by Linus Torvalds (creator of Linux) and David Diamond, HarperCollins, 2001.

Comments for this post are now closed.

Read the latest articles and tutorials if you'd like to have your say.