In: Computer Science
Developing software programs requires a systematic approach to problem solving and involves several steps. For a given problem statement – assuming the problem has a software solution – list and describe in your own words the steps that enable you to bring the software solution to life.
Learn to think parallel.
Reordering the tasks with the intent of maximizing parallel execution saves time and eliminates one of the steps.
Learn to abstract, but don’t over-abstract.
Programmers learn to design solutions so that they don’t have to be re-designed every time that some of the parameters change. They learn to abstract problems in ways that allow a solution to resolve any class of problems similar to the original one.
Learn to Think in Terms of Data Flows.
Thinking in terms of data flows allow to visualize the primary goal and its subgoals as a series of boxes and arrows.