Ben Chuanlong Du's Blog

And let it direct your passion with reason.

Good Ways to Do Scientific Computing

  1. Break down the work into smaller modules and develop pipelines (consists of module) for the work. Be sure to save (important) intermediate results so that you can resume failed modules withouting reruning succeeded ones.

  2. Manage your project in GitHub and use issues to manage tasks to do and their priorities.

  3. Keep your code clean. Make sure to follow good coding (especially naming) styles no matter which programming language you use.

  4. Write help documents for your code (classes, methods, etc.) and keep a up-to-date readme file (explaining design, TODO or refer to other docs) for your project. Bullets 2 and 3 are critical to make sure sustainable progress on projects that last for a long time.

  5. Use seeds when you generate random numbers. This makes sure that your work can be reproduced later.

  6. Test running your code using a small dataset or complexity degree to estimate the time needed to run at full scale.

  7. Update the progress of running regularlly if a program is time-consuming. It is good practice to log both the time ellapsed and the amount of work that has been done so that you can estimate the ETA.

Comments