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!
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.)
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.
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
Although the puzzle in Project 0 is artificial, asking students to read someone else's code and understand the comments is a nice idea.
See also https://exercism.io/
Ooo, that looks good!
Dig it.
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.
Yea, I've come across that before. I'll give it another go!