The purpose of this section is to introduce the engineering problem solving process in the context of using m-file environments to solve problems. Many variations of this process exist and no single variation is best for solving all problems. In this module we describe a variation of the engineering problem solving process that applies to m-file environments problem solving. Other variations are described in the reference in the bibliography.
The following problem solving process is fairly involved and may be an excessive amount of work for simple problems. For problems where the solution is straight forward, simply solve the problem; for more complex problems, the solution will usually not be obvious and this process will aid in development of an appropriate solution.
This specific process is divided into a set of seven steps. Each step includes questions that help move you successfully through the problem solving process.
1. Define the Problem
- What problem are you trying to solve?
- "What would success look like?"
- What should the program output? Computed values? A plot or series of plots?
2. Identify given information.
- What constants or data are supplied?
- What theory, principles, models and equations have you been given?
3. Identify other available information.
- What theory, principles, models and equations can you find in other sources (text books, lecture notes, etc.)?
4. Identify further needed information.
- What other information do you need?
- Where will you find it?
5. Design and implement your solution to the problem.
- How can you break the larger problem into smaller problems?
- Look at the problem from the top down or bottom up?
- What programming techniques might you use to convert input to output?
- What variables do you need? Vectors? Arrays?
- What principles and equations apply to convert input to output?
6. Verify your solution.
- How do you know your solution is correct?
7. Reflect on your solution.
- What worked?
- What didn't?
When solving simple problems you may be able to follow these steps in order. For more complex problems, you may be working on step 5 and realize you need more information. You might then go back to steps 3 or 4 to re-evaluate and find missing information.