Welcome and Q&A
Overview
Teaching: 30 min
Exercises: 15 minQuestions
How important to modern research is software?
How is software typically written in academia?
Why should we take the effort to write software well?
What are we going to learn today?
What will happen after this course?
Objectives
Explain why software is important to research and has value.
Understand what software contains, in addition to programming instructions.
Explain the differences between programming and engineering.
Describe the benefits of testing and version control.
See topic slides.
Key Points
Software is an indispensable tool of modern research.
The use and development of software in research is increasing.
The software you write is important.
Software contains far more value than just a sequence of instructions.
Use of version control enables programming to become science.
Writing software using established practices will save you time in the long run.
Always assume others will use and develop software you write (including a future version of yourself).
Be clear on software requirements but assume they they will change.
Funders are increasingly expecting software outputs to be sustainable and reusable.