Repository files navigation Software Design for Scientists
Something one tells a computer to do, no matter how small
Should you write something?
Improvements to science
Finding and implementing what is already there
Making it work
Making it answer the questions you want it to
Who are your users?
Think about software as always having a user who's not you
General software design principles
You're not going to necessarily become a great developer, but can be a pretty good developer by thinking of your code as having a life cycle
Think beyond the script to do one experiment
Participate in open source
Two way street
Everyone benefits
Steal like a developer - learn & build on the code don't just slot in a pretty good solution because you don't know how to do it
Scientific Reproducibility
Requires codesharing as well as data sharing
... And there are so many good options!
Requires a community to reuse and/or update the code.
The Scientific Method of Software: Agile
Why agile will feel more natural to scientists (than waterfall)
Agile isn't one thing and you don't have to follow a particular process
Agile is a mindset not a process
Data Artifacts Part 1: Bugs
Not letting your software work against you
Data Artifacts Part 2: Communicating Parameters
Making sure that everyone gets the same answer, every time
Software Solutions Part 1: QA
Pyunit
Flask and coverage.py for code coverage
But what about R?
Software Solutions Part 2: Relatively Painless Documentation
Documentation for science part
Documentation for software part
Keep em separate as practical
Do both
What software artifacts are most useful
Making it part of experimental design
Database Design: Setting Yourself up to Make the Data Work for You and Others -- Not the Other Way Around.
Solr faceting of flat files
Organizing your data - think beyond relational databases
Scoping Data Science Projects, why it is the most important difficult thing you will ever do.
Appendix 1: A glossary of useful terms, circa 2016.
Appendix 2: Some tools that might be useful to you.
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
You can’t perform that action at this time.