Brown, N.C.C., and G. Wilson. 2018. Ten quick tips for teaching programming. PLOS Computational Biology. 14. doi:10.1371/journal.pcbi.1006023.

Devenyi, G.A. et al. 2018. Ten simple rules for collaborative lesson development. PLOS Computational Biology. 14. doi:10.1371/journal.pcbi.1005963.

Haddock, S., and C. Dunn. 2010. Practical computing for biologists. Sinauer Associates.

Noble, W.S. 2009. A quick guide to organizing computational biology projects. PLoS Computational Biology. 5. doi:10.1371/journal.pcbi.1000424.
How to organize a small to medium-sized bioinformatics project.

Scopatz, A., and K.D. Huff. 2015. Effective computation in physics. O’Reilly Media.
A comprehensive introduction to scientific computing in Python

Sholler, D. et al. 2019. Ten simple rules for helping newcomers become contributors to open projects. PLOS Computational Biology. 15:e1007296. doi:10.1371/journal.pcbi.1007296.

Taschuk, M., and G. Wilson. 2017. Ten simple rules for making research software more robust. PLoS Computational Biology. 13. doi:10.1371/journal.pcbi.1005412.
A short guide to making research software usable by other people.

Wickham, H. 2014. Tidy data. Journal of Statistical Software. 59. doi:10.18637/jss.v059.i10.
The defining paper on tidy data.

Wilson, G. 2019. Ten quick tips for creating an effective lesson. PLOS Computational Biology. 15:e1006915. doi:10.1371/journal.pcbi.1006915.

Wilson, G. et al. 2014. Best practices for scientific computing. PLoS Biology. 12. doi:10.1371/journal.pbio.1001745.
Outlines what a mature research software project should look like.

Wilson, G. et al. 2017. Good enough practices in scientific computing. PLoS Computational Biology. 13. doi:10.1371/journal.pcbi.1005510.
Outlines what a “good enough” research software project should look like.