7 votes

Programming/software design practice?

So, I've been going through Project Euler and solving problems as a way to brush up on my programming abilities, but it's mostly a math-focused set of problems. Which is cool..they're nice little puzzles that get the gears turning...

BUT I'm wondering if anyone here has suggestions for a website/course that teaches software design in a piece-wise way. Like... each problem is a nugget of software design that builds off previous problems and eventually you're creating an entire application utilizing different algorithms/design patterns/data structures/etc.

I'd appreciate any resources similar to that idea. Thanks!

9 comments

  1. [2]
    skybrian
    Link
    I don't know of a general-purpose website, but you might try looking for books on the subjects you're interested in and doing the exercises? If you're interested in the subject, you might like...

    I don't know of a general-purpose website, but you might try looking for books on the subjects you're interested in and doing the exercises?

    If you're interested in the subject, you might like Crafting Interpreters. It's free online and almost finished. (The author is someone I used to work with.)

    4 votes
    1. krg
      Link Parent
      That looks pretty close! I like the idea of slowly building your way up to a fully-featured program (or, in this case, interpreter) of some sort.

      That looks pretty close! I like the idea of slowly building your way up to a fully-featured program (or, in this case, interpreter) of some sort.

      2 votes
  2. [5]
    stu2b50
    Link
    My undergrad data structures course material is public for anyone to look at (including hw, lab material, and exams). You can try along this semester, it'll take you through the basics of building...

    My undergrad data structures course material is public for anyone to look at (including hw, lab material, and exams). You can try along this semester, it'll take you through the basics of building nontrivial amounts of software.

    Main page

    Project 0, if you want to give it a shot

    4 votes
    1. [3]
      skybrian
      Link Parent
      Although the puzzle in Project 0 is artificial, asking students to read someone else's code and understand the comments is a nice idea.

      Although the puzzle in Project 0 is artificial, asking students to read someone else's code and understand the comments is a nice idea.

      2 votes
  3. [2]
    kavi
    Link
    Maybe FreeCodeCamp is what you're looking for? It teaches you the ideas, then sets you projects which you can work on bit-by-bit.

    Like... each problem is a nugget of software design that builds off previous problems and eventually you're creating an entire application utilizing different algorithms/design patterns/data structures/etc.

    Maybe FreeCodeCamp is what you're looking for? It teaches you the ideas, then sets you projects which you can work on bit-by-bit.

    3 votes
    1. krg
      Link Parent
      Yea, I've come across that before. I'll give it another go!

      Yea, I've come across that before. I'll give it another go!

      3 votes