code for science (rev 1)

Post on 29-Nov-2014

496 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides that accompanied a talk given to undergraduate biologists and computer scientists.

TRANSCRIPT

Code forScience

Andrew LenardsJune 24, 2010

slideshare.net/lenards

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)

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

Hybrid Vigor

Computational ___________

Computational _Thinking_

Computational _Biology_

Computational _Gardening_

Computational _Gardening_

Bio________

Biofuels

Biochemistry

Biophysics

Bioinformatics

What do you expectwhen you graduate?

… for the computer sciencemajors

Myth of the Lone

Developer

in-practice: lots of interaction w/ technical& non-technical people

Communication is amajor challenge

Take Away:

What might help?

Software projects fail.

… quite often

Why?

Adaption

Adaption & Quality lead to success

Quality Researchrequires

Quality Software

“good enough” Softwarecan help produceQuality Research

Starts with understanding

purpose…

… and leadsto testing

"Testing is the engineering rigor of software development."

-- Neal Ford

Testing affects your design

Flexible design grows out of making code

“testable”

testing brings about higher quality

Take Away:

Code for Science

I wasn’t always interested in

science/biology

Biology is an interesting domain

I know too much aboutAuto titling & international trucking fees

Conclusion: Act I

Miscellaneous Info

• Contact Info– lenards@iplantcollaborative.org– lenards@email.arizona.edu

• Slides– Will be posted here:• http://www.slideshare.net/lenards

… of the community, by the community, for the community

Empowering the next generation of biologist

Why?

The world faces tough problems

in the future

Fuel/Energy

Food

Water Supply

Cyberinfrastructure

“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.”

Large systems designleads to diverse,

interdisciplinary teams

With the direction of Computational Biology &

Bioinformatics…

Software Development

as aCollaborative Game

Soft skills are important

Speaking in tongues is not allowed

Working in pairs, not just for

pair-programming ordebugging

Impromptu design discussions

(they often include more than just technical folks)

Conclusion: Act II

Small team

Varying backgrounds

(brilliant co-workers)

Diverse skill-sets

What’d I get out of it?

“Lone” Developer, Meet your team:

- PastYou-FutureMe

Systems grow & change in organic ways

(related topic: Entropy)

Learned importance of unit testing

“Safety net for refactoring”

Ruthless refactoringw/ extreme confidence

Automation keepsyou & your team

honest

(Continuous Integration)

Broken Window Theory

(Pragmatic Programmer)

Need an infectious attitude toward

testing…

Robust software is well-tested software

Good day for QA ==Bad day for Dev

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

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/

top related