You’ve got to the end! Well done! Have a cup of tea and a biscuit.
This book has covered a lot of ground to give you a broad understanding of computing and practises to make your life easier. I hope it will stand you in good stead in the future.
This chapters gives some suggestions on how to continue exploring.
Apply what you have learnt¶
The only way to learn is to keep practising. Try to think about how to apply what you have been learning. You will run into problems, working your way through these problems is a great way to solidify your knowledge.
Think about your day-to-day work and your research. How could they be improved by scripting and computing? Try to solve problems that are outside of your comfort zone. This way you will extend your expertise.
Peter Norvig’s essay Teach Yourself Programming in Ten Years is really interesting. Norvig is the director of research at Google and really knows what he is talking about. The essay should help you put your learning into perspective and motivate you when things get tough.
Scott Granneman’s Linux Phrasebook provides a concise reference for learning the foundations of the most important Unix command line tools.
Hadley Wickaham’s article Tidy Data describes the concept of “Tidy Data” in detail along with background, motivation and case studies. It is an accessible read and will give you the tools required to structure your data so that it can be visualised directly by ggplot2.
Scott Chacon and Ben Straub’s Pro Git book provides a comprehensive guide to Git. I would recommend that you read chapter two of this book to solidify your understanding of Git. Many of the other chapters in this book are also really valuable, in particular chapters three and five.
John D. Blischak , Emily R. Davenport, Greg Wilson’s article “A Quick Introduction to Version Control with Git and GitHub” is aimed at scientists wanting to start using version control. It has some great figures for explaining how Git works visually. DOI: 10.1371/journal.pcbi.1004668
Mark Pilgrim’s Dive Into Python 3 is a great book for learning the ins and outs of the Python programming language. Note that this is a new and improved version of Dive Into Python. I recommend that you read Dive Into Python 3 as it is more recent and will teach you about the latest and greatest version of Python.
Zed A. Shaw’s Learning Python the Hard Way is another great book for learning Python. The book uses what Shaw refers to as Educational Mithridatism, where the use of repetition is applied to help you learn quicker.
Nicolas P. Rougier, Michael Droettboom, Philip E. Bourne’s article “Ten Simple Rules for Better Figures” is a great resource of practical advice to help you create better scientific illustrations. DOI: 10.1371/journal.pcbi.1003833
Geir Kjetil Sandve , Anton Nekrutenko, James Taylor, Eivind Hovig’s article “Ten Simple Rules for Reproducible Computational Research” provides advice on how you can make your research more easily reproducible. DOI: 10.1371/journal.pcbi.1003285
Greg Wilson, Jennifer Bryan, Karen Cranston, Justin Kitzes, Lex Nederbragt, Tracy K. Teal’s article Good Enough Practices in Scientific Computing provides a well informed and opinionated view of tools and practises that people performing scientific computing should adopt.
Andrew Hunt and David Thomas’ The Pragmatic Programmer is a modern classic on software development. This book will teach you programming best practices.
Finally, if you enjoyed this book you may also want to have a look at my blog, tjelvarolsson.com, where I post about programming and systems administration from a scientific computing point of view.