I am novice in "serious" programming i.e. applications that deal with real-life applications and software projects that go beyond school assignments.
My interests include optimization, operations research, algorithms and lately i discovered how much I do like software design/development/engineering.
I have already developed some simple desktop applications for some "famous" problems like TSP using heuristc approaches, a VRP solver (in progress) and so on.
While developing this kind of software I actually used basic concepts taught at school such as object-orientation analysis and design. But, I found these courses rather elementary and quite boring (for my expectations).
So I decided to go a little further and start developing "real" software (and this is where I realized how important and interesting software engineering/design is.)
Now, here's my issue: I can not find a "study guide" for developing software of this kind.
Currently, there are numerous resources out there (books, websites, tutorials) in designing and developing complex IS, web applications, smartphone apps but I can't find a book for example entitled "optimization software development". Definetly, someone could claim that "design patterns apply to software in general" but that's not my point.
My point is that I could simply use my imagination for "simple" implementations, but what happens, when my imagination can not go further?
In other words I'm looking for a guide/path to bridge the gap between: Mathematics-Algorithm Design-Software Engineering-Optimization-Software development