doing science properly in the digital age: software skills for free-range researchers
DESCRIPTION
Keynote given at Digital Research 2012, Oxford, on the current challenges and opportunities for changing the way that software development is taught to researchers. Can we get to the point where the "why" of programming is as important as the "how"?TRANSCRIPT
Software Sustainability Institute
www.software.ac.uk
Doing Science Properly in the Digital Age10 September 2012, Digital Research 2012, OxfordNeil Chue Hong (@npch) [email protected]
Software Sustainability Institute
www.software.ac.uk
Four Paradigms of Research
Empirical
Theoretical
Computational
Data Exploration
Software Sustainability Institute
www.software.ac.uk
Software is pervasive in research
Software Sustainability Institute
www.software.ac.uk
Just the Nature of the problem?
Maintenance is not funHacking new stuff is fun
Statistics courtesy of Jo Hannay et al, “How Do Scientists Develop and Use Scientific Software?
Published online 13 October 2010 | Nature 467, 775-777 (2010) doi:10.1038/467775a
Software Sustainability Institute
www.software.ac.uk
The Software Sustainability Institute
A national facility for cultivating world-class research through software• Better software enables better research• Software reaches boundaries in its
development cycle that prevent improvement, growth and adoption
• Providing the expertise and services needed to negotiate to the next stage
• Developing the policy and tools tosupport the community developing andusing research software Supported by EPSRC
Grant EP/H043160/1
Software Sustainability Institute
www.software.ac.uk
SSI Drivers and Themes
• Two key drivers which cause people to seek the SSI’s advice: They want to be more productive in their research They don’t want to be embarrassed by appearing worse than
their peers
• Broadly, our work falls into a few key themes: The role and reward of software in research Recognition of software career paths Developing the scientific computing / software development
skill base
Software Sustainability Institute
www.software.ac.uk
The Foundations of Digital Research
Software Sustainability Institute
www.software.ac.uk
Software Skills for Free-Range Researchers
Software Sustainability Institute
www.software.ac.uk
Seven recommendations to improve learning
1. Space learning over time2. Interleave worked example solutions with problem-solving
exercises3. Combine graphics with verbal descriptions4. Connect and integrate abstract and concrete representations of
concepts 5. Use quizzing to promote learning6. Help students allocate study time efficiently7. Ask deep explanatory questions
Organizing Instruction and Study to Improve Student Learninghttp://ies.ed.gov/ncee/wwc/practiceguide.aspx?sid=1
Software Sustainability Institute
www.software.ac.uk
Traditional teaching
• Traditional software teaching is aimed at “caged” students Full-time Able to allocate study-time Able to space learning over
time Teach in groups
• But still focussed on how and not why
Picture by Farm Sanctuary
Software Sustainability Institute
www.software.ac.uk
The free-range researcher
• The free range researcher has different requirements Already working at 200% No common “baseline”
knowledge Often just one or two
researchers• Why do they care about
software engineering?
Picture by Brookford Farm
Software Sustainability Institute
www.software.ac.uk
No common baseline
Bhargen Basepair
Bioinformatics RANovice coding in Javaand Perl to test groupspattern algorithms
Helen Helmet
Mech Eng internExploratory codingbased on tinkeringwith legacy code
Fan Fullerene
Chemistry PhDRunning analyseson behalf of hissupervisor
Mehrdad Mapping
Forestry studentField data collectioncurrently correlatingusing Matlab
Courtesy of Greg Wilson
Software Sustainability Institute
www.software.ac.uk
Case Study: Ligand Binding
• Centre for Computational Chemistry, Bristol New methods for rapid MC sampling of
biomolecular systems modelled using QM/MM Developed two codes ProtoMS (F77) + Sire (C++) Water-Swap Reaction Coordinate method to
calculate absolute protein-ligand binding free energies
• SSI’s work is helping to scale development ProtoMS and Sire both single developer codes ASPIRE/ACQUIRE framework has multiple devs
• Split architecture between ASPIRE (adaptive multiresolution hybrid MD simulation) and ACQUIRE (WorkPacket scheduling system with optimisation for time to result vs “green-ness”
• http://www.siremol.org/adaptive_dynamics
Software Sustainability Institute
www.software.ac.uk
Case Study: Climate Policy Modelling
• CIAS team at Tyndall Centre for Climate Change Research, University of East Anglia Develop linked climate and economic models for detailed
analysis Their software was not ready to be used by other groups
• One researcher/developer at UEA, several users
• SSI’s work means the software is robust enough that it can be installed and used by others Enabled use of the software by the WWFN’s Climascope
project and James Cook University• Documented software to allow extensions by contributors• Made it easier to maintain and backup• Added job scheduling to improve modeling throughput• New modelling framework enables new models i.e. new
science
• http://www.tyndall.ac.uk/research/cias
Software Sustainability Institute
www.software.ac.uk
Case Study: textual studies
• TextVRE team at CeRCH, Kings College London Developed an environment which is used to integrate
various tools used in the e-Humanities textual studies lifecycle
Builds on the German TextGrid project, and many other existing tools
• SSI’s work means the software is can be run “out of the box” – an important requirement for the researchers Developed a VM image containing the TextVRE installation
• Improve installation instructions• Develop tests to check each installed component• Improve modularisation to allow others to contribute and
maintain Feeding back work to TextGrid
• http://textvre.cerch.kcl.ac.uk
Software Sustainability Institute
www.software.ac.uk
The modern researcher…
• … worries about: Data management
and analysis Reproducible
research Scalable simulations Integration of
models and workflows
CollaborationPicture of Otto Stern courtesy of Emilio Segre Visual Archives
Where do they learn how to do this?
Software Sustainability Institute
www.software.ac.uk
Software Skills Training
Basic Advanced
ProgrammingFocussed
ResearchFocussed Software
Carpentry
Programming 101
SummerSchools
Advanced HPC Training
HPC Short CoursesDoctoral Training
MSc in HPC / scientific
computing
Programming 201
Who fills this gap?
Software Sustainability Institute
www.software.ac.uk
A part of the process
• Foundations of scientific computing in undergraduate courses Like presentation skills
• Methods of scientific computing in postgraduate courses Like statistics and ethics
• Show the benefits from the knowledge and methods of digital research Not just programming 101
Software Sustainability Institute
www.software.ac.uk
Supporting the system
Picture by mira66
• Centres for Doctoral Training• Institutional support• Professional bodies• Career paths for software
specialists• Recognition for software reuse• Case studies to change practice
Software Sustainability Institute
www.software.ac.uk
Methods and mechanisms
• Train and support the trainers• Open source materials• Common structure• Enable online participation• Encourage local delivery• Support local follow-up• Shared spaces for discussion
• Spacing learning over time, asking deep questions
• Teaching software skills for the free-range researcher
Picture by fallsroad
Software Sustainability Institute
www.software.ac.uk
Skills allow us to show off
• Software is a key part of the life of a researcher
• A broad base of software skills is required and must be supported by the institutions
• What skills do we teach now to provide the computational scientists of the future?
• Reward the application of these skills
Software Sustainability Institute
www.software.ac.uk
More Information / Collaborate
• Today 2pm – 4.30pm: Drop-In Software Surgery
• SSI Resources http://www.software.ac.uk/resources
• SSI Fellowship Programme: £3000 to support your work, deadline 20th Sep http://www.software.ac.uk/fellowship-programme
• SSI Open Call for Projects: Collaborate with us, next deadline 30th Sep http://www.software.ac.uk/open-call
• Journal of Open Research Software A metajournal of record for your software and its metadata http://openresearchsoftware.metajnl.com