How to design a computer program tips