The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography.
Woodie Flowers SM '68, MEng '71, PhD '73, the Pappalardo Professor Emeritus of Mechanical Engineering, passed away on Oct. 11 at the age of 75. Flowers' passion for design and his infectious kindness have impacted countless engineering students across the world. Flowers was instrumental in shaping MIT's hands-on approach to engineering design education, first developing teaching methods and learning opportunities that culminated in a design competition for class 2.70, now called 2.007 (Design and Manufacturing I). This annual MIT event, which has now been held for nearly five decades, has impacted generations of students and has been emulated at universities around the world. Flowers expanded this concept to high school and elementary school students, working to help found the world-wide FIRST Robotics Competition, which has introduced millions of children to science and engineering.
I think you are putting your cart in front of the horse a little bit... That is before stating the problem mathematically you need to have an idea of what data is there. This means both talking to the people who already use it on a day-to-day basis in order to understand their process, and seeing where and how it is stored. Then figuring out if it is suitable for the task at hand and what the business wants. Only then can you bother with stating it as a math problem, feature engineering, etc. IMO most of your time will go into figuring out the problem, understanding the data and cleaning the data, so you should put some more attention to that.
Software design is the process of defining software methods, functions, objects, and the overall structure and interaction of your code so that the resulting functionality will satisfy your user's requirements. It is the method of creating a representation of the complete software components and behavior before implementing the actual software. You need to follow design principles, which will lead you to develop more robust, maintainable & flexible software. Now you might think: "I have never used designing but I have developed many software and guess what? Well, congratulations, but development is not just about making the software.