Newbie coding puzzles and problems

This is an Ask a Geek Feminist question for our readers:

I am a relative newbie in the world of coding. I took two semesters of intro to programming with Java this past school year and I’ve been to a few python workshops. All in all, I’ve only been building programs for about eight months. I was wondering whether there are some good sources of newbie-friendly project ideas out there that will keep me going over the summer so that I don’t lose all my skills before my fall data structures class.

I have had Project Euler recommended to me in this capacity, but I don’t take the amount of delight in mathematics that the person who recommended the site to me does. Are there others that are a bit more down to earth?

This question seems to be seeking less ongoing projects, and more a source of short exercises and puzzles. Anyone got anything? I only know of Top Coder but it’s not newbie-focussed and from what I know of it it’s also rather focussed on mathematical puzzles.

10 comments on this post.
  1. Chris Boyle:

    It’s somewhat special purpose, but if you’re looking to get into web application development at all, I would wholeheartedly recommend http://railsforzombies.org/ – a mix of screencasts and interactive tests.

  2. brainwane:

    You might check out the more list-processy bits of How To Design Programs and the exercises in Google’s Python class for examples.

  3. Vasi:

    There’s a list of several resources here: http://stargrads.net/blogs/davinci/2009/10/lists-of-programming-exercises/

  4. Pierce Nichols:

    An oldie but goodie is reimplementing some tools or libraries from your favorite OS. The exercises from “The Structure and Interpretation of Computer Languages” (http://mitpress.mit.edu/sicp/full-text/book/book.html) are pretty cool too.

  5. Vicky:

    Check out The Python Challenge: http://www.pythonchallenge.com

    I used it to learn Python but it’s a great source of puzzle coding fun even if you’re already familiar with the language.

  6. Lukas Blakk:

    I recommend http://codingbat.com/ for building up your skills with immediate feedback and second the pythonchallenge – it’s way fun and Python is a great language for new programmers.

  7. K00kyKelly:

    I’d recommend trying to recreate an arcade game like PacMan with some kind of AI. IMHO figuring out the AI is what makes it interesting. How do the ghosts move? How far away can they sense PacMan? What should the levels look like? How should the level data be stored with the moving things? The graphics could be a challenge, but theoretically at least you could do the whole thing in ASCII and erase and reprint the screen a lot.

  8. puzzlehunter:

    You could try looking at the free HTML version of the book http://learnpythonthehardway.org/book/ . It has a lot of short programming exercises that you can use to learn/review Python basics, and it even has some exercises geared toward helping the user create a simple game.

    MIT also has the (free) materials for a couple of intro classes up on OpenCourseWare:

    Intro to Java: 1.00 / 1.001 Introduction to Computers and Engineering Problem Solving

    Intro to Python: 6.00 Introduction to Computer Science and Programming

  9. G:

    A new site with some fun coding problems: http://www.puzzlenode.com/

  10. Daniel Martin:

    Another recommendation for codingbat. It’s very good at scaling up the difficulty gradually.

    Another place you might want to check out are the old “Ruby Quiz of the Week” problems: most don’t require ruby use in any way, and the problem difficulty is all over the map (some hard, some easy, and many where the level of difficulty depends on how much of the optional bits of the problem you tackle)