2. 1. 4 Thinking Logically Flashcards
1
Q
Decision making in problem solving
A
- Decision is a result reached after some consideration, one of the first and biggest decisions that needs to be made is choosing the approach or paradigm used when developing the software
- Another example of decision making within software development is deciding how different pieces of info is collected
- To answer questions that arise when being asked to build a program we must limit the possible solutions that we can pick from
- For example, the question of what programming language to use may come to mind, this can be condensed down into a few languages by deducing whether a language is appropriate for the program
- Does the language provide enough functionality to solve the problem?
- Are you comfortable using this language?
2
Q
Conditions that affect the outcome of a decision
A
- Key factors that need to be taken into account, what is the most effective, convenient for example
- Is the option reasonable?
- To make the appropriate decision, these conditions need to be evaluated and ordered into most and least important, becomes easier to find best option for your solution
- Prioritising effectiveness, convenience or feasibility makes it clear what sort of approach is best for achieving your solution
- May vary depending on the purpose and end-users of the software
3
Q
Decisions affecting the flow of the program
A
- Thinking logically involves identifying where decisions need to be made by the user within the program, and planning out outcomes of the decision made
- The program will follow a different route depending on the decisions made by the user
- For example, a simple runner game could be made endless or level based, we would leave this decision to be made by the user
4
Q
Putting it all together
A
- Thinking logically allows you to plan and prepare for different scenarios, provides foresights of decisions made through the whole program
- Decision making is important aspect of problem solving, good decision making is the key to solving problems effectively