want other information provided back to them – how much data was
processed, how long the processing took, how many resources were
consumed, and other administrative, analytical, or system management
details.
But, for now, let us begin here by looking at our simple program,
and think how we would generate a summary report of the data that
we have read in – giving us the number of contigs in the assembly, for
instance.
Figure 9.2 is an example of a high-level process flow diagram. It con-
tains elements that we have already diagrammed in more detail, and
itself could make up one part of a larger application, like a complete
laboratory information management system.
Known and unknown coding
During the programming stage of the development lifecycle, it is likely
that you will find yourself involved in two different types of coding,
which I refer to as ‘known’ and ‘unknown’.
Known coding is where you are implementing a clear-cut design,
which details what data will be processed, and how.
Unknown coding is when you are finding out whether you can
perform some functionality with a particular piece of code, trying to
get a proof of concept to work, or attempting to come up with a solu-
tion to a problem.
Whatever type of coding you find yourself doing, and you will be
doing both at many stages of a project, it is important that you enjoy
each. Personally, I find sometimes I need to make the switch from one
to another according to how I feel; some days you feel more creative
than others, and those are good days to leap into the unknown.
And some problems are best solved by no coding – by stopping
wrestling with them for a while, and doing something more straight-
forward in order to give yourself a break and a better chance of return-
ing refreshed and more able to see a possible solution.
From designs to pseudocode
Depending on how happy you are with the languages and tools that
you will be using for the project, you may find it useful to write
pseudocode before you begin real coding.
FROM DESIGNS TO PSEUDOCODE 67