On the other hand, it is critical to learn how to get from a problem
statement to a program. We need to determine what is relevant in the
problem statement and what can be ignored. We need to tease out what the
program consumes, what it produces, and how it relates inputs to
outputs. We have to know, or find out, whether the chosen language and its
libraries provide certain basic operations for the data that our program is
to