break it down to points. do a search on each part of the question you need to further understand the meaning of.

"usually you would create an algorithm before developing a program or in this case...