code for science (rev 1)
DESCRIPTION
Slides that accompanied a talk given to undergraduate biologists and computer scientists.TRANSCRIPT
![Page 1: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/1.jpg)
Code forScience
Andrew LenardsJune 24, 2010
![Page 2: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/2.jpg)
slideshare.net/lenards
![Page 3: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/3.jpg)
Andrew Lenards • iPlant Collaborative– on Core S/W team
• University of Arizona– CS Grad, 2001
• Experienced developer, former consultant, instructor, & technical trainer
• Domain experience:– Motor Vehicle Domain– Phylogenetics / Bioinformatics (sort of)
![Page 4: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/4.jpg)
Andrew Lenards - Activities• Learning about:
– Requirements, User Stories, etc. – S/W Design/Architecture, Patterns, SOA– Molecular Biology, Phylogenetics, Phyloinformatics, Genetics, and
Genomics
• Active in:– Tucson Java Users Group
• Semi-active in:– Tucson Startup Drinks– Ubuntu Arizona Local Community / TFUG
![Page 5: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/5.jpg)
Hybrid Vigor
![Page 6: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/6.jpg)
![Page 7: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/7.jpg)
![Page 8: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/8.jpg)
![Page 9: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/9.jpg)
Computational ___________
![Page 10: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/10.jpg)
Computational _Thinking_
![Page 11: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/11.jpg)
Computational _Biology_
![Page 12: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/12.jpg)
Computational _Gardening_
![Page 13: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/13.jpg)
Computational _Gardening_
![Page 14: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/14.jpg)
Bio________
![Page 15: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/15.jpg)
Biofuels
![Page 16: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/16.jpg)
Biochemistry
![Page 17: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/17.jpg)
Biophysics
![Page 18: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/18.jpg)
Bioinformatics
![Page 19: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/19.jpg)
…
![Page 20: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/20.jpg)
![Page 21: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/21.jpg)
![Page 22: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/22.jpg)
![Page 23: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/23.jpg)
What do you expectwhen you graduate?
![Page 24: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/24.jpg)
… for the computer sciencemajors
![Page 25: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/25.jpg)
![Page 26: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/26.jpg)
![Page 27: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/27.jpg)
![Page 28: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/28.jpg)
Myth of the Lone
Developer
![Page 29: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/29.jpg)
![Page 30: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/30.jpg)
in-practice: lots of interaction w/ technical& non-technical people
![Page 31: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/31.jpg)
Communication is amajor challenge
Take Away:
![Page 32: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/32.jpg)
What might help?
![Page 33: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/33.jpg)
![Page 34: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/34.jpg)
Software projects fail.
![Page 35: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/35.jpg)
… quite often
![Page 36: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/36.jpg)
Why?
![Page 37: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/37.jpg)
Adaption
![Page 38: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/38.jpg)
Adaption & Quality lead to success
![Page 39: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/39.jpg)
Quality Researchrequires
Quality Software
![Page 40: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/40.jpg)
“good enough” Softwarecan help produceQuality Research
![Page 41: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/41.jpg)
Starts with understanding
purpose…
![Page 42: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/42.jpg)
… and leadsto testing
![Page 43: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/43.jpg)
"Testing is the engineering rigor of software development."
-- Neal Ford
![Page 44: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/44.jpg)
Testing affects your design
![Page 45: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/45.jpg)
Flexible design grows out of making code
“testable”
![Page 46: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/46.jpg)
testing brings about higher quality
Take Away:
![Page 47: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/47.jpg)
![Page 48: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/48.jpg)
Code for Science
![Page 49: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/49.jpg)
I wasn’t always interested in
science/biology
![Page 50: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/50.jpg)
Biology is an interesting domain
![Page 51: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/51.jpg)
![Page 52: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/52.jpg)
I know too much aboutAuto titling & international trucking fees
![Page 53: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/53.jpg)
Conclusion: Act I
![Page 54: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/54.jpg)
Miscellaneous Info
• Contact Info– [email protected]– [email protected]
• Slides– Will be posted here:• http://www.slideshare.net/lenards
![Page 55: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/55.jpg)
![Page 56: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/56.jpg)
… of the community, by the community, for the community
![Page 57: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/57.jpg)
Empowering the next generation of biologist
![Page 58: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/58.jpg)
Why?
![Page 59: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/59.jpg)
The world faces tough problems
in the future
![Page 60: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/60.jpg)
Fuel/Energy
![Page 61: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/61.jpg)
Food
![Page 62: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/62.jpg)
Water Supply
![Page 63: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/63.jpg)
…
![Page 64: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/64.jpg)
Cyberinfrastructure
![Page 65: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/65.jpg)
“In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently
connecting data, computers, and people with the goal of enabling
derivation of novel scientific theories and knowledge.”
![Page 66: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/66.jpg)
Large systems designleads to diverse,
interdisciplinary teams
![Page 67: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/67.jpg)
With the direction of Computational Biology &
Bioinformatics…
![Page 68: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/68.jpg)
![Page 69: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/69.jpg)
Software Development
as aCollaborative Game
![Page 70: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/70.jpg)
Soft skills are important
![Page 71: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/71.jpg)
Speaking in tongues is not allowed
![Page 72: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/72.jpg)
Working in pairs, not just for
pair-programming ordebugging
![Page 73: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/73.jpg)
Impromptu design discussions
(they often include more than just technical folks)
![Page 74: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/74.jpg)
Conclusion: Act II
![Page 75: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/75.jpg)
![Page 76: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/76.jpg)
![Page 77: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/77.jpg)
Small team
![Page 78: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/78.jpg)
Varying backgrounds
![Page 79: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/79.jpg)
(brilliant co-workers)
![Page 80: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/80.jpg)
Diverse skill-sets
![Page 81: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/81.jpg)
What’d I get out of it?
![Page 82: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/82.jpg)
![Page 83: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/83.jpg)
![Page 84: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/84.jpg)
![Page 85: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/85.jpg)
![Page 86: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/86.jpg)
“Lone” Developer, Meet your team:
- PastYou-FutureMe
![Page 87: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/87.jpg)
![Page 88: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/88.jpg)
Systems grow & change in organic ways
(related topic: Entropy)
![Page 89: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/89.jpg)
Learned importance of unit testing
![Page 90: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/90.jpg)
“Safety net for refactoring”
![Page 91: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/91.jpg)
![Page 92: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/92.jpg)
Ruthless refactoringw/ extreme confidence
![Page 93: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/93.jpg)
Automation keepsyou & your team
honest
(Continuous Integration)
![Page 94: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/94.jpg)
Broken Window Theory
(Pragmatic Programmer)
![Page 95: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/95.jpg)
Need an infectious attitude toward
testing…
![Page 96: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/96.jpg)
Robust software is well-tested software
![Page 97: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/97.jpg)
Good day for QA ==Bad day for Dev
![Page 98: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/98.jpg)
Image Acknowledgements• “Mad Scientist Photo” of Andrew by Alex Yelich• http://www.flickr.com/photos/sskennel/4496534369/• http://upload.wikimedia.org/wikipedia/commons/3/32/Charles_Darwin_by_Elliott_and_Fry.jpg• http://en.wikipedia.org/wiki/File:Koeh-283.jpg• http://jitterypenguin.com/images01/SWG%20Screenshots/Zoee/Master%20Commando%20Skill%
20Tree.jpg• http://www.flickr.com/photos/tonivc/2283676770/• http://www.flickr.com/photos/lorelei-ranveig/2294093649/• http://www.flickr.com/photos/thatgrumguy/402041540/• http://www.flickr.com/photos/freya_gefn/2777209147/• http://www.flickr.com/photos/pkmousie/2652404430/• http://www.flickr.com/photos/sklathill/479528238/• http://commons.wikimedia.org/wiki/File:Babel_fish_badge.jpg• http://www.flickr.com/photos/lorelei-ranveig/2294093649/• http://www.flickr.com/photos/roadsidepictures/389828793/• http://www.teachforamerica.org/assets/images/img/logo_tfa.gif• “Take Away” font: http://www.dafont.com/mailart-rubberstamp.font
![Page 99: Code for science (rev 1)](https://reader033.vdocuments.mx/reader033/viewer/2022061203/547e2b0ab379597b2b8b5416/html5/thumbnails/99.jpg)
The content of this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike License. Your use of this material constitutes acceptance of that license and the conditions of use of materials on this site:
http://creativecommons.org/licenses/by-nc-sa/3.0/