Slashdot Mirror


Ask Slashdot: Beginner To Intermediate Programming Projects?

An anonymous reader writes "I've been teaching myself to code recently. I've made good progress so far, and I've written a bunch of little scripts to make my life easier. Here's the problem: most project ideas I come up with now either seem pretty easy or pretty impossible. I'm having trouble thinking of a project that'll stretch my skills without overloading them. I've tried finding open source projects to read through, but I run into the same thing: either it's straight-forward, or it requires reading a half-dozen dependencies, each of which has dependencies of their own. Anyone have suggestions on some intermediate-skill projects to undertake? Or some project files in an online repo that go beyond the basics without getting overwhelming? My language of choice is Python, but other languages are welcome."

6 of 172 comments (clear)

  1. Try a microcontroller project. by wb8nbs · · Score: 5, Informative

    I would suggest getting an Arduino. There's tons and tons of example code out there at all levels of expertise. And it's fun.

  2. Project Euler by Anonymous Coward · · Score: 5, Informative
  3. Pygame? by Cramit · · Score: 3, Informative

    You could build a small game in Pygame!
    http://www.pygame.org/

    A basic banner ad type game tutorial.
    http://www.pygame.org/docs/tut...

  4. Managing dependencies is a key skill... by Narcocide · · Score: 3, Informative

    ... and if that is all that stands between you and every single project that isn't "too easy" for you, then THAT is exactly what you should be working on.

    However, you can learn SDL and fairly easily use it with C and/or C++ and make simple games and graphical apps with no or at least very few additional dependencies.

  5. checkio and hackerrank by LetterRip · · Score: 3, Informative

    The two sites checkio and hackerrank can probably provide you some challenges. They will force you to learn some algorithms (trees, graphs, etc.) which will provide you with tools you need for more complex projects.

  6. Relationships by woboyle · · Score: 1, Informative

    Software is all about relationships between different bits of code, structures (classes), and behaviors. There are tools that can take a bunch of code and turn it into graphical models that help understand better how this stuff works together and is related. The modeling language is called UML. One great tool I use is called Enterprise Architect from Sparx Systems (an Australian company). I frequently use it to generate UML models from source code in order to better understand it. It isn't expensive (full professional version for about $200USD), and you can get a full version on a 30-day free evaluation if you want. Go to http://www.sparxsystems.com/ for more information. They also have less expensive versions, student licenses, etc.

    --
    Sometimes, real fast is almost as good as real-time.