10.4 years ago by
The first thing you should know is that you will have to write a lot. I mean, you'll have to take notes on a real paper and with a real pencil, instead of keeping everything on your mind or writing with a computer.
I personally like to split an A4 paper into 8 units (making 8 A7 papers) and write every step or concept about the program on a single paper. For example, you can write a general description of the algorithm, the use cases, and a description of every function on each A7 paper. Then, it will be easier to determine the order of each function and create a pipeline, you will have to just re-arrange the order of the A7 papers on a desktop.
Second, before you start writing anything, think about how you are going to validate your results. Think of some general cases of structures that will be easy to impose, and also think about the structures that will give you specific problems. It is important that you define a nice set of test cases before you start programming, because it will make it a lot easier and in the end it will save time.
Third, talk about your algorithm with somebody else. Don't do the "I'm a scientist and I have to do everything by myself" error that many people do. The better you are able to explain your work to somebody else, the easier it will be to make it. You should always take in mind the Bohem's curve, which says that the cost of fixing an error increases exponentially on time, so if you discuss with somebody else about your work and by doing so you discover an error, it will save you time.